# how to create speech waves with equal loudness in matlab

조회 수: 8(최근 30일)
ana 18 Nov 2013
답변: ana 22 Nov 2013
hi frnds i want matlab command or code for making speech waves with equal loudness in matlab i.e speech waves with same intensity and frequency.

댓글을 달려면 로그인하십시오.

### 채택된 답변

Pedro Villena 18 Nov 2013
편집: Pedro Villena 19 Nov 2013
I suggest you to use Microsoft Anna (Text to Speech) and save the sound in a *.wav file or *.mp3 file.
Then import the sound file to MATLAB.
To equalize the loudness you could try this options:
• Use the soundsc command:
y1n = soundsc(y1,Fs1);
y2n = soundsc(y2,Fs2);
• Use FFT to equalize the median dB:
Pxx1 = abs(fft(y1));
Pxx2 = abs(fft(y2));
dB1 = median(10*log10(Pxx1(1:(end/2)).^2));
dB2 = median(10*log10(Pxx2(1:(end/2)).^2));
dB = [dB1 dB2];
k = sqrt(10.^((max(dB)-dB)/10));
y1n = k(1)*y1;
y2n = k(2)*y2;

#### 댓글 수: 2

ana 19 Nov 2013
Hey thnx for this idea. But already i have some speech waves that i want to make with equal loudness, so is there any another way to do this ?
Pedro Villena 19 Nov 2013
Sorry, I forget to tell you how to equalize the loudness.
Options:
• Use the soundsc command:
Examples:
y1n = soundsc(y1,Fs1);
y2n = soundsc(y2,Fs2);
• Use FFT to equalize the median dB:
Pxx1 = abs(fft(y1));
Pxx2 = abs(fft(y2));
dB1 = median(10*log10(Pxx1(1:(end/2)).^2));
dB2 = median(10*log10(Pxx2(1:(end/2)).^2));
dB = [dB1 dB2];
k = sqrt(10.^((max(dB)-dB)/10));
y1n = k(1)*y1;
y2n = k(2)*y2;

댓글을 달려면 로그인하십시오.

ana 22 Nov 2013

댓글을 달려면 로그인하십시오.

### Community Treasure Hunt

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

Start Hunting!

Translated by