Go to the source code of this file.
|
| class | FastIntSineGenerator< T > |
| | Sine wave generator that does not use any floating point operations in the readSample() hot path: it advances a 32 bit phase accumulator with an integer increment and looks up the result in a Q15 fixed point table. All floating point math (converting frequency/sample_rate into the phase increment) is done once in setFrequency()/setAudioInfo(), never per sample. This makes it a good fit for MCUs without a hardware FPU - e.g. the RP2040 - where sinf() is comparatively expensive. More...
|
| |
| class | FastSineGenerator< T > |
| | Sine wave which is based on a fast approximation function using floating point math. More...
|
| |
| class | FloatSineGenerator< T > |
| | Generates a Sound with the help of sin() function. If performance is of concern, I suggest to use theSineFromTable, the FastSineGenerator or the FastIntSineGenerator. More...
|
| |
| class | GeneratorFixedValue< T > |
| | Just returns a constant value. More...
|
| |
| class | GeneratorFromArray< T > |
| | We generate the samples from an array which is provided in the constructor. More...
|
| |
| class | GeneratorFromStream< T > |
| | An Adapter Class which lets you use any Stream as a Generator. More...
|
| |
| class | GeneratorMixer< T > |
| | Generator which combines (mixes) multiple sound generators into one output. More...
|
| |
| class | PinkNoiseGenerator< T > |
| | Generates pink noise. More...
|
| |
| class | SawToothGenerator< T > |
| | Generates a saw tooth wave sound. Uses a 32 bit phase accumulator with an integer increment, just like FastIntSineGenerator: no floating point operations or divisions in the readSample() hot path. Unlike a sine, a saw tooth needs no lookup table either - a wrapping unsigned accumulator reinterpreted as signed already is a linear ramp - so this is even cheaper than FastIntSineGenerator and a good fit for MCUs without a hardware FPU (e.g. RP2040), where the previous sinf()/float based implementation (inherited from SineGenerator) was comparatively expensive. More...
|
| |
| class | SilenceGenerator< T > |
| | Provides a fixed value (e.g. 0) as sound data. This can be used e.g. to test the output functionality which should optimally just output silence and no artifacts. More...
|
| |
| class | SineFromTable< T > |
| | A sine generator based on a table. The table is created using degrees where one full wave is 360 degrees. More...
|
| |
| class | SoundGenerator< T > |
| | Base class to define the abstract interface for the sound generating classes. More...
|
| |
| class | SquareWaveGenerator< T > |
| | Generates a square wave sound. Uses the same 32 bit phase accumulator as SawToothGenerator/FastIntSineGenerator: no floating point operations or sin() calls in the readSample() hot path. A square wave needs neither a sine approximation nor a lookup table - just the sign bit of the ramp - so readSample() is a single comparison, making this a good fit for MCUs without a hardware FPU (e.g. RP2040), where the previous FastSineGenerator based implementation still did a float polynomial evaluation per sample just to keep its sign. More...
|
| |
| class | TestGenerator< T > |
| | Generates a test signal which is easy to check because the values are incremented or decremented by 1. More...
|
| |
| class | WhiteNoiseGenerator< T > |
| | Generates a random noise sound with the help of rand() function. More...
|
| |
|
| namespace | audio_tools |
| | Generic Implementation of sound input and output for desktop environments using portaudio.
|
| |