Teensy Audio Library Documentation

repository·master·Indexed 23 days ago

https://github.com/paulstoffregen/audio

A high-performance, 16-bit, 44.1 kHz streaming audio library for Teensy 3.x and 4.x microcontrollers. It provides a modular object-oriented approach for audio synthesis, effects, routing, analysis, and recording within the Arduino environment, supported by a graphical Audio System Design Tool for visual signal chain creation and code generation.

Tokens
442
Snippets
1
Records
3
Agent score
29%

What's inside Teensy Audio Library

  1. Overview of the Teensy Audio Library

    master

    The Teensy Audio Library provides 16-bit, 44.1 kHz streaming audio capabilities for Teensy 3.x and Teensy 4.x hardware. It allows for complex audio processing within an Arduino sketch by providing objects for:

    • Playback & Synthesis: Polyphonic playback and various synthesis methods.
    • Processing: Effects, filtering, and mixing.
    • Analysis & Recording: Audio analysis and recording capabilities.
    • Routing: Flexible signal routing between library objects and support for multiple simultaneous inputs and outputs.
    • Streaming: Automatic audio streaming that runs in the background while your main Arduino sketch executes.
  2. Supported Hardware for Teensy Audio

    master

    The library supports various hardware configurations for input and output:

    • Audio Adaptor Board: Provides 16-bit stereo input and output. Dual boards can be used for quad-channel 16-bit I/O.
    • Teensy 3.x/4.x Native I/O:
      • DAC Output: 12-bit Mono or Stereo output (depending on specific Teensy model).
      • ADC Input: Mono or Stereo input (depending on specific Teensy model).
      • PWM Output: Mono output.
    • USB Audio: Supports bi-directional stereo streaming to a PC.
  3. Design audio projects with the Audio System Design Tool

    master

    The Audio System Design Tool is a graphical interface used to design audio projects visually. Instead of manually writing routing code, you can:

    1. Browse features: Explore the library's available objects and effects.
    2. Connect objects: Visually wire audio objects together to create a signal chain.
    3. Export code: Automatically generate the corresponding Arduino code for your design.
    4. Access API details: Quickly find the specific functions required to control each object from your Arduino sketch.
    http://www.pjrc.com/teensy/gui/index.html