gpt4 book ai didi

matlab - 如何在MATLAB上与音频文件同步地使用移动的光标绘制图形

转载 作者:行者123 更新时间:2023-12-02 22:41:07 25 4
gpt4 key购买 nike

因此,基本上,我必须制作一个绘制.wav文件的GUI。我想包含一个可移动的光标,它与所播放的音频同步在轴中移动。

基本上,每当我单击“播放音频”按钮时,该线都应在音频文件的确切时间段后在整个图上移动。

最佳答案

由于我没有音频数据,因此我将创建5000个随机点,采样频率为1000 Hz,以进行播放和绘图

x=[randn(2500, 1)/10; randn(2500,1)*10]; % noise with a step change in the middle
fs = 1000;
time=(0:length(x)-1)/fs;
figure(1)
plot(time, x)
xlabel('Time (s)')
grid on
end_time = length(x)/fs;

现在,我将创建一条红色的垂直线,该垂直线将在播放时沿数据移动。需要存储句柄h,以便可以更新x数据
h=line([0,0],[-30,30],'color','r','marker', 'o', 'linewidth', 2);

这是当用户单击播放按钮时将运行的代码:
sound(x, fs) % starts playing the sound
tic % Starts Matlab timer
t=toc; % Gets the time since the timer started
while t<end_time
set(h, 'xdata', t*[1,1]) % Moves the line to the time indicated by t
drawnow % necessary to get figure updated
t=toc; % get the current time for the next update
end

此代码将尽快更新线路,因此,如果计算机速度较快,则计算机更新速度将比计算机速度较慢时更多。

关于matlab - 如何在MATLAB上与音频文件同步地使用移动的光标绘制图形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20921746/

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