arduino-audio-tools
Classes
Converting Streams

Stream classes which change the input or output. More...

Classes

class  AudioEffectStream
 EffectsStream supporting variable bits_per_sample. This class is only available when __cplusplus >= 201703L. Otherwise AudioEffectStream results in using AudioEffectStream = AudioEffectStreamT<effect_t>;. More...
 
class  AudioEffectStreamT< T >
 EffectsStreamT: the template class describes an input or output stream to which one or multiple effects are applied. The number of channels are used to merge the samples of one frame into one sample before outputting the result as a frame (by repeating the result sample for each channel). Currently only int16_t values are supported, so I recommend to use the AudioEffectStream class which is defined as using AudioEffectStream = AudioEffectStreamT<effect_t>;. More...
 
class  ChannelFormatConverterStream
 Channel converter which does not use a template. More...
 
class  ChannelFormatConverterStreamT< T >
 Converter for reducing or increasing the number of Channels. More...
 
class  ChannelSplitOutput
 Simple functionality to extract mono streams from a multichannel (e.g. stereo) signal. More...
 
class  ChannelsSelectOutput
 Flexible functionality to extract one or more channels from a multichannel signal. Warning: the destinatios added with addOutput are not automatically notified about audio changes. More...
 
class  ConverterStream< T >
 Both the data of the read or write operations will be converted with the help of the indicated converter. More...
 
class  EncodedAudioOutput
 A more natural Print class to process encoded data (aac, wav, mp3...). Just define the output and the decoder and write the encoded data. More...
 
class  EncodedAudioStream
 A more natural Stream class to process encoded data (aac, wav, mp3...) which also supports the decoding by calling readBytes(). More...
 
class  FadeStream
 Stream which can be used to manage fade in and fade out. Before you read or write data you need to call setAudioInfo() to provide the bits_per_sample and channels. More...
 
class  FilteredStream< T, TF >
 Stream to which we can apply Filters for each channel. The filter might change the result size! More...
 
class  FormatConverterStream
 Converter which converts bits_per_sample, channels and the sample_rate. The conversion is supported both on the input and output side. More...
 
class  InputMerge< T >
 Merges multiple input channels. The input must be mono! So if you provide 2 mono channels you get a stereo signal as result with the left channel from channel 0 and the right from channel 1. More...
 
class  InputMixer< T >
 MixerStream is mixing the input from Multiple Input Streams. All streams must have the same audo format (sample rate, channels, bits per sample). More...
 
class  MultiOutput
 Replicates the output to multiple destinations. More...
 
class  NumberFormatConverterStream
 Converter which converts between bits_per_sample and 16 bits. The templated NumberFormatConverterStreamT class is used based on the information provided by the bits_per_sample in the configuration. More...
 
class  NumberFormatConverterStreamT< TFrom, TTo >
 A more generic templated Converter which converts from a source type to a target type: You can use e.g. uint8_t, int8_t, int16_t, uint16_t, int24_t, uint32_t, int32_t, FloatAudio.AbstractMetaDat. This is quite handy because unsigned values and floating values are supported and you do not need to resort to use a Codec. More...
 
class  OutputMixer< T >
 Mixing of multiple outputs to one final output. More...
 
class  Pipeline
 We can build a input or an output chain: an input chain starts with setInput(); followed by add() an output chain consinsts of add() and ends with setOutput();. More...
 
class  PitchShiftOutput< T, BufferT >
 Pitch Shift: Shifts the frequency up or down w/o impacting the length! We reduce the channels to 1 to calculate the pitch shift and provides the pitch shifted result in the correct number of channels. The pitch shifting is done with the help of a buffer that can have potentially multiple implementations. More...
 
class  ResampleStream
 Dynamic Resampling. We can use a variable factor to speed up or slow down the playback. More...
 
class  TimedStream
 AudioStream class that can define a start and (an optional) stop time Usually it is used to wrap an Audio Sink (e.g. I2SStream), but wrapping an Audio Source is supported as well. Only wrap classes which represent PCM data! More...
 
class  VolumeStream
 Adjust the volume of the related input or output: To work properly the class needs to know the bits per sample and number of channels! AudioChanges are forwareded to the related Print or Stream class. More...
 

Detailed Description

Stream classes which change the input or output.