gpt4 book ai didi

matlab - 使用 audioread 或等效的以特定时间戳播放音频

转载 作者:行者123 更新时间:2023-12-02 23:07:27 35 4
gpt4 key购买 nike

我正在使用 audioread 播放音频,现在我想以不同的时间戳播放轨道。到目前为止,我所拥有的是:

[testSound,Fs] = audioread('test.wav');
sound(testSound,Fs);

是否可以以某种方式指定音轨应从例如秒 5 开始?更具体地说,我的音频样本 test.wav是 45 秒长,而不是从头开始播放声音,我想定义它应该从哪里开始播放。

任何帮助深表感谢!

最佳答案

您可以提取一部分信号,以便从 5 秒标记处开始,然后播放。简而言之,您将以 5 倍的采样率作为起始索引开始采样,一直到结束,然后播放声音:

[testSound,Fs] = audioread('test.wav'); % From your code
beginSecond = 5; % Define where you want to start playing
beginIndex = floor(beginSecond*Fs); % Find beginning index of where to sample
soundExtract = testSound(beginIndex:end, :); % Extract the signal
sound(soundExtract, Fs); % Play the sound

或者,由于您使用的是 audioread ,您实际上可以指定从哪里开始对声音进行采样。您将使用上述相同的逻辑并指定对声音进行采样的开始和结束位置 在 sample 方面 .但是,您首先需要知道采样率是多少,因此您必须调用 audioread两次获得采样率,最后是信号本身:
beginSecond = 5; % Define where you want to start playing
[~, Fs] = audioread('test.wav'); % Get sampling rate
beginIndex = floor(beginSecond*Fs); % Find beginning index of where to sample
[soundExtract, ~] = audioread('test.wav', [beginIndex inf]); % Extract out the signal from the starting point to the end of the file
sound(soundExtract, Fs); % Play the sound

关于matlab - 使用 audioread 或等效的以特定时间戳播放音频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40295639/

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