Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

Leer y escribir archivos de audio

Escriba datos en un archivo de audio, obtenga información sobre el archivo y luego vuelva a leer los datos en el espacio de trabajo de MATLAB®.

Escribir en archivos de audio

Lea los datos de muestra del archivo, handel.mat

load handel.mat

El espacio de trabajo contiene ahora una matriz de datos de audio, y, y una tasa de muestreo, Fs.

Utilice la función audiowrite para escribir los datos en un archivo WAVE denominado handel.wav en la carpeta actual.

audiowrite('handel.wav',y,Fs)
clear y Fs

La función audiowrite también puede escribir en otros formatos de archivo de audio como OGG, FLAC y MPEG-4 AAC.

Obtener información sobre archivos de audio

Utilice la función audioinfo para obtener información sobre el archivo WAVE, handel.wav.

info = audioinfo('handel.wav')
info = 
             Filename: 'pwd\handel.wav'
    CompressionMethod: 'Uncompressed'
          NumChannels: 1
           SampleRate: 8192
         TotalSamples: 73113
             Duration: 8.9249
                Title: []
              Comment: []
               Artist: []
        BitsPerSample: 16

audioinfo devuelve un arreglo de estructura 1 por 1. El campo SampleRate indica la tasa de muestreo de los datos de audio en hercios. El campo Duration indica la duración del archivo en segundos.

Leer archivos de audio

Utilice la función audioread para leer el archivo, handel.wav. La función audioread admite archivos WAVE, OGG, FLAC, AU, MP3 y MPEG-4 AAC.

[y,Fs] = audioread('handel.wav');

Reproduzca el audio.

sound(y,Fs)

También puede leer archivos WAV, AU o SND de manera interactiva. Seleccione Import Data o haga doble clic en el nombre del archivo en el navegador de la carpeta actual.

Representar datos de audio

Cree un vector t de la misma longitud que y, que represente el tiempo transcurrido.

t = 0:seconds(1/Fs):seconds(info.Duration);
t = t(1:end-1);

Represente los datos de audio en función del tiempo.

plot(t,y)
xlabel('Time')
ylabel('Audio Signal')

Consulte también

| |

Temas relacionados