gpt4 book ai didi

matlab - 如何以与原始文件相同的速度播放采样的音频文件?

转载 作者:行者123 更新时间:2023-12-02 22:52:00 24 4
gpt4 key购买 nike

问题如标题中所述。

在我抽取一个音频信号后,该音频信号每隔n个点依次抽取一次,从而使音频剪辑的速度提高了n倍。我希望抽取的剪辑和原始的剪辑具有相同的时间长度。

这是我的代码,分析并清除钢琴.wav

[piano,fs]=wavread('piano.wav'); % loads piano
play=piano(:,1); % Renames the file as "play"

t = linspace(0,time,length(play)); % Time vector
x = play;
y = decimate(x,2);

stem(x(1:30)), axis([0 30 -2 2]) % Original signal
title('Original Signal')
figure
stem(y(1:30)) % Decimated signal
title('Decimated Signal')

%changes the sampling rate

fs1 = fs/2;
fs2 = fs/3;
fs3 = fs/4;
fs4 = fs*2;
fs5 = fs*3;
fs6 = fs*4;

wavwrite(y,fs,'PianoDecimation');

可能的解决方案:由于新抽取的片段比原始片段短2倍,因此将其余所有点加倍。

我只是希望能够对2个剪辑进行并排比较。

这是音频文件: http://www.4shared.com/audio/11xvNmkd/piano.html

最佳答案

尽管@sage的答案有很多有用的信息,但我认为问题的答案很简单,就像将最后一行更改为:

 wavplay(y,fs/2,'PianoDecimation')

您已删除了文件中一半的样本,因此要在与原始文件相同的时间段内进行播放,您需要将播放频率设置为每秒样本的一半。

关于matlab - 如何以与原始文件相同的速度播放采样的音频文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4549755/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com