arduino-audio-tools
Classes

Different Buffer Implementations. More...

Classes

class  BaseBuffer< T >
 Shared functionality of all buffers. More...
 
class  BufferedArray< T >
 Class which is usfull ot provide incremental data access e.g. for EdgeImpulse which request data with an offset and length starting from 0 up to the buffer length, restarting at 0 again. More...
 
class  BufferRTOS< T >
 Buffer implementation which is using a FreeRTOS StreamBuffer. The default allocator uses psram is available. More...
 
class  NBuffer< T >
 A lock free N buffer. If count=2 we create a DoubleBuffer, if count=3 a TripleBuffer etc. More...
 
class  RingBuffer< T >
 Implements a typed Ringbuffer. More...
 
class  RingBufferFile< File, T >
 An File backed Ring Buffer that we can use to receive streaming audio. We expect an open p_file as parameter. More...
 
class  SingleBuffer< T >
 A simple Buffer implementation which just uses a (dynamically sized) array. More...
 
class  SynchronizedBuffer< T >
 Wrapper class that can turn any Buffer into a thread save implementation. More...
 
class  SynchronizedNBuffer< T >
 NBuffer which uses some RTOS queues to manage the available and filled buffers. More...
 
class  VariableSpeedRingBuffer< T >
 Optimized Buffer implementation for Pitch Shift. We try to interpolate the samples and restore the phase when the read pointer and write pointer overtake each other. More...
 
class  VariableSpeedRingBuffer180< T >
 Varialbe speed ring buffer where we read with 0 and 180 degree and blend the result to prevent overrun artifacts. See https://github.com/YetAnotherElectronicsChannel/STM32_DSP_PitchShift. More...
 
class  VariableSpeedRingBufferSimple< T >
 Very Simple Buffer implementation for Pitch Shift. We write in constant speed, but reading can be done in a variable speed. We will hear some noise when the buffer read and write pointers overrun each other. More...
 

Detailed Description

Different Buffer Implementations.