Hi people, pls help; i wrote a matlab program to find the logarithm of the average of a signal energy for twenty(20) different audio files. for each session of my code, i saved my output as 'E'and matlab display E=.... for all different 20 audio files. but what i want is for matlab to display my answer together as a [20,1] matrix. that is E=.......... for all 20 answers instead of displaying individual answer. does anyone know if it is possible for me to achieve this? secondly, is it possible to automatically convert my output to txt format? i will appreciate any assistants. thanks

 Réponse acceptée

Stephen23
Stephen23 le 4 Déc 2014
Alternatively the data can be written straight away, without saving it in an intermediate matrix:
fid = fopen(filename);
for k = 1:20
... read file
... calculate energy
fprintf(fid,...)
end
flcose(fid)

Plus de réponses (1)

Geoff Hayes
Geoff Hayes le 2 Déc 2014
Iamawal - if you have a program to find the log of the average signal energy for 20 audio files, then you must be using a for loop to do this. If this is the case, then just create a matrix for this output prior to iterating. Then, on each iteration, store the energy in this matrix. Something like
E = zeros(20,1);
for k=1:20
% read the audio file
% calculate the energy
% save to the matrix
E(k,1) = ...;
end
Now you can display the 20 values or write to file. If the latter, then use fopen to open a file, fprintf to write the data to file, and fclose to close the file.

5 commentaires

Or use for txt output
dlmwrite('energy.txt', E);
lamawal Jonathan
lamawal Jonathan le 3 Déc 2014
Hello Geoff Hayes for ur answer, it really gave me some boost and some ideas but the my question implies i'm working with 20 different audio files so i have 20 different files to read. by using the for loop as u advised, duplicate each of the audio file 20 times. this becomes too cumbersome for a beginner like me to grab easily and it's definitely not the task i want to perform. however, i tried ur advice to define a matrix before loading the file and it worked. thanks so much..................
lamawal Jonathan
lamawal Jonathan le 4 Déc 2014
Hello friends! can u help? i need some assistance with K-fold validation. i have three data set("EL", "MK", "Z0") each of which is a 1X1 matrix of length 20 data point. out of the 20 data, the first 10 data is silence audio and the last 10 data is speech audio. my required task is to perform K-fold validation with K=10. i'm further advised to split the data set into training and test sets keeping the training set balanced, with half "Speech" and half "Silence" audio samples. how can i approach this? any help will be deeply appreciated. thanks
Geoff Hayes
Geoff Hayes le 4 Déc 2014
Iamawal - please don't post the same question in two different places. Your question at http://www.mathworks.com/matlabcentral/answers/165348-k-fold-validation-speech-recognition should be sufficient.
lamawal Jonathan
lamawal Jonathan le 4 Déc 2014
ok

Connectez-vous pour commenter.

Catégories

En savoir plus sur Audio I/O and Waveform Generation dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by