extract chunks of small wav files in specific starting and ending times from a large wav file ?

14 views (last 30 days)
I have the format of start time for ex: (format minutes, seconds, milliseconds) start time = '9,36.486' end time = '12,02.749' how can I extract the sound part exactly between those times from a wav file ? should I convert start and end time using datevec ? and how to extract those from the wav file (ex. audioread ) thanks a lot !!

Accepted Answer

Jan
Jan on 29 Mar 2017
iTimeS = '9,36.486';
fTimeS = '12,02.749';
iTime = sscanf(strrep(strrep(iTimeS, '.', ''), ',', '.'), '%g');
fTime = sscanf(strrep(strrep(fTimeS, '.', ''), ',', '.'), '%g');
info = audioinfo(File);
sample = round([iTime, fTime] * info.SampleRate);
signal = audioread(File, sample);

More Answers (1)

khaled hassan
khaled hassan on 30 Mar 2017
thanks a lot Jan!!, there is another thing, if I want to multiply in the '9,36.486'; The 36 with (100/60) and the 486 with *1/100. Can I split the '9,36.486', in three parts and multiply the parts and then recombine them ?

Community Treasure Hunt

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

Start Hunting!

Translated by