una tutorial redes reconocimiento proyectos prediccion pasos para nntool neuronales neuronal libro imagenes espaƱol crear comandos artificiales artificial aplicaciones matlab audio neural-network batch-processing

tutorial - Lote de lectura de archivos wav en matlab para crear una matriz para el conjunto de entrenamiento de redes neuronales



redes neuronales artificiales aplicaciones en matlab (1)

Estoy trabajando en un pequeño proyecto de red neuronal y soy muy nuevo en Matlab.

Tengo alrededor de 400 archivos wav cortos, que deben leerse, y luego combinarlos en un conjunto de datos matriciales. No pude encontrar ninguna información sobre cómo cargar todos los archivos wav en Matlab para que almacene cada archivo con un nombre diferente.

Mis preguntas son:

  • ¿Es posible procesar por lotes los archivos wav en Matlab para tener cada vector almacenado como datos separados?
  • ¿Cuál sería el procedimiento de llenar la matriz con los vectores de archivos wav procesados, dado que son de diferentes dimensiones (longitudes)?

Esta solución hace uso de matrices de celdas, {...} , que pueden manejar datos de diferentes dimensiones, tamaños e incluso tipos. Aquí, Y almacenará los datos muestreados .wav y FS la velocidad muestreada de todos los archivos de audio en un directorio.

% create some data (write waves) load handel.mat; %predifined sound in matlab stored in .mat audiowrite(''handel1.wav'',y,Fs); %write the first wave file audiowrite(''handel2.wav'',y,Fs); %write the second clear y Fs %clear the data % reading section filedir = dir(''*.wav''); %list the current folder content for .wav file Y = cell(1,length(filedir)); %pre-allocate Y in memory (edit from @ Werner) FS = Y; %pre-allocate FS in memory (edit from @ Werner) for ii = 1:length(filedir) %loop through the file names %read the .wav file and store them in cell arrays [Y{ii,1}, FS{ii,1}] = audioread(filedir(ii).name); end

Puede acceder a los datos con

for ind_wav = 1:length(Y) wav_data = Y{ind_wav,1}; end