I am trying to distort an audio file. How can I adjust the amplitude of the waveform so that the peaks are all maximized to a predetermined value? The idea is to be able to manipulate the amplitude level and thus manipulate the level of distortion. I am using a .wav file.

 채택된 답변

Anathea Pepperl
Anathea Pepperl 2014년 12월 10일

0 개 추천

I'm assuming that you are using a .wav file. First you will want to use wavread to read the audio data into Matlab. Then you could use logical indexing, like audio_data(audio_data > thresh) = max_value; in order to force values above a certain value.
You could also find peaks by finding where the derivative is 0 (use the second derivative to find if that value is a min or a max), and set the local maxima to your predetermined value.
Hope this helps!

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Audio I/O and Waveform Generation에 대해 자세히 알아보기

질문:

2014년 12월 1일

답변:

2014년 12월 10일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by