How to decrease the speed of an audio signal in MATLAB???
5 次查看(过去 30 天)
显示 更早的评论
Hello,
How can i decrease the speed of an audio signal??
is there any simle methode to do so?
should i alwayse use FFT ???
or it used only if I want to change the pitch of the voice?
0 个评论
采纳的回答
Walter Roberson
2018-12-10
For audible output purposes: use a lower Fs (sampling frequency) for the audio output.
If the sampling frequency is to be maintained: resample() as-if to a higher frequency, but play at the same frequency. For example if you were to duplicate every input sample, making the output twice as long, but play it at the same rate, then what used to appear 1/2 second in would appear 2*1/2=1 second in, so we can see that the output would have been effectively slowed down.
4 个评论
Walter Roberson
2018-12-13
If I hack at it and set the analysis length to 256, same as the frame length, and make some small fix-ups, then I can get it to execute without error -- but the gain it calculates is small enough that the signals come out too quiet to hear.
The idft object is configured to expect conjugate symmetric input. However, the phase correction that is being done is not producing exact conjugate symmetric. When I set the analysis length to 256 then the only point that was not properly symmetric was the middle one, point 129 of 256. For even length fft, the middle point needs to have a 0 imaginary component in order for conjugate symmetric to work out, but it was showing a small imaginary component. That was probably due to the fact that the representation of pi is truncated and that argument reduction is not perfect, so sin(N*pi) for integer N can turn out to not be an exact 0. In my version, I added a fix-up for that situation.
I do not know yet what is happening for the case where the analysis length is smaller than the window length. Problems with the lack of conjugate symmetry, yes, but I have not traced far enough to figure out would be reasonable.
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!