Speech signal power decrease speed

Hi,
I have designed a system/algorithm which attenuates speech signal. Now I would like to calculate using Matlab - from my system's output speech signal (a wav file) - the power of original signal and power of processed signal and see how fast it is attenuated let say -10dB. I expect that would happen in some tens (or hundreds) of msec's. What would be convenient way to calculate the powers and get the result? Best would be if I could plot the powers graphically. Any .m code example for this available?
If I calculate signal powers frame-by-frame (let say 10ms frames), the speech signal is changing too fast and not that visual?
Thanks,
Micke

6 Commenti

hi
why not plot the envelop of the signal ? you should be able to see that drop in amplitude
see : envelope Envelope detector.
[YUPPER,YLOWER] = envelope(X) returns the upper and lower envelopes of
the input sequence, X, using the magnitude of its analytic signal.
That might be a good solution. Just wondering can I plot it so that it will "alert" if output is dropped -10dB or more compared to input...
do you have already started to code ? maybe I can jump in if you have a code to share
Great, thanks. I already did a very basic start plotting upper envelopes:
[signalIn, fs] = audioread('input.wav');
[signalOut, fs] = audioread('output.wav');
figure
[YUPPERin, YLOWERin] = envelope(signalIn);
[YUPPERout, YLOWERout] = envelope(signalOut);
plot(YUPPERin, 'r');
hold on;
plot(YUPPERout, 'g');
hello
can you share the wav files as well ?
Sorry for delayed response but I was able to confirm from time domain signals that my algorithm is fast enough and gave up from this deeper checking as it is challenging to calculate it after all. Thanks for the help.

Accedi per commentare.

Risposte (0)

Prodotti

Tag

Richiesto:

il 27 Apr 2021

Commentato:

il 3 Mag 2021

Community Treasure Hunt

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

Start Hunting!

Translated by