Algorithms¶
Supplied Processing Algorithms¶
SOF contains several permissively-licensed and royalty-free audio processing algorithms that can be used alongside proprietary processing components to build pipelines.
Processing |
Description |
Generic C |
SIMD Support |
Status |
Milestone |
---|---|---|---|---|---|
Acoustical Echo Cancellation (mockup) |
Attenuates speaker originated acoustical coupling in microphone capture signal |
Yes |
N/A |
Planned |
1.6 |
Asynchronous sample rate conversion |
Converts between common sample rates and connects pipelines with different clock domains |
Yes |
Xtensa HiFi3 |
Upstream |
1.5 |
Channel selector |
Copies the selected channel from the source buffer to the sink buffer |
Yes |
N/A |
Upstream |
1.4 |
Crossover |
Splits up audio into at most four different bands for individual processing |
Yes |
(Possible via IIR) |
Upstream |
1.5 |
DCBlocker |
Simple highpass filter to remove DC components from audio |
Yes |
N/A |
Upstream |
1.4 |
Demultiplexer |
Copies PCM sample frames from one source buffer to multiple sink buffers with configurable channels |
Yes |
N/A |
Upstream |
1.4 |
Dynamic Range Processor |
Compresses and expands an audio signal to bring out quiet sounds and dampening loud sounds |
Yes |
Yes |
In Progress |
1.7 (expected) |
FIR equalizer |
Enhances frequency response with a finite impulse response filter, e.g. improve speaker sound |
Yes |
Xtensa HiFi3 |
Upstream |
1.4 |
IIR equalizer |
Enhances frequency response with an infinite impulse response filter, e.g. cancel DC component or improve speaker sound |
Yes |
Xtensa HiFi3 |
Upstream |
1.4 |
Mixer |
Sums with unity gain and saturation source buffers of multiple pipelines to a single output sink buffer |
Yes |
No |
Upstream |
1.0 |
Multi-microphone beamformer |
Enhances directivity of microphone array towards steer direction and attenuates diffuse noise |
Yes |
Yes |
Upstream |
1.6 |
PCM converter |
Not a dedicated component but provides for DAI and host components conversion between PCM formats e.g. S16_LE, S24_LE, and S32_LE |
Yes |
Xtensa HiFi3 |
Upstream |
1.5 |
Sample rate conversion |
Converts between common sample rates to connect multi-rate synchronous pipelines |
Yes |
Xtensa HiFi3 |
Upstream |
1.3 |
Volume |
Provides real-time stream gain controls to the user |
Yes |
Xtensa HiFi3 |
Upstream |
1.0 |
Algorithm Specific Information¶
Further information on specific algorithms is forthcoming.