# How do i plot an audio file with an interval in ms?

49 visualizzazioni (ultimi 30 giorni)
Michael Sugiarto il 22 Mar 2022
Commentato: Scott MacKenzie il 22 Mar 2022
Hi! I am currently using matlab 2021 version. I want to know how would I plot an audio file in the interval of 20 miliseconds of my choice for example the audio recording is 10 seconds long but, I want to plot only from 0 to 20 miliseconds. How would I do that? This is my code right now
recObj = audiorecorder;
Fs=8000;
filename = sprintf('myAudioData.wav');
disp('Start speaking.')
recordblocking(recObj, 10);
disp('End of Recording.');
doubleArray = getaudiodata(recObj);
audiowrite(filename,doubleArray,Fs);
[m,n]=size(x);
dt=1/Fs;
t=dt*(0:m-1);
idx = (t>=1.030) & (t<1.032);
selected_t = t(idx);
selected_x = x(idx,:);
plot(selected_t, selected_x);
##### 0 CommentiMostra -2 commenti meno recentiNascondi -2 commenti meno recenti

Accedi per commentare.

### Risposta accettata

Scott MacKenzie il 22 Mar 2022
Modificato: Scott MacKenzie il 22 Mar 2022
Using the sample frequency of the audio data (Fs), this code will extract and plot the first 20 ms:
[x, Fs] = audioread('AudioSample.wav'); % test audio file
ts = 1 / Fs; % duration of each sample
n = round(0.02/ts); % number of samples in 1st 20 ms
plot(x(1:n)); % plot 1st 20 ms of audio file
##### 5 CommentiMostra 3 commenti meno recentiNascondi 3 commenti meno recenti
Michael Sugiarto il 22 Mar 2022
Thank you so much!!
Scott MacKenzie il 22 Mar 2022
@Michael Sugiarto, you're welcome. Good luck.

Accedi per commentare.

### Più risposte (1)

KSSV il 22 Mar 2022
idx = t <= 20*10^-3 ;
plot(t(idx),x(idx))
##### 0 CommentiMostra -2 commenti meno recentiNascondi -2 commenti meno recenti

Accedi per commentare.

### Categorie

Scopri di più su Audio and Video Data in Help Center e File Exchange

R2021b

### Community Treasure Hunt

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

Start Hunting!

Translated by