<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<?xml-stylesheet href="./_c74_ref.xsl" type="text/xsl"?>
<!--This is an automatically generated file. DO NOT EDIT THIS FILE DIRECTLY.-->
<c74object module="rnbo" kind="rnboobject" name="fzero~" category="Analysis">
<!--METADATA-->
<metadatalist>
<metadata name="author">Cycling '74</metadata>
<metadata name="tag">RNBO</metadata>
<metadata name="tag">RNBO FFT</metadata>
<metadata name="tag">RNBO Analysis</metadata>
</metadatalist>
<digest>Fundamental frequency estimation</digest>
<description><p>
The fzero~ object estimates the fundamental frequency of an an incoming,
monophonic audio signal. It performs multiple layers of wavelet transforms
on an incoming vector, comparing the spacing between the peaks in each.
</p></description>
<!--ARGUMENTS-->
<!--NONE-->
<!--OPTIONS-->
<rnbooptionlist>
<option name="autolength" size="1" type="int">
<digest>autolength</digest>
<attributelist>
<attribute name="default" type="int" value="128"></attribute>
</attributelist>

</option>
<option name="autolevel" size="1" type="int">
<digest>Sets the level at which to perform autocorrelation analysis.</digest>
<attributelist>
<attribute name="default" type="int" value="1"></attribute>
</attributelist>

</option>
<option name="bufmax" size="1" type="int">
<digest>Sets the maximum buffer size.</digest>
<attributelist>
<attribute name="default" type="int" value="4096"></attribute>
</attributelist>

</option>
<option name="freqmax" size="1" type="number">
<digest>The maximum frequency, in Hertz, that the object will report.</digest>
<attributelist>
<attribute name="default" type="number" value="2500"></attribute>
</attributelist>

</option>
<option name="freqmin" size="1" type="number">
<digest>The minimum frequency, in Hertz, that the object will report.</digest>
<attributelist>
<attribute name="default" type="number" value="20"></attribute>
</attributelist>

</option>
<option name="levels" size="1" type="int">
<digest>levels</digest>
<attributelist>
<attribute name="default" type="int" value="5"></attribute>
</attributelist>

</option>
<option name="onsetamp" size="1" type="number">
<digest>fzero~ gives a bang or list out the right outlet when a new event crosses this amplitude threshold.</digest>
<attributelist>
<attribute name="default" type="number" value="0.1"></attribute>
</attributelist>

</option>
<option name="onsetmode" size="1" type="enum">
<digest>Onset detector output: bang or list (pitch, amplitude).</digest>
<attributelist>
<attribute name="enumvals">
<enumlist get="1" set="1" type="atom">
<enum name="bang"></enum>
<enum name="list"></enum>
</enumlist>
</attribute>
<attribute name="default" type="enum" value="bang"></attribute>
</attributelist>

</option>
<option name="onsetperiod" size="1" type="enum">
<digest>This attribute sets the minimum number of samples between reporting any offsets.</digest>
<attributelist>
<attribute name="enumvals">
<enumlist get="1" set="1" type="atom">
<enum name="16"></enum>
<enum name="32"></enum>
<enum name="64"></enum>
<enum name="128"></enum>
<enum name="256"></enum>
<enum name="512"></enum>
<enum name="1024"></enum>
<enum name="2048"></enum>
<enum name="4096"></enum>
</enumlist>
</attribute>
<attribute name="default" type="enum" value="1024"></attribute>
</attributelist>

</option>
<option name="onsetpitch" size="1" type="number">
<digest>fzero~ gives a bang or list out the right outlet when the frequency changes by this amount, in in MIDI notes.</digest>
<attributelist>
<attribute name="default" type="number" value="0.8"></attribute>
</attributelist>

</option>
<option name="period" size="1" type="enum">
<digest>Sets the time period between analyses in samples.</digest>
<attributelist>
<attribute name="enumvals">
<enumlist get="1" set="1" type="atom">
<enum name="16"></enum>
<enum name="32"></enum>
<enum name="64"></enum>
<enum name="128"></enum>
<enum name="256"></enum>
<enum name="512"></enum>
<enum name="1024"></enum>
<enum name="2048"></enum>
<enum name="4096"></enum>
</enumlist>
</attribute>
<attribute name="default" type="enum" value="256"></attribute>
</attributelist>

</option>
<option name="size" size="1" type="enum">
<digest>Sets the buffer size to specify how many samples are analyzed each time.</digest>
<attributelist>
<attribute name="enumvals">
<enumlist get="1" set="1" type="atom">
<enum name="128"></enum>
<enum name="256"></enum>
<enum name="512"></enum>
<enum name="1024"></enum>
<enum name="2048"></enum>
<enum name="4096"></enum>
</enumlist>
</attribute>
<attribute name="default" type="enum" value="2048"></attribute>
</attributelist>

</option>
</rnbooptionlist>
<!--ATTRIBUTES-->
<rnboattributelist>
<attribute name="input" size="1" type="signal">
<digest>The signal to be analyzed</digest>

</attribute>
<attribute name="noisethresh" size="1" type="number">
<digest>Minimum amplitude for reporting pitches and onsets. If the peak amplitude of the buffer is below this threshold, then fzero~ will report nothing.</digest>
<attributelist>
<attribute name="default" type="number" value="0.1"></attribute>
</attributelist>

</attribute>
</rnboattributelist>
<!--INLETS-->
<rnboinletlist>
<inlet id="inlet_input" name="input" type="signal">
<digest>The signal to be analyzed</digest>

</inlet>
</rnboinletlist>
<!--OUTLETS-->
<rnbooutletlist>
<outlet id="outlet_pitch" name="pitch" type="number">
<digest>Estimated fundamental frequency.</digest>

</outlet>
<outlet id="outlet_amplitude" name="amplitude" type="number">
<digest>Peak amplitude in analysis vector.</digest>

</outlet>
<outlet id="outlet_onset" name="onset" type="bang, list">
<digest>Onset detected.</digest>

</outlet>
</rnbooutletlist>
<!--SEE ALSO-->
<seealsolist>
<seealso name="rnbo_fftstream~" type="rnborefpage" module="RNBO" display="fftstream~"></seealso>
<seealso name="rnbo_ftom" type="rnborefpage" module="RNBO" display="ftom"></seealso>
<seealso name="rnbo_peakamp~" type="rnborefpage" module="RNBO" display="peakamp~"></seealso>
<seealso name="rnbo_thresh~" type="rnborefpage" module="RNBO" display="thresh~"></seealso>
<seealso name="fzero~" type="refpage" module="MSP"></seealso>
<seealso name="retune~" type="refpage" module="MSP"></seealso>
</seealsolist>
</c74object>