从开始时间到结束时间播放音频片段,并且图形上的同时垂直线应该从开始到结束点移动.MATLAB

时间:2014-02-28 09:48:47

标签: matlab matrix playback speaker

我有参与对话的演讲者及其开始和结束时间的矩阵......如下所示

segmentation_result=
            start time  end time  
 speaker1    1           1095 
 speaker2    10.95       20.67
 speaker3    20.67       35.54

我想播放每个发言者的片段,new_seg是原始语音信号的列向量,如果我有时间我可以通过将该时间乘以Fs(16000)来计算片段的大小,其中第一个片段总是从1开始.i尝试了下面的代码

count=0;
for i=1:length(segmentation_result(:,1))
    count=count+1;
    if count==1
       player=audioplay(new_seg(segmentation_result(1):segmentation_result(i,2)*Fs));
       lay(player);
    else 
       player=audioplay(new_seg(segmentation_result(i,1):segmentation_result(i,2)*Fs));
       play(player);
    end
end

但是那个玩家正在被覆盖......这就是为什么只有最后一个玩家正在玩...

我制作了new_seg语音信号的图形,其中x轴是时间,y-xis是new_seg data的振幅值。我已经在图表上显示了有扬声器变化点的垂直线。现在我想要那个垂直线应该自动从扬声器片段的开始时间移动到结束点,同时该片段也应该播放。

您的帮助将不胜感激..

0 个答案:

没有答案