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 8f0829c845 Ladder filter frequency modulation in "volts per octave" 3 년 전
docs Add issue template 6 년 전
examples Ladder filter frequency modulation in "volts per octave" 3 년 전
extras Add PROGMEM to output array 3 년 전
gui Merge pull request #378 from FrankBoesing/fix-doc 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 Ladder filter frequency modulation in "volts per octave" 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