SlideShare a Scribd company logo
1 of 14
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
Introductions
 Analysis of Audio Processing Algorithm Effects:
 Equalizer
 Delay
 Reverb
 Compression
o Valuate the performance: CPU vs GPU
Student: Luca Pintavalle
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
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
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
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
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
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
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
Reverb
 It’s the only case where GPU is faster than CPU
Student: Luca Pintavalle
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
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
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
The End
Thanks for the attentions

More Related Content

Similar to Audio processing algorithms on the gpu

Digital signal processing through speech, hearing, and Python
Digital signal processing through speech, hearing, and PythonDigital signal processing through speech, hearing, and Python
Digital signal processing through speech, hearing, and PythonMel Chua
 
A Low Latency Implementation of a Non Uniform Partitioned Overlap and Save Al...
A Low Latency Implementation of a Non Uniform Partitioned Overlap and Save Al...A Low Latency Implementation of a Non Uniform Partitioned Overlap and Save Al...
A Low Latency Implementation of a Non Uniform Partitioned Overlap and Save Al...a3labdsp
 
3 f3 3_fast_ fourier_transform
3 f3 3_fast_ fourier_transform3 f3 3_fast_ fourier_transform
3 f3 3_fast_ fourier_transformWiw Miu
 
Frequency Spectrum Displayer
Frequency Spectrum DisplayerFrequency Spectrum Displayer
Frequency Spectrum DisplayerHaowei Jiang
 
final poster AMSIC lab
final poster AMSIC labfinal poster AMSIC lab
final poster AMSIC labCameron Young
 
Bryan guner professional portfolio
Bryan guner professional portfolioBryan guner professional portfolio
Bryan guner professional portfolioBryan Guner
 
Real Time Implementation of Active Noise Control
Real Time Implementation of Active Noise ControlReal Time Implementation of Active Noise Control
Real Time Implementation of Active Noise ControlChittaranjan Baliarsingh
 
VOICE CONTROLLED WHEELCHAIR using Amharic.pdf
VOICE CONTROLLED WHEELCHAIR using Amharic.pdfVOICE CONTROLLED WHEELCHAIR using Amharic.pdf
VOICE CONTROLLED WHEELCHAIR using Amharic.pdfMubarek kebede
 
Gr 12 - Buzzer Project on Sound Production (W10).pptx
Gr 12 - Buzzer Project on Sound Production (W10).pptxGr 12 - Buzzer Project on Sound Production (W10).pptx
Gr 12 - Buzzer Project on Sound Production (W10).pptxafsheenfaiq2
 
A Simple Communication System Design Lab #2 with MATLAB Simulink
A Simple Communication System Design Lab #2 with MATLAB SimulinkA Simple Communication System Design Lab #2 with MATLAB Simulink
A Simple Communication System Design Lab #2 with MATLAB SimulinkJaewook. Kang
 
fft using labview
fft using labviewfft using labview
fft using labviewkiranrockz
 
Interface stepper motor through Arduino using LABVIEW.
Interface stepper motor through Arduino using LABVIEW.Interface stepper motor through Arduino using LABVIEW.
Interface stepper motor through Arduino using LABVIEW.Ankita Tiwari
 

Similar to Audio processing algorithms on the gpu (20)

Digital signal processing through speech, hearing, and Python
Digital signal processing through speech, hearing, and PythonDigital signal processing through speech, hearing, and Python
Digital signal processing through speech, hearing, and Python
 
A Low Latency Implementation of a Non Uniform Partitioned Overlap and Save Al...
A Low Latency Implementation of a Non Uniform Partitioned Overlap and Save Al...A Low Latency Implementation of a Non Uniform Partitioned Overlap and Save Al...
A Low Latency Implementation of a Non Uniform Partitioned Overlap and Save Al...
 
3 f3 3_fast_ fourier_transform
3 f3 3_fast_ fourier_transform3 f3 3_fast_ fourier_transform
3 f3 3_fast_ fourier_transform
 
Frequency Spectrum Displayer
Frequency Spectrum DisplayerFrequency Spectrum Displayer
Frequency Spectrum Displayer
 
final poster AMSIC lab
final poster AMSIC labfinal poster AMSIC lab
final poster AMSIC lab
 
Bryan guner professional portfolio
Bryan guner professional portfolioBryan guner professional portfolio
Bryan guner professional portfolio
 
Ppt on fft
Ppt on fftPpt on fft
Ppt on fft
 
Dsp lab pdf
Dsp lab pdfDsp lab pdf
Dsp lab pdf
 
COUNTERS.pptx
COUNTERS.pptxCOUNTERS.pptx
COUNTERS.pptx
 
Real Time Implementation of Active Noise Control
Real Time Implementation of Active Noise ControlReal Time Implementation of Active Noise Control
Real Time Implementation of Active Noise Control
 
VOICE CONTROLLED WHEELCHAIR using Amharic.pdf
VOICE CONTROLLED WHEELCHAIR using Amharic.pdfVOICE CONTROLLED WHEELCHAIR using Amharic.pdf
VOICE CONTROLLED WHEELCHAIR using Amharic.pdf
 
Yacf
YacfYacf
Yacf
 
Boothmultiplication
BoothmultiplicationBoothmultiplication
Boothmultiplication
 
Lec2
Lec2Lec2
Lec2
 
Assembly p1
Assembly p1Assembly p1
Assembly p1
 
Gr 12 - Buzzer Project on Sound Production (W10).pptx
Gr 12 - Buzzer Project on Sound Production (W10).pptxGr 12 - Buzzer Project on Sound Production (W10).pptx
Gr 12 - Buzzer Project on Sound Production (W10).pptx
 
A Simple Communication System Design Lab #2 with MATLAB Simulink
A Simple Communication System Design Lab #2 with MATLAB SimulinkA Simple Communication System Design Lab #2 with MATLAB Simulink
A Simple Communication System Design Lab #2 with MATLAB Simulink
 
fft using labview
fft using labviewfft using labview
fft using labview
 
Interface stepper motor through Arduino using LABVIEW.
Interface stepper motor through Arduino using LABVIEW.Interface stepper motor through Arduino using LABVIEW.
Interface stepper motor through Arduino using LABVIEW.
 
Mini Project- Audio Enhancement
Mini Project- Audio EnhancementMini Project- Audio Enhancement
Mini Project- Audio Enhancement
 

Recently uploaded

Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsPrecisely
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 

Recently uploaded (20)

Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power Systems
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
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
  • 14. The End Thanks for the attentions