You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
63 lines
2.9 KiB
63 lines
2.9 KiB
8 years ago
|
<script type="text/x-red" data-help-name="AudioEffectFlange">
|
||
|
<h3>Summary</h3>
|
||
|
<div class=tooltipinfo>
|
||
|
<p>Originally, flanging was produced by playing the same signal on two synchronized
|
||
|
reel-to-reel tape recorders and making one of the reels slow down and speed up by
|
||
|
pressing on the flange of the reel (hence the name). This is a type of
|
||
|
comb filtering, and produces a harmonically-related series of peaks and notches
|
||
|
in the audio spectrum.</p>
|
||
|
</div>
|
||
|
<p>This flanger uses a delay line, combining the original voice with only one sample from the delay
|
||
|
line, but the position of that sample varies sinusoidally.</p>
|
||
|
<p>The effect can be represented as:<br>
|
||
|
result = sample(0) + sample(dt + depth*sin(2*PI*Fe))</p>
|
||
|
<p>The value of the sine function is always a number from -1 to +1 and
|
||
|
so the result of depth*(sin(Fe)) is always a number from -depth to +depth.
|
||
|
Thus, the delayed sample will be selected from the range (dt-depth) to
|
||
|
(dt+depth). This selection will vary at whatever rate is specified as the
|
||
|
frequency of the effect, Fe. Typically a low frequency (a few Hertz) is used.
|
||
|
<h3>Audio Connections</h3>
|
||
|
<table class=doc align=center cellpadding=3>
|
||
|
<tr class="top"><th>Port</th><th>Purpose</th></tr>
|
||
|
<tr class="odd"><td align="center">In 0</td><td>Signal Input</td></tr>
|
||
|
<tr class="odd"><td align="center">Out 0</td><td>Flanged Output</td></tr>
|
||
|
</table>
|
||
|
<h3>Functions</h3>
|
||
|
<p class=func><span class=keyword>begin</span>(delayBuffer, length, offset, depth, delayRate);</p>
|
||
|
<p class=desc>Create a flanger by specifying the address of the delayline, the
|
||
|
total number of samples in the delay line (often done as an integer multiple of
|
||
|
AUDIO_BLOCK_SAMPLES), the offset (how far back the flanged sample is from the original voice),
|
||
|
the modulation depth (larger values give a greater variation) and the modulation
|
||
|
frequency, in Hertz.
|
||
|
</p>
|
||
|
<p class=func><span class=keyword>voices</span>(offset, depth, delayRate);</p>
|
||
|
<p class=desc>Alters the parameters in a running flanger (previously started with begin).
|
||
|
</p>
|
||
|
|
||
|
<h3>Examples</h3>
|
||
|
<p class=exam>File > Examples > Audio > Effects > Flange
|
||
|
</p>
|
||
|
<h3>Notes</h3>
|
||
|
<p>The longer the length of the delay buffer, the more memory blocks are used.</p>
|
||
|
<p>Try these settings:<br>
|
||
|
#define FLANGE_DELAY_LENGTH (2*AUDIO_BLOCK_SAMPLES)<br>
|
||
|
and<br>
|
||
|
int s_idx = 2*FLANGE_DELAY_LENGTH/4;<br>
|
||
|
int s_depth = FLANGE_DELAY_LENGTH/4;<br>
|
||
|
double s_freq = 3;</p>
|
||
|
<p>The flange effect can also produce a chorus-like effect if a longer
|
||
|
delay line is used with a slower modulation rate, for example try:<br>
|
||
|
#define FLANGE_DELAY_LENGTH (12*AUDIO_BLOCK_SAMPLES)<br>
|
||
|
and<br>
|
||
|
int s_idx = 3*FLANGE_DELAY_LENGTH/4;<br>
|
||
|
int s_depth = FLANGE_DELAY_LENGTH/8;<br>
|
||
|
double s_freq = .0625;</p>
|
||
|
</script>
|
||
|
<script type="text/x-red" data-template-name="AudioEffectFlange">
|
||
|
<div class="form-row">
|
||
|
<label for="node-input-name"><i class="fa fa-tag"></i> Name</label>
|
||
|
<input type="text" id="node-input-name" placeholder="Name">
|
||
|
</div>
|
||
|
</script>
|
||
|
|