瀏覽代碼

Add ladder filter to design tool

dds
PaulStoffregen 3 年之前
父節點
當前提交
f2867e9b85
共有 2 個檔案被更改,包括 65 行新增1 行删除
  1. 二進制
      gui/img/ladder.png
  2. +65
    -1
      gui/index.html

二進制
gui/img/ladder.png 查看文件

Before After
Width: 240  |  Height: 161  |  Size: 17KB

+ 65
- 1
gui/index.html 查看文件

@@ -528,6 +528,7 @@ span.mainfunction {color: #993300; font-weight: bolder}
{"type":"AudioFilterBiquad","data":{"defaults":{"name":{"value":"new"}},"shortName":"biquad","inputs":1,"outputs":1,"category":"filter-function","color":"#E6E0F8","icon":"arrow-in.png"}},
{"type":"AudioFilterFIR","data":{"defaults":{"name":{"value":"new"}},"shortName":"fir","inputs":1,"outputs":1,"category":"filter-function","color":"#E6E0F8","icon":"arrow-in.png"}},
{"type":"AudioFilterStateVariable","data":{"defaults":{"name":{"value":"new"}},"shortName":"filter","inputs":2,"outputs":3,"category":"filter-function","color":"#E6E0F8","icon":"arrow-in.png"}},
{"type":"AudioFilterLadder","data":{"defaults":{"name":{"value":"new"}},"shortName":"ladder","inputs":3,"outputs":1,"category":"filter-function","color":"#E6E0F8","icon":"arrow-in.png"}},
{"type":"AudioAnalyzePeak","data":{"defaults":{"name":{"value":"new"}},"shortName":"peak","inputs":1,"outputs":0,"category":"analyze-function","color":"#E6E0F8","icon":"arrow-in.png"}},
{"type":"AudioAnalyzeRMS","data":{"defaults":{"name":{"value":"new"}},"shortName":"rms","inputs":1,"outputs":0,"category":"analyze-function","color":"#E6E0F8","icon":"arrow-in.png"}},
{"type":"AudioAnalyzeFFT256","data":{"defaults":{"name":{"value":"new"}},"shortName":"fft256","inputs":1,"outputs":0,"category":"analyze-function","color":"#E6E0F8","icon":"arrow-in.png"}},
@@ -4503,7 +4504,7 @@ double s_freq = .0625;</p>
</p>
<p class=func><span class=keyword>octaveControl</span>(octaves);</p>
<p class=desc>Set how much (in octaves) the control signal can alter
the filter's corner freqency. Range is 0 to 7 octaves. For
the filter's corner frequency. Range is 0 to 7 octaves. For
example, when set to 2.5, a full scale positive signal (1.0) will
shift the filter frequency up 2.5 octaves, and a full scale negative
signal will shift it down 2.5 octaves.
@@ -4532,6 +4533,69 @@ double s_freq = .0625;</p>
</div>
</script>


<script type="text/x-red" data-help-name="AudioFilterLadder">
<h3>Summary</h3>
<div class=tooltipinfo>
<p>A low pass filter with resonant feedback, meant to approximate the
classic "Moog sound". Both cut-off frequency and resonance level
can optionally be controlled by input audio signals.
</p>
<p align=center><img src="img/ladder.png"></p>
</div>
<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 to Filter</td></tr>
<tr class=odd><td align=center>In 1</td><td>Frequency Control</td></tr>
<tr class=odd><td align=center>In 2</td><td>Resonance Control</td></tr>
<tr class=odd><td align=center>Out 0</td><td>Low Pass Output</td></tr>
</table>
<h3>Functions</h3>
<p class=func><span class=keyword>frequency</span>(freq);</p>
<p class=desc>Set the filter's corner frequency. When a signal is
connected to the frequency control input, this setting is
the corner frequency the filter will implement
when the signal is zero.
</p>
<p class=func><span class=keyword>octaveControl</span>(octaves);</p>
<p class=desc>Set how much (in octaves) the control signal can alter
the filter's corner frequency. Range is 0 to 7 octaves. For
example, when set to 2.5, a full scale positive signal (1.0) will
shift the filter frequency up 2.5 octaves, and a full scale negative
signal will shift it down 2.5 octaves.
</p>
<p class=func><span class=keyword>resonance</span>(level);</p>
<p class=desc>Set the filter's feedback level for resonance. The
usable range is 0 to 1.1, where values over 1.0 can cause
the filter to self oscillate. When an audio signal is present
at the resonance control input, it overrides this setting.
Only positive signal values are used. A full scale 1.0 signal
creates resonance setting 1.1 (self oscillation).
Any negative signal input is treated as zero.
</p>
<h3>Examples</h3>
<p class=exam>File &gt; Examples &gt; Audio &gt; Synthesis &gt; LadderFilter
</p>
<h3>Notes</h3>
<p>
When controlled by a signal, the equation for the filter
frequency is:
</p>
<p>
<img src="img/filter_formula.png">
</p>
<p>This filter uses floating point math. It is recommended for use
on Teensy 4.0 or higher.
</p>
</script>
<script type="text/x-red" data-template-name="AudioFilterLadder">
<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>

<script type="text/x-red" data-help-name="AudioAnalyzePeak">
<h3>Summary</h3>
<div class=tooltipinfo>

Loading…
取消
儲存