%% semitones = 12; % 降低的半音数量,12半音相当于降低1个八度 y = pitchShift(x, Fs, semitones); fig.UserData.audio.pitchDown = y; audiowrite('output2.wav', y, Fs); % 输出为 output2.wav %% delay = round(Fs * 0.5); % 回声延迟为0.5秒 atten = 0.5; % 回声衰减为0.5 回声衰减度 每经过一次反射后信号减弱一半 y = echoEffect(x, delay, atten); fig.UserData.audio.echo = y; audiowrite('output3.wav', y, Fs); % 输出为 output3.wav fig.UserData.currentAudio = 'original'; updatePlot(fig);
时间: 2024-02-14 13:35:30 浏览: 151
speed-to-semitones:从音频速度计算半音
这段代码对读入的音频数据进行了三种处理:降调、回声和更新原始音频的显示。
首先,将原始音频数据通过调用`pitchShift`函数降低了12个半音,即降低了一个八度,将处理后的音频数据存储在图形窗口的用户数据中,并输出到`output2.wav`文件中。
接着,将原始音频数据通过调用`echoEffect`函数添加了回声效果,将处理后的音频数据存储在图形窗口的用户数据中,并输出到`output3.wav`文件中。
最后,将当前图形窗口的用户数据设置为原始音频数据,并调用名为`updatePlot`的函数更新图形窗口中的音频波形显示。
阅读全文