<?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. Rather, use the _ref.xml files found in the 'edits' folder.-->
<c74object name="svf~" module="msp" category="MSP Filters">
	<digest>
		State-variable filter with simultaneous outputs
	</digest>
	<description>
		The <o>svf~</o> object is an implementation of a state-variable filter algorithm described in Hal Chamberlin's book, &quot;Musical Applications of Microprocessors.&quot; A unique feature of this filter object is that it produces lowpass, highpass, bandpass, and bandreject (notch) output simultaneously - all four are available as outlets.
	</description>
	<!--METADATA-->
	<metadatalist>
		<metadata name="author">
			Cycling '74
		</metadata>
		<metadata name="tag">
			MSP
		</metadata>
		<metadata name="tag">
			MSP Filters
		</metadata>
	</metadatalist>
	<!--INLETS-->
	<inletlist>
		<inlet id="0" type="signal">
			<digest>
				(signal) Input
			</digest>
			<description>
				TEXT_HERE
			</description>
		</inlet>
		<inlet id="1" type="signal/float">
			<digest>
				(signal/float) Cutoff Frequency (Hz)
			</digest>
			<description>
				TEXT_HERE
			</description>
		</inlet>
		<inlet id="2" type="signal/float">
			<digest>
				(signal/float) Resonance (0-1)
			</digest>
			<description>
				TEXT_HERE
			</description>
		</inlet>
	</inletlist>
	<!--OUTLETS-->
	<outletlist>
		<outlet id="0" type="signal">
			<digest>
				(signal) Low-pass Output
			</digest>
			<description>
				TEXT_HERE
			</description>
		</outlet>
		<outlet id="1" type="signal">
			<digest>
				(signal) High-pass Output
			</digest>
			<description>
				TEXT_HERE
			</description>
		</outlet>
		<outlet id="2" type="signal">
			<digest>
				(signal) Band-pass Output
			</digest>
			<description>
				TEXT_HERE
			</description>
		</outlet>
		<outlet id="3" type="signal">
			<digest>
				(signal) Notch Output
			</digest>
			<description>
				TEXT_HERE
			</description>
		</outlet>
	</outletlist>
	<!--ARGUMENTS-->
	<objarglist>
		<objarg name="center-frequency" optional="1" units="hz" type="float">
			<digest>
				Center frequency for filter
			</digest>
			<description>
				Sets the initial center frequency for the filter. The default value is 0.
			</description>
		</objarg>
		<objarg name="resonance" optional="1" type="float">
			<digest>
				Resonance for filter
			</digest>
			<description>
				Sets the initial resonance value for the filter. The default value is 0.01.
			</description>
		</objarg>
		<objarg name="Hz" optional="1" type="symbol">
			<digest>
				Set Hz frequency input mode
			</digest>
			<description>
				Sets the frequency input mode to Hz (the default mode - hence this is the same as providing no mode argument).
			</description>
		</objarg>
		<objarg name="linear" optional="1" type="symbol">
			<digest>
				Set linear frequency input mode
			</digest>
			<description>
				Sets the frequency input mode to linear (0 -1).
			</description>
		</objarg>
		<objarg name="radians" optional="1" type="symbol">
			<digest>
				Set frequency input mode in radians
			</digest>
			<description>
				Sets the frequency input mode to radians (0 -1).
			</description>
		</objarg>
	</objarglist>
	<!--MESSAGES-->
	<methodlist>
		<method name="int">
			<arglist>
				<arg name="center-frequency/resonance" optional="0" type="int" />
			</arglist>
			<digest>
				Function depends on inlet
			</digest>
			<description>
				In middle and right inlets: Integer values are converted to floats and can be sent in the two right inlets to change the center frequency and resonance of the filter. By default, the center frequency is expressed in Hz, where the allowable range is from 0 to one quarter of the current sampling rate. If a signal is connected to one of the inlets, a number received in that inlet is ignored. The values are sampled once every signal vector.
			</description>
		</method>
		<method name="float">
			<arglist>
				<arg name="center-frequency/resonance" optional="0" type="float" />
			</arglist>
			<digest>
				Function depends on inlet
			</digest>
			<description>
				In middle and right inlets: A <m>float</m> can be sent in the two right inlets to change the center frequency and resonance of the filter. By default, the center frequency is expressed in Hz, where the allowable range is from 0 to one quarter of the current sampling rate. For convenience, <o>svf~</o> has two additional input modes that use the more conventional input range, 0 - 1. (see the <m>linear</m> and <m>radians</m> messages). If a signal is connected to one of the inlets, a number received in that inlet is ignored. The values are sampled once every signal vector.
			</description>
		</method>
		<method name="Hz">
			<arglist />
			<digest>
				Set the frequency input mode to Hz
			</digest>
			<description>
				In either inlet: Sets the frequency input mode to Hz (the default).
			</description>
		</method>
		<method name="clear">
			<arglist />
			<digest>
				Clear the sample memory
			</digest>
			<description>
				Clears the object's sample-memory in case of a blow-up.
			</description>
		</method>
		<method name="linear">
			<arglist />
			<digest>
				Set the frequency input mode to linear
			</digest>
			<description>
				In any inlet: Sets the frequency input mode to linear (0 - 1). Linear mode is simply a scaled version of the standard Hz mode, except that values in the 0-1 range traverse the full frequency range.
			</description>
		</method>
		<method name="radians">
			<arglist />
			<digest>
				Set the frequency input mode to radians
			</digest>
			<description>
				In any inlet: Sets the frequency input mode to radians (0 - 1). Radians mode lets you set the center frequency directly -- while the input has the same range (0-1), the output has a curved frequency response that is closer to the exponential pitch scale of the human ear.
			</description>
		</method>
		<method name="signal">
			<arglist />
			<digest>
				Function depends on inlet
			</digest>
			<description>
				In left inlet: Signal to be filtered.
				<br />
				<br />
				In middle inlet: Sets the filter center frequency in Hz.
				<br />
				<br />
				In right inlet: Sets the bandpass filter &quot;Q&quot; - roughly, the sharpness of the filter - where Q is defined as the filter bandwidth divided by the center frequency. Useful Q values for svf~ are typically between 0.01 and 1.
			</description>
		</method>
	</methodlist>
	<!--ATTRIBUTES-->
	<!--EXAMPLE-->
	<examplelist>
		<example img="svf~.png" caption="Four filter outputs are simultaneously available from the svf~ object" />
	</examplelist>
	<!--SEEALSO-->
	<seealsolist>
		<seealso name="biquad~" />
		<seealso name="comb~" />
		<seealso name="cross~" />
		<seealso name="onepole~" />
		<seealso name="lores~" />
		<seealso name="reson~" />
		<seealso name="svf~" />
		<seealso name="audio_filtering" module="core" type="vignette" />
	</seealsolist>
	<misc name="Output">
		<entry name="signal">
			<description>
				The filtered input signal.
			</description>
		</entry>
	</misc>
</c74object>
