Compering audio processing algorithms and evaluate the performance of the algorithm on GPU and CPU.
Analysis of Audio Processing Algorithm Effects:
Equalizer, Delay, Reverb, Compression.
Injustice - Developers Among Us (SciFiDevCon 2024)
Audio processing algorithms on the gpu
1. Student: Luca Pintavalle 756088
PROFESSOR: ING. SILVANO CRISTINA
TEACHING ASSISTANT : ING. ZACCARIA VITTORIO
PROJECT OF ADVANCED COMPUTER ARCHITECTURES
Audio processing algorithms on the GPU
Como 20-June-2011
2. Introductions
Analysis of Audio Processing Algorithm Effects:
Equalizer
Delay
Reverb
Compression
o Valuate the performance: CPU vs GPU
Student: Luca Pintavalle
3. Equalizer
What’s the Equalizer effect???
FIR vs IIR
Type of Filter:
Butterworth is used as low-pass filter
Student: Luca Pintavalle
Pseudo Code of Equalizer Design
4. Equalizer Conclusion
The equalizer is implemented as “single-thread”
purely sequential.
The equalizer implementation was expected to
perform poorly on the GPU because it can not be
computed in parallel.
Student: Luca Pintavalle
5. Delay
What’s the DELAY effect???
Delay can also done by summing up signal with FIR
Can be computed in parallel of block size, and it denote the number of sample to delay the
signal
How works Delay :
Student: Luca Pintavalle
6. Delay Design Algorithm
The “straight forward” design described how it should be computed for
parallel computation, and that it would use the same number of
arithmetic operations regardless of the delay length.
The “circular buffer” design had the same number of arithmetic
operations as straight forward, but allocated a fixed memory buffer
region to store the past “delayLength” number of elements to take
advantage of the CPU cache.
The“copy and sum” design showed a completely parallel way of
computing the delay formulation requiring use of atomic operations or
reduction methods, and required more arithmetic operations than the
other two.Student: Luca Pintavalle
7. Delay Conclusion
The “straight forward” and the “circular buffer” complexity is O(n)
The “copy and sum” is the worst, implementations is too much slower
due to inner “for” , in fact time complexity is O(n2) but can be done in
parallel
Student: Luca Pintavalle
8. Reverb
What’s the REVERB effect ???
Reverberations TIME T60
classical music: 1,5 – 2 sec
Concert hall: 2sec - Theater:1sec
Convolutions reverb impulse response are typically quite
long
How works Reveb:
impulse response Input signal
Student: Luca Pintavalle
9. Reverb
The reverb algorithm had four designs:
“standard fast convolution”
“overlap-save”
“overlap-add”
“partitioned convolution”.
All designs could be computed completely in parallel.
It’s the only algorithm which can be computed in
parallel.
Student: Luca Pintavalle
10. Reverb
It’s the only case where GPU is faster than CPU
Student: Luca Pintavalle
11. Compressor
What’s the Compressor effect ???
RMS is used for determinate how far the gain has
moved past the threshold.
The essential part of compressor is determinate the gain
coefficient
How works Compressor:
Student: Luca Pintavalle
12. Compressor
Compressor is implemented by two different
implementations:
single threaded design implemented for the CPU and GPU
multi threaded design is implemented for the CPU and GPU
Student: Luca Pintavalle
13. Conclusion
Partially Parallel Algorithms:
Fully Parallel Algorithms:
Fully Sequential Algorithms:
CPU GPU
Delay: FAST SLOW
Compressor FAST SLOW
CPU GPU
Reverb: SLOW FAST
CPU GPU
Equalizer: FAST SLOW
Student: Luca Pintavalle