Cut an audio file into regularly spaced units

조회 수: 4 (최근 30일)
Butterflyfish
Butterflyfish 2019년 7월 20일
댓글: Star Strider 2019년 7월 21일
Hi,
I would like to cut long audio files into regularly spaced units of regular size, and save these units as new audiofiles.
So far I have:
[soundfile, Fs] = audioread('soundfile.wav');
UnitsSamples = 120 * Fs; % the nb of samples to make a unit of 2 minutes
UnitsBreak = 600 * Fs; % the nb of samples to leave out 10 minutes in between units
How do I continue if I would like to save n units of 2 minutes each every 10 minutes for the whole sound file?
Many thanks for any help!

채택된 답변

Star Strider
Star Strider 2019년 7월 20일
I would use the Signal Processing Toolbox buffer function to segment your signal.
One possibility:
y = buffer(soundfile(:,1), 120*Fs); % Specify Column (If Stereo Signal)
That will create non-overlapping segments of your file that are each ‘120*Fs’ samples in length, and will zero-pad any columns that are not of the required length.
  댓글 수: 3
Butterflyfish
Butterflyfish 2019년 7월 21일
This works perfectly! Many thanks for the swift help!!
Star Strider
Star Strider 2019년 7월 21일
As always, my pleasure!

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Audio and Video Data에 대해 자세히 알아보기

제품


릴리스

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by