Forgot a help fix: Drag a dock's title bar, not divider, to reposition
[supercollider.git] / HelpSource / Classes / HilbertFIR.schelp
blob07ef270f0286f89225217e4b4f1f4864d0f6daf6
1 class:: HilbertFIR
2 summary:: Applies the Hilbert transform to an input signal.
3 related:: Classes/Hilbert, Classes/FreqShift
4 categories::  UGens>Filters>Nonlinear
7 Description::
9 Returns two channels with the original signal and a copy of that signal that has been shifted in phase by 90 degrees (0.5 pi radians). HilbertFIR outputs two channels containing the input signal and the transformed signal. HilbertFIR uses FFTs and a 90 degree phase shift to transform the signal, and results in a delay equal to the size of the buffer used for the FFT divided by the sample rate. The Hilbert UGen has less delay, but distorts in the upper octace of the frequency spectrum.
12 classmethods::
14 method::ar
16 argument::in
18 The input signal to transform.
21 argument::buffer
23 A Buffer to be used for the inter FFT processing. Best results with a size of 1024 or 2048. 1024 gives an acceptable result (though a little choppy), 2048 is much smoother but creates more delay.
26 code::
27 s = Server.internal.boot;
28 s.scope;
29 b - Buffer.alloc(s, 2048);
30 a = {HilbertFIR.ar(SinOsc.ar(100), b)}.play(s);
31 a.release;