0

我正在编写一个程序,该程序使用用户提示的给定值来更改整个音轨的音高,例如,如果用户想要将基本音加倍,则程序应该产生一个高八度音程的音轨(例如,从 A4 到A5)。我试过这个

在matlab中更改音频wav文件的音高?

和这个

MATLAB - 音高转换音频信号

但没有任何效果。注释部分是我使用第二个算法的测试,但它没有编译。

这是我的代码。

 [audioIn,fs] = audioread('Silae.wav');
 [f0,idx] = pitch(audioIn,fs);

 subplot(2,1,1)
 plot(audioIn)
 ylabel('Amplitude')

 subplot(2,1,2)
 plot(idx,f0)
 ylabel('Pitch (Hz)')
 xlabel('Sample Number')

 %audiowrite('Silae.wav',2*fs,'trasposed.wav')   2+fs is the given ratio

谢谢您的帮助。

4

0 回答 0