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.
PaulStoffregen 9b44b17006 Document bandlimit waveforms пре 3 година
docs Add issue template пре 6 година
examples Ladder filter frequency modulation in "volts per octave" пре 3 година
extras Add PROGMEM to output array пре 3 година
gui Document bandlimit waveforms пре 3 година
utility Fixes for Teensy LC пре 3 година
.gitignore Add documentation for new objects пре 8 година
.travis.yml Update Travis CI settings пре 8 година
Audio.h Add ladder filter, work-in-progress пре 3 година
AudioControl.h Add AudioSynthWaveformSine пре 10 година
Quantizer.cpp prevent clipping пре 4 година
Quantizer.h async spdif input added пре 4 година
README.md Mention Teensy 4.x in readme пре 3 година
Resampler.cpp added the maximum filter length to the parameters пре 4 година
Resampler.h added the maximum filter length to the parameters пре 4 година
analyze_fft256.cpp Fixes for Teensy LC пре 3 година
analyze_fft256.h Fix problem with optimized loops like do {} while (!myFFT.available()); пре 7 година
analyze_fft1024.cpp Import all of Frank's T4 edits пре 5 година
analyze_fft1024.h Do not assume AudioStream.h includes Arduino.h пре 8 година
analyze_notefreq.cpp Include Arduino.h first in all cpp files, for precompiled header speedup пре 6 година
analyze_notefreq.h NoteFrequency fixes пре 8 година
analyze_peak.cpp Include Arduino.h first in all cpp files, for precompiled header speedup пре 6 година
analyze_peak.h Do not assume AudioStream.h includes Arduino.h пре 8 година
analyze_print.cpp Include Arduino.h first in all cpp files, for precompiled header speedup пре 6 година
analyze_print.h Do not assume AudioStream.h includes Arduino.h пре 8 година
analyze_rms.cpp Import all of Frank's T4 edits пре 5 година
analyze_rms.h Do not assume AudioStream.h includes Arduino.h пре 8 година
analyze_tonedetect.cpp Import all of Frank's T4 edits пре 5 година
analyze_tonedetect.h Do not assume AudioStream.h includes Arduino.h пре 8 година
async_input_spdif3.cpp FLASHMEM instead of PROGMEM for functions пре 4 година
async_input_spdif3.h prevent clipping пре 4 година
biquad.h async spdif input added пре 4 година
control_ak4558.cpp Include Arduino.h first in all cpp files, for precompiled header speedup пре 6 година
control_ak4558.h Fixed control functions, examples, GUI elements пре 9 година
control_cs4272.cpp Include Arduino.h first in all cpp files, for precompiled header speedup пре 6 година
control_cs4272.h Add CS4272 control (thanks William Hollender) пре 8 година
control_cs42448.cpp Add comment about strange CS42448 issue and undocumented bit пре 5 година
control_cs42448.h Add AudioControlCS42448 пре 7 година
control_sgtl5000.cpp Merge pull request #373 from grahamwhaley/20201229_5k_hishelf пре 3 година
control_sgtl5000.h Merge pull request #334 from jurgenbelien/master пре 3 година
control_tlv320aic3206.cpp AIC3206: rename channel macros, add comments пре 6 година
control_tlv320aic3206.h AIC3206: rename channel macros, add comments пре 6 година
control_wm8731.cpp WM8731 has flaky I2C communication workaround пре 5 година
control_wm8731.h Add WM8731 inputSelect() function and update example пре 6 година
data_bandlimit_step.c Band limited versions of square and sawtooth added to AudioSynthWaveform and AudioSynthWaveformModulated пре 4 година
data_spdif.c use common spdif bcmlookup table пре 5 година
data_ulaw.c Add missing open source license headers пре 10 година
data_waveforms.c Remove old AudioSynthWaveform пре 10 година
data_windows.c Add other window types for 1024 point FFT пре 10 година
effect_bitcrusher.cpp Include Arduino.h first in all cpp files, for precompiled header speedup пре 6 година
effect_bitcrusher.h Do not assume AudioStream.h includes Arduino.h пре 8 година
effect_chorus.cpp Include Arduino.h first in all cpp files, for precompiled header speedup пре 6 година
effect_chorus.h Do not assume AudioStream.h includes Arduino.h пре 8 година
effect_combine.cpp Add AudioEffectDigitalCombine (from Bleep Labs) пре 6 година
effect_combine.h Move combine effect constants to class enum, not global scope пре 6 година
effect_delay.cpp Include Arduino.h first in all cpp files, for precompiled header speedup пре 6 година
effect_delay.h Allow longer max delay effect on Teensy 4.0 пре 5 година
effect_delay_ext.cpp Include Arduino.h first in all cpp files, for precompiled header speedup пре 6 година
effect_delay_ext.h Add F-RAM пре 7 година
effect_envelope.cpp Add isActive() and isSustain() to envelope пре 6 година
effect_envelope.h Add isActive() and isSustain() to envelope пре 6 година
effect_fade.cpp Include Arduino.h first in all cpp files, for precompiled header speedup пре 6 година
effect_fade.h Do not assume AudioStream.h includes Arduino.h пре 8 година
effect_flange.cpp Include Arduino.h first in all cpp files, for precompiled header speedup пре 6 година
effect_flange.h Do not assume AudioStream.h includes Arduino.h пре 8 година
effect_freeverb.cpp Round down to 0 to avoid the buzzing noise issue reported here: пре 4 година
effect_freeverb.h Add AudioEffectFreeverbStereo пре 6 година
effect_granular.cpp Increase granular speed range, change public function to setSpeed() пре 6 година
effect_granular.h Increase granular speed range, change public function to setSpeed() пре 6 година
effect_midside.cpp Import all of Frank's T4 edits пре 5 година
effect_midside.h Do not assume AudioStream.h includes Arduino.h пре 8 година
effect_multiply.cpp Import all of Frank's T4 edits пре 5 година
effect_multiply.h Do not assume AudioStream.h includes Arduino.h пре 8 година
effect_rectifier.cpp Update effect_rectifier.cpp пре 4 година
effect_rectifier.h update keywords пре 4 година
effect_reverb.cpp memset: wrong size - element size is not 1 пре 6 година
effect_reverb.h Add reverb effect, from Joao Rossi Filho пре 8 година
effect_waveshaper.cpp Include Arduino.h first in all cpp files, for precompiled header speedup пре 6 година
effect_waveshaper.h Accept floats instead of int16_ts for waveshape in shape() пре 7 година
filter_biquad.cpp Add comment about noise shaping in biquad filter пре 5 година
filter_biquad.h Add shelving filter support for biquad пре 8 година
filter_fir.cpp Include Arduino.h first in all cpp files, for precompiled header speedup пре 6 година
filter_fir.h Do not assume AudioStream.h includes Arduino.h пре 8 година
filter_fir.md Change FIR filter (as suggested by rheslip) to filter one channel instead of two. Updated example, added documenting file пре 10 година
filter_ladder.cpp Limit ladder filter to safer maximum values пре 3 година
filter_ladder.h Ladder filter frequency modulation in "volts per octave" пре 3 година
filter_variable.cpp Update links in comments, to Laurent de Soras's exp2 approximation info пре 5 година
filter_variable.h Do not assume AudioStream.h includes Arduino.h пре 8 година
input_adc.cpp Fix ADC input on Teensy 3.x пре 4 година
input_adc.h Initial support for ADC input on Teensy 4.0 пре 4 година
input_adcs.cpp align пре 4 година
input_adcs.h Fix indentation and move filtercoefficient to #define constant instead of int32_t variable пре 7 година
input_i2s.cpp Add I2sInput Master пре 3 година
input_i2s.h LC input slave пре 3 година
input_i2s2.cpp Update input_i2s2.cpp пре 4 година
input_i2s2.h various (see below) пре 5 година
input_i2s_hex.cpp add DMAMEM, fix warnings пре 4 година
input_i2s_hex.h 6 channel I2S input for Teensy 4.0 пре 4 година
input_i2s_oct.cpp 8 channel I2S input for Teensy 4.0 пре 4 година
input_i2s_oct.h 8 channel I2S input for Teensy 4.0 пре 4 година
input_i2s_quad.cpp add DMAMEM, fix warnings пре 4 година
input_i2s_quad.h Do not assume AudioStream.h includes Arduino.h пре 8 година
input_pdm.cpp Kinetis K only пре 3 година
input_pdm.h Add AudioInputPDM пре 6 година
input_spdif3.cpp spdif-input пре 4 година
input_spdif3.h spdif-input пре 4 година
input_tdm.cpp Fix TDM input on Teensy 4.0 пре 5 година
input_tdm.h Add AudioInputTDM пре 7 година
input_tdm2.cpp Fix TDM2 on Teensy 4.0 пре 5 година
input_tdm2.h T4: Input TDM, Input TDM2 пре 5 година
keywords.txt Change Ladder filter API to be similar to other filters пре 3 година
library.json Let PlatformIO automatically detect Arduino v1.0 library format пре 8 година
library.properties Edit version string, for Arduino 1.6.11 compatibility пре 8 година
memcpy_audio.S Import all of Frank's T4 edits пре 5 година
memcpy_audio.h Add memcpy_tointerleaveQuad (thanks Frank) пре 8 година
mixer.cpp Import all of Frank's T4 edits пре 5 година
mixer.h Import all of Frank's T4 edits пре 5 година
multiplier.md Add a multiplier (by rheslip) пре 10 година
new_objects.md change format for new_objects files пре 11 година
output_adat.cpp Update output_adat.cpp пре 4 година
output_adat.h Add ADAT 8 channel TOSLINK output by Ernstjan Freriks пре 7 година
output_dac.cpp Remove leftover debug printing пре 4 година
output_dac.h Do not assume AudioStream.h includes Arduino.h пре 8 година
output_dacs.cpp alignment пре 4 година
output_dacs.h Add AudioOutputAnalogStereo пре 8 година
output_i2s.cpp LC input slave пре 3 година
output_i2s.h Teensy LC AudioOutputI2S(+slave) пре 3 година
output_i2s2.cpp Fix simultaneous input & output on I2S2 пре 4 година
output_i2s2.h various (see below) пре 5 година
output_i2s_hex.cpp 6 channel I2S output for Teensy 4.0 пре 4 година
output_i2s_hex.h 6 channel I2S output for Teensy 4.0 пре 4 година
output_i2s_oct.cpp 8 channel I2S output for Teensy 4.0 пре 4 година
output_i2s_oct.h 8 channel I2S output for Teensy 4.0 пре 4 година
output_i2s_quad.cpp Add comment with link to forum conversation пре 4 година
output_i2s_quad.h Do not assume AudioStream.h includes Arduino.h пре 8 година
output_mqs.cpp MQS: Play nice пре 3 година
output_mqs.h add output_mqs пре 5 година
output_pt8211.cpp LC has no I2S0_TCR1 пре 3 година
output_pt8211.h Add Teensy LC Code for PT8211 пре 3 година
output_pt8211_2.cpp done :) пре 3 година
output_pt8211_2.h add output_pt8211_2 пре 5 година
output_pwm.cpp Disable not-yet-working PWM output for Teensy 4.x пре 4 година
output_pwm.h Add Teensy 4 PWM output пре 4 година
output_spdif.cpp Fix compile errors on Teensy LC пре 4 година
output_spdif.h SPDIF пре 5 година
output_spdif2.cpp PROGMEM->FLASHMEM пре 4 година
output_spdif2.h SPDIF пре 5 година
output_spdif3.cpp spdif-input пре 4 година
output_spdif3.h async spdif input -> friendclass of spdif output пре 4 година
output_tdm.cpp Fix compile errors on Teensy LC пре 4 година
output_tdm.h Add AudioInputTDM пре 7 година
output_tdm2.cpp Fix TDM2 on Teensy 4.0 пре 5 година
output_tdm2.h various (see below) пре 5 година
play_memory.cpp Include Arduino.h first in all cpp files, for precompiled header speedup пре 6 година
play_memory.h Do not assume AudioStream.h includes Arduino.h пре 8 година
play_queue.cpp Allow larger queues on Teensy 3.5, 3.6, 4.0 пре 4 година
play_queue.h Allow larger queues on Teensy 3.5, 3.6, 4.0 пре 4 година
play_sd_raw.cpp Include Arduino.h first in all cpp files, for precompiled header speedup пре 6 година
play_sd_raw.h Do not assume AudioStream.h includes Arduino.h пре 8 година
play_sd_wav.cpp allowing position + length to work during pause пре 4 година
play_sd_wav.h sdwav play/pause initial commit пре 4 година
play_serialflash_raw.cpp Include Arduino.h first in all cpp files, for precompiled header speedup пре 6 година
play_serialflash_raw.h Do not assume AudioStream.h includes Arduino.h пре 8 година
record_queue.cpp Allow larger queues on Teensy 3.5, 3.6, 4.0 пре 4 година
record_queue.h Allow larger queues on Teensy 3.5, 3.6, 4.0 пре 4 година
spi_interrupt.cpp Include Arduino.h first in all cpp files, for precompiled header speedup пре 6 година
spi_interrupt.h Do not assume AudioStream.h includes Arduino.h пре 8 година
synth_dc.cpp Include Arduino.h first in all cpp files, for precompiled header speedup пре 6 година
synth_dc.h Import all of Frank's T4 edits пре 5 година
synth_karplusstrong.cpp Fix compile errors on Teensy LC пре 4 година
synth_karplusstrong.h Add Synthesis Guitar example пре 8 година
synth_pinknoise.cpp Include Arduino.h first in all cpp files, for precompiled header speedup пре 6 година
synth_pinknoise.h Do not assume AudioStream.h includes Arduino.h пре 8 година
synth_pwm.cpp Import all of Frank's T4 edits пре 5 година
synth_pwm.h Add AudioSynthWaveformPWM пре 7 година
synth_simple_drum.cpp Fix compile errors on Teensy LC пре 4 година
synth_simple_drum.h Adding SimpleDrum synthesis object to audio library. пре 8 година
synth_sine.cpp Import all of Frank's T4 edits пре 5 година
synth_sine.h Do not assume AudioStream.h includes Arduino.h пре 8 година
synth_tonesweep.cpp Fix discontinuity in frequency stepping in tonesweep, remove unnecessary/incorrect masking of phase пре 4 година
synth_tonesweep.h ToneSweep improvements (thanks Pio) пре 7 година
synth_waveform.cpp Merge pull request #362 from MarkTillotson/fix_phase_modulation пре 3 година
synth_waveform.h Improve handling of pulse waveforms to allow sub-sample width pulses and finesse remaining issues with modulation пре 4 година
synth_waveform.md Fixed AudioSynthWaveform. Uses LUT with linear interpolation for sinewave. пре 10 година
synth_wavetable.cpp Fix compile errors on Teensy LC пре 4 година
synth_wavetable.h Avoid global Wavetable defines пре 6 година
synth_whitenoise.cpp Import all of Frank's T4 edits пре 5 година
synth_whitenoise.h Do not assume AudioStream.h includes Arduino.h пре 8 година

README.md

Teensy Audio Library

16 bit, 44.1 kHz streaming audio library for Teensy 3.x and Teensy 4.x, featuring:

  • Polyphonic Playback
  • Recording
  • Synthesis
  • Analysis
  • Effects
  • Filtering
  • Mixing
  • Multiple Simultaneous Inputs & Outputs
  • Flexible signal routing between library objects
  • Automatic Streaming while your Arduino sketch runs

Main Audio Library Page

http://www.pjrc.com/teensy/td_libs_Audio.html

Audio System Design Tool

Use this graphical tool to design your audio project. Easily browse the library’s many features, connect objects, export to Arduino code, and quickly access details for the functions each object provides for you to control it from your Arduino sketch!

http://www.pjrc.com/teensy/gui/index.html

Supported Hardware

Audio Adaptor Board for 16 bit stereo input and output.

Inputs Outputs

Dual Audio Adaptor Boards for quad channel 16 bit input and output.

Teensy 3.6, Teensy 3.5, Teensy 3.2, or Teensy 3.1 12 bit DAC Output (Mono)

DAC Output

Teensy 3.6, Teensy 3.5, Teensy 3.2, Teensy 3.1 or Teensy 3.0 ADC Input (Mono)

ADC Input

Teensy 3.6, Teensy 3.5, or Teensy 3.2 ADC Input (Stereo)

ADC Input

Teensy 3.6 or Teensy 3.5 12 bit DAC Output (Stereo)

DAC Output

Teensy 3.6, Teensy 3.5, Teensy 3.2, Teensy 3.1 or Teensy 3.0 PWM Output (Mono)

PWM Output

USB Audio: Bi-Directional Stereo Streaming to a PC

Inputs Outputs