|
- <!-- vim: set ts=4: -->
- <!-- TODO: generate some or all of this automatically from the C++ source -->
-
- <!-- TODO: add a field for maximum instance count -->
- <!-- TODO: add a field for exclusive to other objects (not allowed if they're used) -->
- <!-- TODO: add "parameters" fields, to replace the form html stuff -->
-
- <script type="text/javascript">
- RED.nodes.registerType('AnalogInputI2S',{
- shortName: "i2s",
- inputs:0,
- outputs:2,
- category: 'input-function',
- color:"#E6E0F8",
- icon: "arrow-in.png"
- });
- </script>
- <script type="text/x-red" data-help-name="AnalogInputI2S">
- <h3>Summary</h3>
- <p>Receive 16 bit stereo audio from the
- <a href="http://www.pjrc.com/store/teensy3_audio.html" target="_blank">audio shield</a>
- or another I2S device, using I2S master mode.</p>
- <p align=center><img src="audioshield_inputs.jpg"></p>
- <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>Out 0</td><td>Left Channel</td></tr>
- <tr class=odd><td align=center>Out 1</td><td>Right Channel</td></tr>
- </table>
- <h3>Functions</h3>
- <p>This object has no functions to call from the Arduino sketch. It
- simply streams data from the I2S hardware to its 2 output ports.</p>
- <h3>Hardware</h3>
- <p align=center><img src="audioshield_backside.jpg"></p>
- <p>The I2S signals are used in "master" mode, where Teensy creates
- all 3 clock signals and controls all data timing.</p>
- <table class=doc align=center cellpadding=3>
- <tr class=top><th>Pin</th><th>Signal</th><th>Direction</th></tr>
- <tr class=odd><td align=center>9</td><td>BCLK</td><td>Output</td></tr>
- <tr class=odd><td align=center>11</td><td>MCLK</td><td>Output</td></tr>
- <tr class=odd><td align=center>13</td><td>RX</td><td>Input</td></tr>
- <tr class=odd><td align=center>23</td><td>LRCLK</td><td>Output</td></tr>
- </table>
- <p>Audio from
- master mode I2S may be used in the same project as ADC, DAC and
- PWM signals, because all remain in sync to Teensy's timing</p>
- <h3>Notes</h3>
- <p>Normally, this object is used with the Audio Shield, which
- is controlled separately by the "sgtl5000" object.</p>
- </script>
- <script type="text/x-red" data-template-name="AnalogInputI2S">
- <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/javascript">
- RED.nodes.registerType('AnalogInputI2Sslave',{
- shortName: "i2ss",
- inputs:0,
- outputs:2,
- category: 'input-function',
- color:"#E6E0F8",
- icon: "arrow-in.png"
- });
- </script>
- <script type="text/x-red" data-help-name="AnalogInputI2Sslave">
- <h3>Summary</h3>
- <p>Receive 16 bit stereo audio from an I2S device using I2S slave mode.</p>
- <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>Out 0</td><td>Left Channel</td></tr>
- <tr class=odd><td align=center>Out 1</td><td>Right Channel</td></tr>
- </table>
- <h3>Functions</h3>
- <p>This object has no functions to call from the Arduino sketch. It
- simply streams data from the I2S hardware to its 2 output ports.</p>
- <h3>Hardware</h3>
- <p>The I2S signals are used in "slave" mode, where the I2S device controls
- data timing.</p>
- <table class=doc align=center cellpadding=3>
- <tr class=top><th>Pin</th><th>Signal</th><th>Direction</th></tr>
- <tr class=odd><td align=center>9</td><td>BCLK</td><td>Input</td></tr>
- <tr class=odd><td align=center>13</td><td>RX</td><td>Input</td></tr>
- <tr class=odd><td align=center>23</td><td>LRCLK</td><td>Input</td></tr>
- </table>
- <p>Slave mode I2S <b>should not used in the same project as ADC, DAC and
- PWM</b> signals. Differences in timing between the I2S device and
- Teensy's clock can cause occasional audio glitches when I2S slave mode
- is used together with other input or output objects based on Teensy's
- timing.</p>
- </script>
- <script type="text/x-red" data-template-name="AnalogInputI2Sslave">
- <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/javascript">
- RED.nodes.registerType('AnalogInputADC',{
- shortName: "adc",
- inputs:0,
- outputs:1,
- category: 'input-function',
- color:"#E6E0F8",
- icon: "arrow-in.png"
- });
- </script>
- <script type="text/x-red" data-help-name="AnalogInputADC">
- <h3>Summary</h3>
- <p>Receive audio using the built-in analog to digital converter.</p>
- <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>Out 0</td><td>Audio Channel</td></tr>
- </table>
- <h3>Parameters</h3>
- <table class=doc align=center cellpadding=3>
- <tr class=top><th>Name</th><th>Type</th><th>Function</th></tr>
- <tr class=odd><td align=center>Pin</td><td>Integer</td><td>Analog Pin To Use</td></tr>
- </table>
- <p>The pin number should be specified as "A0" to "A20"</p>
- <p align=center><img src="adcpins2.jpg"></p>
- <p align=center><img src="adcpins1.jpg"></p>
- <h3>Functions</h3>
- <p>This object has no functions to call from the Arduino sketch. It
- simply streams data from the ADC to its output port.</p>
- <h3>Hardware</h3>
- <p>Signal range is 0 to 1.2V</p>
- <p>Need for DC bias, approx 0.6V</p>
- <p>TODO: suggested circuity for signal input</p>
- <h3>Notes</h3>
- <p>Algorithm for automatic DC bias tracking</p>
- <p>Noise due to high source impedance</p>
- <p>Power Supply rejection issue with simple DC bias</p>
- <p>TODO: actual noise measurements with different input circuitry
- (it's not nearly as quiet as the audio shield)</p>
- </script>
- <script type="text/x-red" data-template-name="AnalogInputADC">
- <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/javascript">
- RED.nodes.registerType('AnalogOutputI2S',{
- shortName: "i2s",
- inputs:2,
- outputs:0,
- category: 'output-function',
- color:"#E6E0F8",
- icon: "arrow-in.png"
- });
- </script>
- <script type="text/x-red" data-help-name="AnalogOutputI2S">
- <h3>Summary</h3>
- <p>Transmit 16 bit stereo audio from the
- <a href="http://www.pjrc.com/store/teensy3_audio.html" target="_blank">audio shield</a>
- or another I2S device, using I2S master mode.</p>
- <p align=center><img src="audioshield_outputs.jpg"></p>
- <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>Left Channel</td></tr>
- <tr class=odd><td align=center>In 1</td><td>Right Channel</td></tr>
- </table>
- <h3>Functions</h3>
- <p>This object has no functions to call from the Arduino sketch. It
- simply streams data from its 2 input ports to the I2S hardware.</p>
- <h3>Hardware</h3>
- <p align=center><img src="audioshield_backside.jpg"></p>
- <p>The I2S signals are used in "master" mode, where Teensy creates
- all 3 clock signals and controls all data timing.</p>
- <table class=doc align=center cellpadding=3>
- <tr class=top><th>Pin</th><th>Signal</th><th>Direction</th></tr>
- <tr class=odd><td align=center>9</td><td>BCLK</td><td>Output</td></tr>
- <tr class=odd><td align=center>11</td><td>MCLK</td><td>Output</td></tr>
- <tr class=odd><td align=center>22</td><td>TX</td><td>Output</td></tr>
- <tr class=odd><td align=center>23</td><td>LRCLK</td><td>Output</td></tr>
- </table>
- <p>Audio from
- master mode I2S may be used in the same project as ADC, DAC and
- PWM signals, because all remain in sync to Teensy's timing</p>
- <h3>Notes</h3>
- <p>Normally, this object is used with the Audio Shield, which
- is controlled separately by the "sgtl5000" object.</p>
- </script>
- <script type="text/x-red" data-template-name="AnalogOutputI2S">
- <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/javascript">
- RED.nodes.registerType('AnalogOutputI2Sslave',{
- shortName: "i2ss",
- inputs:2,
- outputs:0,
- category: 'output-function',
- color:"#E6E0F8",
- icon: "arrow-in.png"
- });
- </script>
- <script type="text/x-red" data-help-name="AnalogOutputI2Sslave">
- <h3>Summary</h3>
- <p>Transmit 16 bit stereo audio from an I2S device using I2S slave mode.</p>
- <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>Left Channel</td></tr>
- <tr class=odd><td align=center>In 1</td><td>Right Channel</td></tr>
- </table>
- <h3>Functions</h3>
- <p>This object has no functions to call from the Arduino sketch. It
- simply streams data from its 2 input ports to the I2S hardware.</p>
- <h3>Hardware</h3>
- <p>The I2S signals are used in "slave" mode, where the I2S device controls
- data timing.</p>
- <table class=doc align=center cellpadding=3>
- <tr class=top><th>Pin</th><th>Signal</th><th>Direction</th></tr>
- <tr class=odd><td align=center>9</td><td>BCLK</td><td>Input</td></tr>
- <tr class=odd><td align=center>22</td><td>TX</td><td>Output</td></tr>
- <tr class=odd><td align=center>23</td><td>LRCLK</td><td>Input</td></tr>
- </table>
- <p>Slave mode I2S <b>should not used in the same project as ADC, DAC and
- PWM</b> signals. Differences in timing between the I2S device and
- Teensy's clock can cause occasional audio glitches when I2S slave mode
- is used together with other input or output objects based on Teensy's
- timing.</p>
- </script>
- <script type="text/x-red" data-template-name="AnalogOutputI2Sslave">
- <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/javascript">
- RED.nodes.registerType('AnalogOutputAnalog',{
- shortName: "dac",
- inputs:1,
- outputs:0,
- category: 'output-function',
- color:"#E6E0F8",
- icon: "arrow-in.png"
- });
- </script>
- <script type="text/x-red" data-help-name="AnalogOutputAnalog">
- <h3>Summary</h3>
- <p>Transmit 12 bit audio using Teensy 3.1's built-in digital to analog converter.</p>
- <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>Audio Channel</td></tr>
- </table>
- <h3>Functions</h3>
- <p>This object has no functions to call from the Arduino sketch. It
- simply streams data from the ADC to its output port.</p>
- <h3>Hardware</h3>
- <p align=center><img src="dacpin.jpg"></p>
- <p>Signal range is 0 to 1.2V</p>
- <p>Most applications require at least a 10µF DC-blocking capacitor.</p>
- <p>TODO: photo of Teensy 3.1 with 10µF capacitor and 3.5mm jack.</p>
- <h3>Notes</h3>
- <p>The output rate is 44.1 kHz (no oversampling). Ultrasonic noise present if
- not filtered. This may not
- be an issue for many uses, but care should be used if amplified and driven
- to high power tweeters.</p>
- </script>
- <script type="text/x-red" data-template-name="AnalogOutputAnalog">
- <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/javascript">
- RED.nodes.registerType('AnalogOutputPWM',{
- shortName: "pwm",
- inputs:1,
- outputs:0,
- category: 'output-function',
- color:"#E6E0F8",
- icon: "arrow-in.png"
- });
- </script>
- <script type="text/x-red" data-help-name="AnalogOutputPWM">
- <h3>Summary</h3>
- <p>Transmit audio using Teensy 3.1's PWM pins. Two pins are
- used for coarse and fine pulses, to be combined by scaled
- resistors.</p>
- <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>Audio Channel</td></tr>
- </table>
- <h3>Functions</h3>
- <p>This object has no functions to call from the Arduino sketch. It
- simply streams data from the ADC to its output port.</p>
- <h3>Hardware</h3>
- <p>The following circuit is recommended.</p>
- <p align=center><img src="pwmdualcircuit.jpg"></p>
- <p>Signal range is approx 1.55 Vp-p.</p>
- <p>These resistor values assume approx 20 ohms output impedance
- on the digital pins. The 127K resistor may be adjusted or
- trimmed for variation in output drive and tolerance on the
- 475 ohm resistor.</p>
- <p>A plastic film (Polypropylene, Polyethylene, Polyester, etc) or
- C0G/NPO ceramic capacitor should be used for filtering. Low
- quality ceramic (X7R, Y5V, Z5U, etc) can cause signal distortion.</p>
- <h3>Notes</h3>
- <p>The PWM carrier frequency is 88.2 kHz. The suggested circuit
- will only slightly filter the carrier. Extra filtering will be
- required for a clean signals without the ultrasonic PWM carrier.
- </p>
- <p>Analog signals created by filtering PWM waveforms use the digital
- power supply as their reference voltage. Any noise on the digital
- power line can directly couple to the output signal. The built-in DAC or
- <a href="http://www.pjrc.com/store/teensy3_audio.html" target="_blank">audio shield</a>
- should be used when higher quality signals are needed.</p>
- </script>
- <script type="text/x-red" data-template-name="AnalogOutputPWM">
- <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/javascript">
- RED.nodes.registerType('AudioMixer4',{
- shortName: "mixer",
- inputs:4,
- outputs:1,
- category: 'mixer-function',
- color:"#E6E0F8",
- icon: "arrow-in.png"
- });
- </script>
- <script type="text/x-red" data-help-name="AudioMixer4">
- <h3>Summary</h3>
- <p>Combine up to 4 audio signals together, each with adjustable gain.</p>
- <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>Input signal #1</td></tr>
- <tr class=odd><td align=center>In 1</td><td>Input signal #2</td></tr>
- <tr class=odd><td align=center>In 2</td><td>Input signal #3</td></tr>
- <tr class=odd><td align=center>In 3</td><td>Input signal #4</td></tr>
- <tr class=odd><td align=center>Out 0</td><td>Sum of all inputs</td></tr>
- </table>
- <!--<h3>Parameters</h3>
- <table class=doc align=center cellpadding=3>
- <tr class=top><th>Name</th><th>Type</th><th>Function</th></tr>
- <tr class=odd><td align=center></td><td>Integer</td><td></td></tr>
- </table>
- <p>Extra description... Section only present if object has params</p>-->
- <h3>Functions</h3>
- <p class=func><span class=keyword>gain</span>(channel, level);</p>
- <p class=desc>Adjust the amplification or attenuation. "channel" must
- be 0 to 3. "gain" may be any number from 0 to 32767.0. Gain of
- 1.0 passes the signal through directly. Gain of 0 shuts the channel
- off completely. Between 0 to 1.0 attenuates the signal, and above
- 1.0 amplifies it. All 4 channels have separate settings.
- </p>
- <h3>Notes</h3>
- <p>Signal clipping can occur when any channel has gain greater than 1.0,
- or when multiple signals add together to greater than 1.0.</p>
- </script>
- <script type="text/x-red" data-template-name="AudioMixer4">
- <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/javascript">
- RED.nodes.registerType('AudioPlayMemory',{
- shortName: "playMem",
- inputs:0,
- outputs:1,
- category: 'play-function',
- color:"#E6E0F8",
- icon: "arrow-in.png"
- });
- </script>
- <script type="text/x-red" data-help-name="AudioPlayMemory">
- <h3>Summary</h3>
- <p>description</p>
- <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></td><td></td></tr>
- </table>
- <!--<h3>Parameters</h3>
- <table class=doc align=center cellpadding=3>
- <tr class=top><th>Name</th><th>Type</th><th>Function</th></tr>
- <tr class=odd><td align=center></td><td>Integer</td><td></td></tr>
- </table>
- <p>Extra description... Section only present if object has params</p>-->
- <h3>Functions</h3>
- <p class=func><span class=keyword>function</span>(parm1, parm2);</p>
- <p class=desc>blah blah blah blah
- </p>
- <h3>Notes</h3>
- <p></p>
- </script>
- <script type="text/x-red" data-template-name="AudioPlayMemory">
- <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/javascript">
- RED.nodes.registerType('AudioPlaySdWav',{
- shortName: "playWav",
- inputs:0,
- outputs:2,
- category: 'play-function',
- color:"#E6E0F8",
- icon: "arrow-in.png"
- });
- </script>
- <script type="text/x-red" data-help-name="AudioPlaySdWav">
- <h3>Summary</h3>
- <p>description</p>
- <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></td><td></td></tr>
- </table>
- <!--<h3>Parameters</h3>
- <table class=doc align=center cellpadding=3>
- <tr class=top><th>Name</th><th>Type</th><th>Function</th></tr>
- <tr class=odd><td align=center></td><td>Integer</td><td></td></tr>
- </table>
- <p>Extra description... Section only present if object has params</p>-->
- <h3>Functions</h3>
- <p class=func><span class=keyword>function</span>(parm1, parm2);</p>
- <p class=desc>blah blah blah blah
- </p>
- <h3>Notes</h3>
- <p></p>
- </script>
- <script type="text/x-red" data-template-name="AudioPlaySdWav">
- <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/javascript">
- RED.nodes.registerType('AudioPlaySdRaw',{
- shortName: "playRaw",
- inputs:0,
- outputs:1,
- category: 'play-function',
- color:"#E6E0F8",
- icon: "arrow-in.png"
- });
- </script>
- <script type="text/x-red" data-help-name="AudioPlaySdRaw">
- <h3>Summary</h3>
- <p>description</p>
- <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></td><td></td></tr>
- </table>
- <!--<h3>Parameters</h3>
- <table class=doc align=center cellpadding=3>
- <tr class=top><th>Name</th><th>Type</th><th>Function</th></tr>
- <tr class=odd><td align=center></td><td>Integer</td><td></td></tr>
- </table>
- <p>Extra description... Section only present if object has params</p>-->
- <h3>Functions</h3>
- <p class=func><span class=keyword>function</span>(parm1, parm2);</p>
- <p class=desc>blah blah blah blah
- </p>
- <h3>Notes</h3>
- <p></p>
- </script>
- <script type="text/x-red" data-template-name="AudioPlaySdRaw">
- <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/javascript">
- RED.nodes.registerType('AudioPlayQueue',{
- shortName: "queue",
- inputs:0,
- outputs:1,
- category: 'play-function',
- color:"#E6E0F8",
- icon: "arrow-in.png"
- });
- </script>
- <script type="text/x-red" data-help-name="AudioPlayQueue">
- <h3>Summary</h3>
- <p>description</p>
- <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></td><td></td></tr>
- </table>
- <!--<h3>Parameters</h3>
- <table class=doc align=center cellpadding=3>
- <tr class=top><th>Name</th><th>Type</th><th>Function</th></tr>
- <tr class=odd><td align=center></td><td>Integer</td><td></td></tr>
- </table>
- <p>Extra description... Section only present if object has params</p>-->
- <h3>Functions</h3>
- <p class=func><span class=keyword>function</span>(parm1, parm2);</p>
- <p class=desc>blah blah blah blah
- </p>
- <h3>Notes</h3>
- <p></p>
- </script>
- <script type="text/x-red" data-template-name="AudioPlayQueue">
- <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/javascript">
- RED.nodes.registerType('AudioSynthWaveformSine',{
- shortName: "sine",
- inputs:0,
- outputs:1,
- category: 'synth-function',
- color:"#E6E0F8",
- icon: "arrow-in.png"
- });
- </script>
- <script type="text/x-red" data-help-name="AudioSynthWaveformSine">
- <h3>Summary</h3>
- <p>description</p>
- <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></td><td></td></tr>
- </table>
- <!--<h3>Parameters</h3>
- <table class=doc align=center cellpadding=3>
- <tr class=top><th>Name</th><th>Type</th><th>Function</th></tr>
- <tr class=odd><td align=center></td><td>Integer</td><td></td></tr>
- </table>
- <p>Extra description... Section only present if object has params</p>-->
- <h3>Functions</h3>
- <p class=func><span class=keyword>function</span>(parm1, parm2);</p>
- <p class=desc>blah blah blah blah
- </p>
- <h3>Notes</h3>
- <p></p>
- </script>
- <script type="text/x-red" data-template-name="AudioSynthWaveformSine">
- <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/javascript">
- RED.nodes.registerType('AudioSynthWaveformSineModulated',{
- shortName: "sine_fm",
- inputs:1,
- outputs:1,
- category: 'synth-function',
- color:"#E6E0F8",
- icon: "arrow-in.png"
- });
- </script>
- <script type="text/x-red" data-help-name="AudioSynthWaveformSineModulated">
- <h3>Summary</h3>
- <p>description</p>
- <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></td><td></td></tr>
- </table>
- <!--<h3>Parameters</h3>
- <table class=doc align=center cellpadding=3>
- <tr class=top><th>Name</th><th>Type</th><th>Function</th></tr>
- <tr class=odd><td align=center></td><td>Integer</td><td></td></tr>
- </table>
- <p>Extra description... Section only present if object has params</p>-->
- <h3>Functions</h3>
- <p class=func><span class=keyword>function</span>(parm1, parm2);</p>
- <p class=desc>blah blah blah blah
- </p>
- <h3>Notes</h3>
- <p></p>
- </script>
- <script type="text/x-red" data-template-name="AudioSynthWaveformSineModulated">
- <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/javascript">
- RED.nodes.registerType('AudioSynthWaveform',{
- shortName: "waveform",
- inputs:0,
- outputs:1,
- category: 'synth-function',
- color:"#E6E0F8",
- icon: "arrow-in.png"
- });
- </script>
- <script type="text/x-red" data-help-name="AudioSynthWaveform">
- <h3>Summary</h3>
- <p>description</p>
- <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></td><td></td></tr>
- </table>
- <!--<h3>Parameters</h3>
- <table class=doc align=center cellpadding=3>
- <tr class=top><th>Name</th><th>Type</th><th>Function</th></tr>
- <tr class=odd><td align=center></td><td>Integer</td><td></td></tr>
- </table>
- <p>Extra description... Section only present if object has params</p>-->
- <h3>Functions</h3>
- <p class=func><span class=keyword>function</span>(parm1, parm2);</p>
- <p class=desc>blah blah blah blah
- </p>
- <h3>Notes</h3>
- <p></p>
- </script>
- <script type="text/x-red" data-template-name="AudioSynthWaveform">
- <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/javascript">
- RED.nodes.registerType('AudioSynthToneSweep',{
- shortName: "tonesweep",
- inputs:0,
- outputs:1,
- category: 'synth-function',
- color:"#E6E0F8",
- icon: "arrow-in.png"
- });
- </script>
- <script type="text/x-red" data-help-name="AudioSynthToneSweep">
- <h3>Summary</h3>
- <p>description</p>
- <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></td><td></td></tr>
- </table>
- <!--<h3>Parameters</h3>
- <table class=doc align=center cellpadding=3>
- <tr class=top><th>Name</th><th>Type</th><th>Function</th></tr>
- <tr class=odd><td align=center></td><td>Integer</td><td></td></tr>
- </table>
- <p>Extra description... Section only present if object has params</p>-->
- <h3>Functions</h3>
- <p class=func><span class=keyword>function</span>(parm1, parm2);</p>
- <p class=desc>blah blah blah blah
- </p>
- <h3>Notes</h3>
- <p></p>
- </script>
- <script type="text/x-red" data-template-name="AudioSynthToneSweep">
- <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/javascript">
- RED.nodes.registerType('AudioEffectFade',{
- shortName: "fade",
- inputs:1,
- outputs:1,
- category: 'effect-function',
- color:"#E6E0F8",
- icon: "arrow-in.png"
- });
- </script>
- <script type="text/x-red" data-help-name="AudioEffectFade">
- <h3>Summary</h3>
- <p>description</p>
- <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></td><td></td></tr>
- </table>
- <!--<h3>Parameters</h3>
- <table class=doc align=center cellpadding=3>
- <tr class=top><th>Name</th><th>Type</th><th>Function</th></tr>
- <tr class=odd><td align=center></td><td>Integer</td><td></td></tr>
- </table>
- <p>Extra description... Section only present if object has params</p>-->
- <h3>Functions</h3>
- <p class=func><span class=keyword>function</span>(parm1, parm2);</p>
- <p class=desc>blah blah blah blah
- </p>
- <h3>Notes</h3>
- <p></p>
- </script>
- <script type="text/x-red" data-template-name="AudioEffectFade">
- <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/javascript">
- RED.nodes.registerType('AudioEffectChorus',{
- shortName: "chorus",
- inputs:2,
- outputs:2,
- category: 'effect-function',
- color:"#E6E0F8",
- icon: "arrow-in.png"
- });
- </script>
- <script type="text/x-red" data-help-name="AudioEffectChorus">
- <h3>Summary</h3>
- <p>description</p>
- <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></td><td></td></tr>
- </table>
- <!--<h3>Parameters</h3>
- <table class=doc align=center cellpadding=3>
- <tr class=top><th>Name</th><th>Type</th><th>Function</th></tr>
- <tr class=odd><td align=center></td><td>Integer</td><td></td></tr>
- </table>
- <p>Extra description... Section only present if object has params</p>-->
- <h3>Functions</h3>
- <p class=func><span class=keyword>function</span>(parm1, parm2);</p>
- <p class=desc>blah blah blah blah
- </p>
- <h3>Notes</h3>
- <p></p>
- </script>
- <script type="text/x-red" data-template-name="AudioEffectChorus">
- <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/javascript">
- RED.nodes.registerType('AudioEffectFlange',{
- shortName: "flange",
- inputs:2,
- outputs:2,
- category: 'effect-function',
- color:"#E6E0F8",
- icon: "arrow-in.png"
- });
- </script>
- <script type="text/x-red" data-help-name="AudioEffectFlange">
- <h3>Summary</h3>
- <p>description</p>
- <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></td><td></td></tr>
- </table>
- <!--<h3>Parameters</h3>
- <table class=doc align=center cellpadding=3>
- <tr class=top><th>Name</th><th>Type</th><th>Function</th></tr>
- <tr class=odd><td align=center></td><td>Integer</td><td></td></tr>
- </table>
- <p>Extra description... Section only present if object has params</p>-->
- <h3>Functions</h3>
- <p class=func><span class=keyword>function</span>(parm1, parm2);</p>
- <p class=desc>blah blah blah blah
- </p>
- <h3>Notes</h3>
- <p></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>
-
-
- <script type="text/javascript">
- RED.nodes.registerType('AudioFilterBiquad',{
- shortName: "biquad",
- inputs:1,
- outputs:1,
- category: 'filter-function',
- color:"#E6E0F8",
- icon: "arrow-in.png"
- });
- </script>
- <script type="text/x-red" data-help-name="AudioFilterBiquad">
- <h3>Summary</h3>
- <p>description</p>
- <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></td><td></td></tr>
- </table>
- <!--<h3>Parameters</h3>
- <table class=doc align=center cellpadding=3>
- <tr class=top><th>Name</th><th>Type</th><th>Function</th></tr>
- <tr class=odd><td align=center></td><td>Integer</td><td></td></tr>
- </table>
- <p>Extra description... Section only present if object has params</p>-->
- <h3>Functions</h3>
- <p class=func><span class=keyword>function</span>(parm1, parm2);</p>
- <p class=desc>blah blah blah blah
- </p>
- <h3>Notes</h3>
- <p></p>
- </script>
- <script type="text/x-red" data-template-name="AudioFilterBiquad">
- <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/javascript">
- RED.nodes.registerType('AudioFilterFIR',{
- shortName: "fir",
- inputs:1,
- outputs:1,
- category: 'filter-function',
- color:"#E6E0F8",
- icon: "arrow-in.png"
- });
- </script>
- <script type="text/x-red" data-help-name="AudioFilterFIR">
- <h3>Summary</h3>
- <p>description</p>
- <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></td><td></td></tr>
- </table>
- <!--<h3>Parameters</h3>
- <table class=doc align=center cellpadding=3>
- <tr class=top><th>Name</th><th>Type</th><th>Function</th></tr>
- <tr class=odd><td align=center></td><td>Integer</td><td></td></tr>
- </table>
- <p>Extra description... Section only present if object has params</p>-->
- <h3>Functions</h3>
- <p class=func><span class=keyword>function</span>(parm1, parm2);</p>
- <p class=desc>blah blah blah blah
- </p>
- <h3>Notes</h3>
- <p></p>
- </script>
- <script type="text/x-red" data-template-name="AudioFilterFIR">
- <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/javascript">
- RED.nodes.registerType('AudioPeak',{
- shortName: "peak",
- inputs:1,
- outputs:0,
- category: 'analyze-function',
- color:"#E6E0F8",
- icon: "arrow-in.png"
- });
- </script>
- <script type="text/x-red" data-help-name="AudioPeak">
- <h3>Summary</h3>
- <p>description</p>
- <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></td><td></td></tr>
- </table>
- <!--<h3>Parameters</h3>
- <table class=doc align=center cellpadding=3>
- <tr class=top><th>Name</th><th>Type</th><th>Function</th></tr>
- <tr class=odd><td align=center></td><td>Integer</td><td></td></tr>
- </table>
- <p>Extra description... Section only present if object has params</p>-->
- <h3>Functions</h3>
- <p class=func><span class=keyword>function</span>(parm1, parm2);</p>
- <p class=desc>blah blah blah blah
- </p>
- <h3>Notes</h3>
- <p></p>
- </script>
- <script type="text/x-red" data-template-name="AudioPeak">
- <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/javascript">
- RED.nodes.registerType('AudioAnalyzeFFT256',{
- shortName: "fft256",
- inputs:1,
- outputs:0,
- category: 'analyze-function',
- color:"#E6E0F8",
- icon: "arrow-in.png"
- });
- </script>
- <script type="text/x-red" data-help-name="AudioAnalyzeFFT256">
- <h3>Summary</h3>
- <p>description</p>
- <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></td><td></td></tr>
- </table>
- <!--<h3>Parameters</h3>
- <table class=doc align=center cellpadding=3>
- <tr class=top><th>Name</th><th>Type</th><th>Function</th></tr>
- <tr class=odd><td align=center></td><td>Integer</td><td></td></tr>
- </table>
- <p>Extra description... Section only present if object has params</p>-->
- <h3>Functions</h3>
- <p class=func><span class=keyword>function</span>(parm1, parm2);</p>
- <p class=desc>blah blah blah blah
- </p>
- <h3>Notes</h3>
- <p></p>
- </script>
- <script type="text/x-red" data-template-name="AudioAnalyzeFFT256">
- <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/javascript">
- RED.nodes.registerType('AudioAnalyzeFFT1024',{
- shortName: "fft1024",
- inputs:1,
- outputs:0,
- category: 'analyze-function',
- color:"#E6E0F8",
- icon: "arrow-in.png"
- });
- </script>
- <script type="text/x-red" data-help-name="AudioAnalyzeFFT1024">
- <h3>Summary</h3>
- <p>description</p>
- <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></td><td></td></tr>
- </table>
- <!--<h3>Parameters</h3>
- <table class=doc align=center cellpadding=3>
- <tr class=top><th>Name</th><th>Type</th><th>Function</th></tr>
- <tr class=odd><td align=center></td><td>Integer</td><td></td></tr>
- </table>
- <p>Extra description... Section only present if object has params</p>-->
- <h3>Functions</h3>
- <p class=func><span class=keyword>function</span>(parm1, parm2);</p>
- <p class=desc>blah blah blah blah
- </p>
- <h3>Notes</h3>
- <p></p>
- </script>
- <script type="text/x-red" data-template-name="AudioAnalyzeFFT1024">
- <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/javascript">
- RED.nodes.registerType('AudioAnalyzeToneDetect',{
- shortName: "tone",
- inputs:1,
- outputs:0,
- category: 'analyze-function',
- color:"#E6E0F8",
- icon: "arrow-in.png"
- });
- </script>
- <script type="text/x-red" data-help-name="AudioAnalyzeToneDetect">
- <h3>Summary</h3>
- <p>description</p>
- <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></td><td></td></tr>
- </table>
- <!--<h3>Parameters</h3>
- <table class=doc align=center cellpadding=3>
- <tr class=top><th>Name</th><th>Type</th><th>Function</th></tr>
- <tr class=odd><td align=center></td><td>Integer</td><td></td></tr>
- </table>
- <p>Extra description... Section only present if object has params</p>-->
- <h3>Functions</h3>
- <p class=func><span class=keyword>function</span>(parm1, parm2);</p>
- <p class=desc>blah blah blah blah
- </p>
- <h3>Notes</h3>
- <p></p>
- </script>
- <script type="text/x-red" data-template-name="AudioAnalyzeToneDetect">
- <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/javascript">
- RED.nodes.registerType('AudioAnalyzePrint',{
- shortName: "print",
- inputs:1,
- outputs:0,
- category: 'analyze-function',
- color:"#E6E0F8",
- icon: "arrow-in.png"
- });
- </script>
- <script type="text/x-red" data-help-name="AudioAnalyzePrint">
- <h3>Summary</h3>
- <p>description</p>
- <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></td><td></td></tr>
- </table>
- <!--<h3>Parameters</h3>
- <table class=doc align=center cellpadding=3>
- <tr class=top><th>Name</th><th>Type</th><th>Function</th></tr>
- <tr class=odd><td align=center></td><td>Integer</td><td></td></tr>
- </table>
- <p>Extra description... Section only present if object has params</p>-->
- <h3>Functions</h3>
- <p class=func><span class=keyword>function</span>(parm1, parm2);</p>
- <p class=desc>blah blah blah blah
- </p>
- <h3>Notes</h3>
- <p></p>
- </script>
- <script type="text/x-red" data-template-name="AudioAnalyzePrint">
- <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/javascript">
- RED.nodes.registerType('AudioControlSGTL5000',{
- shortName: "sgtl5000",
- inputs:0,
- outputs:0,
- category: 'control-function',
- color:"#E6E0F8",
- icon: "arrow-in.png"
- });
- </script>
- <script type="text/x-red" data-help-name="AudioControlSGTL5000">
- <h3>Summary</h3>
- <p>description</p>
- <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></td><td></td></tr>
- </table>
- <!--<h3>Parameters</h3>
- <table class=doc align=center cellpadding=3>
- <tr class=top><th>Name</th><th>Type</th><th>Function</th></tr>
- <tr class=odd><td align=center></td><td>Integer</td><td></td></tr>
- </table>
- <p>Extra description... Section only present if object has params</p>-->
- <h3>Functions</h3>
- <p class=func><span class=keyword>function</span>(parm1, parm2);</p>
- <p class=desc>blah blah blah blah
- </p>
- <h3>Notes</h3>
- <p></p>
- </script>
- <script type="text/x-red" data-template-name="AudioControlSGTL5000">
- <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/javascript">
- RED.nodes.registerType('AudioControlWM8731',{
- shortName: "wm8731",
- inputs:0,
- outputs:0,
- category: 'control-function',
- color:"#E6E0F8",
- icon: "arrow-in.png"
- });
- </script>
- <script type="text/x-red" data-help-name="AudioControlWM8731">
- <h3>Summary</h3>
- <p>description</p>
- <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></td><td></td></tr>
- </table>
- <!--<h3>Parameters</h3>
- <table class=doc align=center cellpadding=3>
- <tr class=top><th>Name</th><th>Type</th><th>Function</th></tr>
- <tr class=odd><td align=center></td><td>Integer</td><td></td></tr>
- </table>
- <p>Extra description... Section only present if object has params</p>-->
- <h3>Functions</h3>
- <p class=func><span class=keyword>function</span>(parm1, parm2);</p>
- <p class=desc>blah blah blah blah
- </p>
- <h3>Notes</h3>
- <p></p>
- </script>
- <script type="text/x-red" data-template-name="AudioControlWM8731">
- <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>
-
-
-
|