Main Content

audioread

Leer un archivo de audio

Descripción

[y,Fs] = audioread(filename) lee datos del archivo llamado filename y devuelve datos muestreados, y, y una tasa de muestreo para esos datos, Fs.

ejemplo

[y,Fs] = audioread(filename,samples) lee el rango de muestras de audio seleccionado en el archivo, donde samples es un vector que toma la forma [start,finish].

ejemplo

[y,Fs] = audioread(___,dataType) devuelve datos muestreados en el rango de datos correspondiente al dataType de 'native' o 'double', y puede incluir cualquiera de los argumentos de entrada de las sintaxis anteriores.

ejemplo

Ejemplos

contraer todo

Cree un archivo WAVE a partir del archivo de ejemplo handel.mat y lea el archivo en MATLAB®.

Cree un archivo WAVE (.wav) en la carpeta actual.

load handel.mat

filename = 'handel.wav';
audiowrite(filename,y,Fs);
clear y Fs

Lea los datos en MATLAB con audioread.

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

Reproduzca el audio.

sound(y,Fs);

Cree un archivo FLAC a partir del archivo de ejemplo handel.mat y, a continuación, lea solo los 2 primeros segundos.

Cree un archivo FLAC (.flac) en la carpeta actual.

load handel.mat

filename = 'handel.flac';
audiowrite(filename,y,Fs);

Lea solo los 2 primeros segundos.

samples = [1,2*Fs];
clear y Fs
[y,Fs] = audioread(filename,samples);

Reproduzca las muestras.

sound(y,Fs);

Cree un archivo .flac, lea los 2 primeros segundos del archivo y después devuelva el audio en el formato entero nativo.

Cree un archivo FLAC (.flac) en la carpeta actual.

load handel.mat
filename = 'handel.flac';
audiowrite(filename,y,Fs);

Lea solo los 2 primeros segundos y especifique los datos. A continuación, visualice el tipo de datos de los datos muestreados y. El tipo de datos de y es double.

samples = [1,2*Fs];
clear y Fs
[y,Fs] = audioread(filename,samples);
whos y
  Name          Size             Bytes  Class     Attributes

  y         16384x1             131072  double              

Solicite datos de audio en el formato nativo del archivo y, a continuación, visualice el tipo de datos de los datos muestreados y. Observe el nuevo tipo de datos de y.

[y,Fs] = audioread(filename,'native');
whos y
  Name          Size             Bytes  Class    Attributes

  y         73113x1             146226  int16              

Argumentos de entrada

contraer todo

Nombre del archivo que se desea leer, especificado como vector de caracteres o escalar de cadena que incluye la extensión del archivo.

En función de la ubicación del archivo, filename puede tomar una de estas formas.

Carpeta actual

Especifique el nombre del archivo en filename.

Ejemplo: 'sample_audio.wav'

Otras carpetas

Si el archivo no está en la carpeta actual o en una carpeta de la ruta de MATLAB®, especifique el nombre de la ruta completa o relativa en filename.

Ejemplo: 'C:\myFolder\myFile.sample_audio.wav'

Ejemplo: 'myFolder\sample_audio.mp3'

URL de Internet

Si el archivo se especifica como un localizador uniforme de recursos de Internet (URL), filename debe contener el tipo de protocolo 'http://' o 'https://'.

Ejemplo: 'http://hostname/path_to_file/sample_audio.mp3'

Ubicación remota

Si el archivo está almacenado en una ubicación remota, filename debe contener la ruta completa del archivo especificado con el formato siguiente:

scheme_name://path_to_file/my_file.ext

Según la ubicación remota, scheme_name puede ser uno de los valores de esta tabla.

Ubicación remotascheme_name
Amazon S3™s3
Windows Azure® Blob Storagewasb, wasbs
HDFS™hdfs

Para obtener más información, consulte Trabajar con datos remotos.

Ejemplo: 's3://bucketname/path_to_file/sample_audio.mp3'

Ejemplo: 'myFile.mp3'

Ejemplo: '../myFile.mp3'

Ejemplo: 'C:\temp\myFile.mp3'

audioread es compatible con los siguientes formatos de archivo.

Compatibilidad de las plataformasFormatos de archivo
Todas las plataformasAIFC (.aifc)
AIFF (.aiff, .aif)
AU (.au)
FLAC (.flac)
OGG (.ogg)
OPUS (.opus)
WAVE (.wav)
Windows® 7 (o posterior), Macintosh y Linux®MP3 (.mp3)
MPEG-4 AAC (.m4a, .mp4)

En plataformas de Windows anteriores a Windows 7, audioread no lee archivos WAVE con datos codificados con MP3.

En plataformas de Windows 7 (o posterior), audioread también puede leer cualquier archivo compatible con Windows Media® Foundation.

En plataformas de Linux, audioread también puede leer cualquier archivo compatible con GStreamer.

audioread puede extraer audio de archivos de vídeo MPEG-4 (.mp4, .m4v) en Windows 7 o posterior, Macintosh y Linux, y de archivos Windows Media Video (.wmv) y AVI (.avi) en plataformas de Windows 7 (o posterior) y Linux.

Tipos de datos: char | string

Muestras de audio que se desea leer, especificadas como vector de dos elementos de la forma [start,finish], donde start y finish son la primera y la última muestra que se desea leer y son enteros escalares positivos.

  • start debe ser menor que o igual a finish.

  • start y finish deben ser menores que el número de muestras de audio del archivo.

  • Puede utilizar inf para indicar la última muestra del archivo.

Nota

Al leer una parte de algunos archivos MP3 en plataformas Windows 7 o Windows 10, es posible que audioread lea un rango de muestras desplazado. Esto se debe a una limitación en el marco subyacente de Windows Media Foundation.

Cuando se lee una parte de archivos MP3 y M4A en plataformas Linux, es posible que audioread lea un rango de muestras desplazado. Esto se debe a una limitación en el marco subyacente de GStreamer.

Ejemplo: [1,100]

Tipos de datos: double

Formato de los datos de audio, y, especificado como una de las siguientes opciones:

'double'Muestras normalizadas de doble precisión.
'native'Muestras en el formato nativo que se encuentra en el archivo.

En el caso de formatos de audio comprimidos, como MP3 y MPEG-4 AAC, que no almacenan datos en forma de enteros, 'native' es 'single' de forma predeterminada.

Tipos de datos: char | string

Argumentos de salida

contraer todo

Datos de audio del archivo, devueltos como una matriz de m por n, donde m es el número de muestras de audio leídas y n es el número de canales de audio del archivo.

  • Si no se especifica el dataType o el dataType es 'double', y es de tipo double y los elementos de la matriz son valores normalizados entre -1,0 y 1,0.

  • Si el dataType es 'native', y puede pertenecer a uno de varios tipos de datos de MATLAB, dependiendo del formato del archivo y del valor BitsPerSample del archivo de entrada. Llame a audioinfo para determinar el valor BitsPerSample del archivo.

    Formato de archivoBitsPerSample Tipo de datos de yRango de datos de y
    WAVE (.wav)8uint80 ≤ y ≤ 255
    16int16-32768 ≤ y ≤ +32767
    24int32-2^31 ≤ y ≤ 2^31–1
    32int32-2^31 ≤ y ≤ 2^31–1
    32single-1.0 ≤ y ≤ +1.0
    64double-1.0 ≤ y ≤ +1.0
    WAVE (.wav) (ley Mu)8int16-32124 ≤ y ≤ +32124
    WAVE (.wav) (ley A)8int16-32256 ≤ y ≤ +32256
    FLAC (.flac)8uint80 ≤ y ≤ 255
    16int16-32768 ≤ y ≤ +32767
    24int32-2^31 ≤ y ≤ 2^31–1
    MP3 (.mp3), MPEG-4 AAC (.m4a, .mp4), OGG (.ogg), OPUS (.opus) y algunos archivos WAVE comprimidosN/Dsingle-1.0 ≤ y ≤ +1.0

Nota

Cuando y es single o double y BitsPerSample es 32 o 64, los valores de y pueden sobrepasar -1,0 o +1,0.

Tasa de muestreo, en hercios, de los datos de audio y, devuelta como un escalar positivo.

Limitaciones

  • En el caso de archivos de audio MP3, MPEG-4 AAC y AVI en plataformas Windows 7 o posterior y Linux, es posible que audioread lea menos muestras de las esperadas. En las plataformas Windows 7, esto se debe a una limitación en el marco subyacente de Media Foundation. En las plataformas Linux, esto se debe a una limitación en el marco subyacente de GStreamer. Si necesita una lectura precisa de las muestras, trabaje con archivos WAV o FLAC.

  • En las plataformas Linux, audioread lee los archivos MPEG-4 AAC que contienen datos de un solo canal como datos estéreo.

Capacidades ampliadas

Historial de versiones

Introducido en R2012b

expandir todo