Main Content

La traducción de esta página está obsoleta. Haga clic aquí para ver la última versión 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

Cargue 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')

Figure contains an axes. The axes contains an object of type line.

Consulte también

| |

Temas relacionados