Main Content

La traducción de esta página aún no se ha actualizado a la versión más reciente. 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. Para obtener una lista completa de los formatos viables, consulte Formatos de archivo compatibles con la importación y exportación.

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 puede admitir otros formatos de archivo. Para obtener una lista completa de los formatos viables, consulte Formatos de archivo compatibles con la importación y exportación.

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

Reproduzca el audio.

sound(y,Fs)

También puede leer archivos 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 object. The axes object with xlabel Time, ylabel Audio Signal contains an object of type line.

Consulte también

| |

Temas relacionados