arduino-audio-tools
All Classes Namespaces Files Functions Variables Typedefs Enumerations Friends Modules Pages
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  BufferRP2040T< T >
 Buffer implementation which is based on a RP2040 queue. This class is intended to be used to exchange data between the 2 different cores. Multi-core and IRQ safe queue implementation! More...
 
class  BufferRTOS< T >
 Buffer implementation which is using a FreeRTOS StreamBuffer. The default allocator uses psram is available. More...
 
class  DynamicResamplingQueueStream
 An Audio Stream backed by a buffer (queue) which tries to correct jitter and automatically adjusts for the slightly different clock rates between an audio source and audio target. Use separate tasks to write and read the data. Also make sure that you protect the access with a mutex or provide a thread save buffer! More...
 
class  NBuffer< T >
 A lock free N buffer. If count=2 we create a DoubleBuffer, if count=3 a TripleBuffer etc. More...
 
class  NBufferExt< T >
 A NBufferExt is a subclass of NBuffer which allows to use a direct access API to the BaseBuffer. 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 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  SynchronizedNBufferRTOST< 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.