Continuous Spectrogram from multiple wav files.

Hello all,
I have been scouring the existing online help but cant seem to find exactly what I’m after. I have a folder with hundreds of 4 min wav files and want to produce a single spectrogram which contains them all. My initial thinking was to read in all wav files and somehow join them into one large file to later put into a spectrogram. Any help would be great appreciated!
Thanks,
Thomas

 채택된 답변

Stijn Haenen
Stijn Haenen 2020년 5월 19일

0 개 추천

Something like this:
data_tot=[];
>> for i=1:numel(files)
data=audioread(files(i));
data_tot=[data_tot ; data];
end
audiowrite('file.wav',data_tot,Fs);

댓글 수: 3

Hi Stijn,
Thanks for this, would you know of anyway to account for the length of files not being exactly equal? The exact number of samples in each wav file differ slightly, which is throwing up the error:
"Error using horzcat
Dimensions of arrays being concatenated are not consistent."
Thanks,
Stijn Haenen
Stijn Haenen 2020년 5월 19일
편집: Stijn Haenen 2020년 5월 19일
you have to make colomns from your data, you can add some lines to do this:
data_tot=[];
>> for i=1:numel(files)
data=audioread(files(i));
if size(data,1)<2
data=data';
end
data_tot=[data_tot ; data];
end
audiowrite('file.wav',data_tot,Fs);
and you have to check whether all your files are single audio files or double (left and right audio).
Thats wonderful, thankyou for your help!

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

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Time-Frequency Analysis에 대해 자세히 알아보기

질문:

2020년 5월 19일

댓글:

2020년 5월 19일

Community Treasure Hunt

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

Start Hunting!

Translated by