Extracting a segment from sound file
7 次查看(过去 30 天)
显示 更早的评论
Hi,
I have a wave file of 100 seconds. And I have a excel file where I marked some areas of that file with start and stop times. like first segment: 2.5 to 3.4 seconds, second segment: 4.6 to 5.2 seconds and so on.
Now, I want to do the following things:
1. I first read the wav file, 2. then read the excel file for start and stop times, 3. then cut the segments from the wave file according to the excel file.
I know the 1st and 2nd part. but stuck in the 3rd one. Please let me know, how to do the 3rd part for this.
3 个评论
Image Analyst
2014-10-31
I think this was maybe a reply for Rick. I didn't ask for this. I suggested you attach the two files . You can still do that. Click paperclip, then "Choose file" then "Attach file". You have to do each one at a time, you can't multi-select files.
回答(1 个)
Rick Rosson
2014-10-31
编辑:Rick Rosson
2014-11-1
Here are a few pages from the documentation that will help:
And here is a possible solution that should get you started:
[x,Fs] = audioread('myaudiofile.wav');
[M,N] = size(x);
dt = 1/Fs;
t = dt*(0:M-1)';
figure;
plot(t,x);
segments = xlsread('mydatafile.xlsx','C15:D24');
L = size(segments,1);
for k = 1:L
idx = ( segments(k,1) < t ) & ( t < segments(k,2) ) ;
figure;
plot(t(idx),x(idx));
end
3 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Audio and Video Data 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!