Cut an audio file into regularly spaced units

6 visualizzazioni (ultimi 30 giorni)
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!

Risposta accettata

Star Strider
Star Strider il 20 Lug 2019
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 Commenti
Butterflyfish
Butterflyfish il 21 Lug 2019
This works perfectly! Many thanks for the swift help!!

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Audio I/O and Waveform Generation in Help Center e File Exchange

Prodotti


Release

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by