arduino-audio-tools
Classes

Input/Output. More...

Classes

class  A2DPStream
 Stream support for A2DP using https://github.com/pschatzmann/ESP32-A2DP: begin(TX_MODE) opens a a2dp_source and begin(RX_MODE) a a2dp_sink. The data is in int16_t with 2 channels at 44100 hertz. We support only one instance of the class! Please note that this is a conveniance class that supports the stream api, however this is rather inefficient, beause quite a big buffer needs to be allocated. It is recommended to use the API with the callbacks. Examples can be found in the a2dp examples directory starting with basic. More...
 
class  AnalogAudioArduino
 Analog Data IO using a timer and the Arduino analogRead() method and writing using analogWrite();. More...
 
class  AnalogAudioStream
 ESP32: A very fast ADC and DAC using the ESP32 I2S interface. For all other architectures we support reading of audio only using analog input with a timer. More...
 
class  AudioBoardStream
 New functionality which replaces the AudioKitStream that is based on the legacy AudioKit library. This functionality uses the new arduino-audio-driver library! It is the same as I2SCodecStream extended by some AudioActions and some method calls to determine defined pin values. See https://github.com/pschatzmann/arduino-audio-driver. More...
 
class  AudioESP32ULP
 Outputs to ESP32 DAC through the ULP (Ultra> Low Power coprocessor), freeing I2S for other uses. Connect left channel on pin 25 Connect right channel on pin 26. More...
 
class  AudioKitStream
 AudioKit Stream which uses the https://github.com/pschatzmann/arduino-audiokit library. More...
 
class  AudioMP34DT05
 MP34DT05 Microphone of Nano BLE Sense. We provide a proper Stream implementation. See https://github.com/arduino/ArduinoCore-nRF528x-mbedos. More...
 
class  CallbackStream
 CallbackStream: A Stream that allows to register callback methods for accessing and providing data. The callbacks can be lambda expressions. More...
 
class  CatStream
 Provides data from a concatenation of Streams. Please note that the provided Streams can be played only once! You will need to reset them (e.g. moving the file pointer to the beginning) and readd them back if you want to process them a second time. The default timeout on the available() method is set to 0. This might be not good if you use e.g. a URLStream. More...
 
class  CsvOutput< T >
 Stream Wrapper which can be used to print the values as readable ASCII to the screen to be analyzed in the Serial Plotter The frames are separated by a new line. The channels in one frame are separated by a ,. More...
 
class  DecimationStreamExt< T >
 Deciates an sample stream by the indicated factor: Decimation counts the number of set bits. Please note that the factor is specified as multiple of the bits_per_sample. It is also assumed that we have only one channel in the data stream. More...
 
class  DynamicMemoryStream
 MemoryStream which is written and read using the internal RAM. For each write the data is allocated on the heap. More...
 
class  FileLoop
 A simple class which implements a automatic looping file. The file needs to be of the class File from FS.h. The number of loops can be defined by calling setLoopCount(). You can also optinally limit the total looping file size by calling setSize();. More...
 
class  FileLoopT< FileType >
 A simple class which implements a automatic looping file. In order to support different file implementation the file class is a template parameter. The number of loops can be defined by calling setLoopCount(). You can also optinally limit the total looping file size by calling setSize();. More...
 
class  FrequncyAutoCorrelationStream
 Determine Frequency using Audio Correlation. based on https://github.com/akellyirl/AutoCorr_Freq_detect. More...
 
class  FrequncyZeroCrossingStream
 Determine Frequency using upward 0 crossings. More...
 
class  GeneratedSoundStream< T >
 Source for reading generated tones. Please note. More...
 
class  HexDumpOutput
 Creates a Hex Dump. More...
 
class  I2SBitBang
 I2S emulated with the help of the Arduion SPI api. More...
 
struct  I2SCodecConfig
 Configuration for I2SCodecStream. More...
 
class  I2SCodecStream
 I2S Stream which also sets up a codec chip and i2s. More...
 
class  I2SStream
 We support the Stream interface for the I2S access. In addition we allow a separate mute pin which might also be used to drive a LED... More...
 
class  LEDOutputUnoR4
 LED output using the R4 LED matrix library. More...
 
class  MeasuringStream
 Class which measures the thruput. More...
 
class  MemoryOutput
 Writes to a preallocated memory. More...
 
class  MemoryStream
 A simple Stream implementation which is backed by allocated memory. More...
 
class  MiniAudioStream
 MiniAudio: https://miniaud.io/. More...
 
class  ModifyingOutput
 Abstract class: Objects can be put into a pipleline. More...
 
class  ModifyingStream
 Abstract class: Objects can be put into a pipleline. More...
 
class  NullStream
 The Arduino Stream which provides silence and simulates a null device when used as audio target or audio source. More...
 
class  PDMMonoStreamT< T >
 Applies low pass filter to a decimated pdm signal to convert it to pcm. More...
 
class  PortAudioStream
 Arduino Audio Stream using PortAudio. More...
 
class  ProgressStream
 Generic calss to measure the the total bytes which were processed in order to calculate the progress as a percentage of the total size. More...
 
class  PureDataStream
 Input and output of Pure Data PD using code generated by the hvcc compiler. The audio format is defined by the sample rate in the Heavy constructor, the number of channels in the ADC and DAC and the bits_per_sample of 16. Therefore the audio format can not be changed dynamically. I recommend to make sure that the input format and output format is consistent, otherwise you need to change the format in PD. More...
 
class  PWMAudioOutput
 Common functionality for PWM output. Please use the PWMAudioOutput typedef instead which references the implementation. More...
 
class  QueueStream< T >
 Stream class which stores the data in a temporary queue buffer. The queue can be consumed e.g. by a callback function by calling readBytes();. More...
 
class  R2ROutput
 Output to R-2R DAC. You need to define the used digital pins in the configuration. Any number of bits is supported on max 2 channels. For a 4 bit single channel, you need to define 4 digital pins. see https://www.electronics-tutorials.ws/combination/r-2r-dac.html The default driver implementation uses Arduino digitalWrite(). You can provide your own optimized driver. More...
 
class  RingBufferStream
 An AudioStream backed by a Ringbuffer. We can write to the end and read from the beginning of the stream. More...
 
class  RTSPOutput
 We can write PCM data to the RTSPOutput. This is encoded by the indicated encoder (e.g. SBCEncoder) and can be consumed by a RTSPServer. You have to make sure that the codec supports the provided audio format: e.g. GSM support only 8000 samples per second with one channel. Depends on the https://github.com/pschatzmann/Micro-RTSP-Audio/ library. More...
 
class  SPDIFOutput
 Output as 16 bit stereo SPDIF on the I2S data output pin. More...
 
class  StdioStream
 Direct binary Audio Output to stdout. On linux you can hear the audio e.g. with ./generator | aplay -f cd or reading data from stdin. More...
 
class  TimerCallbackAudioStream
 Callback driven Audio Source (rx_tx_mode==RX_MODE) or Audio Sink (rx_tx_mode==TX_MODE). This class allows to to integrate external libraries in order to consume or generate a data stream which is based on a timer. More...
 
class  VolumeMeter
 A simple class to determine the volume. You can use it as final output or as output or input in your audio chain. More...
 
class  VS1053Stream
 VS1053 Output Interface which processes PCM data by default. If you want to write encoded data set is_encoded_data = true in the configuration;. More...
 
class  WM8960Stream
 Stream for reading and writing audio data using the WM8960 Codec Chip You need to install https://github.com/pschatzmann/arduino-wm8960. More...
 

Detailed Description

Input/Output.