Hi,
I have loaded an audio-file of 8sec's using 'wavread' function.
I have to cut it to say 1sec file.
i know that it can be done by taking only few samples outof total samples.
but how can i do it interms of seconds,i.e,i have to get only 1sec audio file from 8sec audio
file
how to do it matlab?
is there any simple inbuilt function.

1 Comment

Hope wavwrite could help your question? I am not sure about my answer

Sign in to comment.

 Accepted Answer

Amit
Amit on 22 Jan 2014
Edited: Amit on 22 Jan 2014
You can do something like this: If 1 second removed from end:
[Y,FS,NBITS] = wavread('file.wav'); % Your file name
num_samp = round(FS); % Number of samples in a sec
wavwrite(Y(1:end-numsamp), FS,NBITS,'new_file.wav'); % if 1 second removed from end
IF 1 second removed from beginning
[Y,FS,NBITS] = wavread('file.wav'); % Your file name
num_samp = round(FS); % Number of samples in a sec
wavwrite(Y(numsamp+1:end), FS,NBITS,'new_file.wav');

More Answers (2)

[x,fs]=audioread('C:\Users\Satyam\Downloads\Music\record20171119115236.wav');
z=zeros(fs*1,40); % for 1 second
h=1;
for j=1:40;
for i=1:(fs*1);
z(i,j)=x(h);
h=h+1;
end
end
[x,fs]=audioread('C:\Users\Satyam\Downloads\Music\record20171119115236.wav');
x=resample(1,fs);
audiowrite('newfile.wav',x,fs)

Categories

Find more on Audio Plugin Creation and Hosting in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!