audio cutter in matlab

17 views (last 30 days)
Chandradhar Savanth
Chandradhar Savanth on 22 Jan 2014
Commented: Annanya Tyagi on 1 Dec 2019
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
Sivakumaran Chandrasekaran
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)

Satyam Gaba
Satyam Gaba on 19 Nov 2017
[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

Veera Kanmani
Veera Kanmani on 28 Feb 2018
[x,fs]=audioread('C:\Users\Satyam\Downloads\Music\record20171119115236.wav');
x=resample(1,fs);
audiowrite('newfile.wav',x,fs)
  1 Comment
Annanya Tyagi
Annanya Tyagi on 1 Dec 2019
resample needs 3 parameters to work

Sign in to comment.

Categories

Find more on Code Generation and Deployment 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!