audio cutter in matlab

52 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 Audio I/O and Waveform Generation 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!