Reading, resampling and writing audio files
22 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Rahul Jaiswal
le 3 Août 2017
Commenté : shweta singh
le 30 Mai 2020
I have multiple audio files in one folder having file format like C_01_ECHO_FA.wav, C_01_ECHO_FG.wav, C_01_ECHO_MK.wav, C_01_ECHO_ML.wav and again C_02_ECHO_FA.wav, C_02_ECHO_FG.wav, C_02_ECHO_MK.wav, C_02_ECHO_ML.wav and so on like this... The sampling freq of these files are 48k. I need to read all the audio files one by one and resample them to 8k and then write all output audio files in different folder. For the single file, i did like this but i need to do for all. [y,Fs] = audioread('C_01_ECHO_FA.wav'); y_resamp = resample(y,8000,48000); audiowrite('C_01_ECHO_FA_new.wav',y_resamp,8000);
0 commentaires
Réponse acceptée
Deepak Gala
le 4 Août 2017
This should do what you want.
[y,fs]=audioread('file48000.wav'); audiowrite('file8000.wav',y,8000);
2 commentaires
Laureano Moro
le 28 Août 2018
The resampling is missing in this answer. The new file 'file8000.wav' will not be resampled at 8kHz unless y = resample(y,8000,48000); is included before the use of audiowrite.
Plus de réponses (2)
Laureano Moro
le 28 Août 2018
Modifié(e) : Laureano Moro
le 28 Août 2018
To do it automatically:
sAudioFolder='MyAudiofolder'; eFiles=dir(fullfile(sAudioFolder,'*.wav'));
for i=1:length(eFiles)
sAudioFile=fullfile(sAudioFolder,eFiles(i).name);
[y,Fs] = audioread(sAudioFile); y_resamp = resample(y,8000,48000);
sAudioFileOut=fullfile(sAudioFolder,[strrep(eFiles(i).name,'.wav','') '_new.wav']);
audiowrite(sAudioFileOut,y_resamp,8000);
end
Deepak Gala
le 7 Août 2017
This should work!
for i=1:1000
FILE1=sprintf('file48000_%d.wav',i);
FILE2=sprintf('file8000_%d.wav',i);
FOLDER_NAME = 'C:\.......\ReadingFolder';
userpath(FOLDER_NAME);
[y,fs]=audioread(FILE1);
FOLDER_NAME = 'C:\.......\WritingFolder';
userpath(FOLDER_NAME);
audiowrite(FILE2,y,8000);
end
Voir également
Catégories
En savoir plus sur Multirate Signal Processing dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!