exponenta event banner

audioread

Чтение аудиофайла

Описание

пример

[y,Fs] = audioread(filename) считывает данные из файла с именем filenameи возвращает выборочные данные, yи частота выборки для этих данных, Fs.

пример

[y,Fs] = audioread(filename,samples) считывает выбранный диапазон аудиоотсчетов в файле, где samples - вектор формы, [start,finish].

пример

[y,Fs] = audioread(___,dataType) возвращает выборочные данные в диапазоне данных, соответствующем dataType из 'native' или 'double'и может включать любой из входных аргументов в предыдущих синтаксисах.

Примеры

свернуть все

Создание файла WAVE из файла примера handel.matи прочитайте файл обратно в MATLAB ®.

Создать WAVE (.wav) файл в текущей папке.

load handel.mat

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

Считывание данных в MATLAB с помощью audioread.

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

Воспроизвести звук.

sound(y,Fs);

Создание файла FLAC из файла примера handel.mat, а затем прочитайте только первые 2 секунды.

Создание FLAC (.flac) файл в текущей папке.

load handel.mat

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

Считывайте только первые 2 секунды.

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

Сыграй образцы.

sound(y,Fs);

Создать .flac прочтите первые 2 секунды файла и верните звук в собственном целочисленном формате.

Создание FLAC (.flac) файл в текущей папке.

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

Считайте только первые 2 секунды и укажите данные и просмотрите тип данных выборки данных y. Тип данных y является double.

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

  y         16384x1             131072  double              

Запрос аудиоданных в собственном формате файла, а затем просмотр типа данных выборки y. Обратите внимание на новый тип данных y.

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

  y         73113x1             146226  int16              

Входные аргументы

свернуть все

Имя файла для чтения, указанное как вектор символов или скаляр строки, включающий расширение файла.

В зависимости от расположения файла, filename может принимать одну из этих форм.

Текущая папка

Укажите имя файла в filename.

Пример: 'sample_audio.wav'

Другие папки

Если файл находится не в текущей папке или в папке по пути MATLAB ®, укажите полный или относительный путь вfilename.

Пример: 'C:\myFolder\myFile.sample_audio.wav'

Пример: 'myFolder\sample_audio.mp3'

URL-адрес в Интернете

Если файл указан как URL-адрес унифицированного ресурса Интернета, то filename должен содержать тип протокола 'http://' или 'https://'.

Пример: 'http://hostname/path_to_file/sample_audio.mp3'

Удаленное расположение

Если файл хранится в удаленном местоположении, то filename должен содержать полный путь к файлу, указанному в форме:

scheme_name://path_to_file/my_file.ext

На основе удаленного местоположения, scheme_name может быть одним из значений в этой таблице.

Удаленное расположениеscheme_name
Амазонский S3™s3
Хранилище больших двоичных объектов Windows Azure ®wasb, wasbs
HDFS™hdfs

Дополнительные сведения см. в разделе Работа с удаленными данными.

Пример: 's3://bucketname/path_to_file/sample_audio.mp3'

Пример: 'myFile.mp3'

Пример: '../myFile.mp3'

Пример: 'C:\temp\myFile.mp3'

audioread поддерживает следующие форматы файлов.

Поддержка платформыФормат файла
Все платформыВОЛНА (.wav)
ОГГ (.ogg)
FLAC (ПОЗ..flac)
AU (.au)
AIFF (.aiff, .aif)
МФЦА (.aifc)
Windows ® 7 (или более поздняя версия), Macintosh и Linux ®MP3 (.mp3)
MPEG-4 КРК (.m4a, .mp4)

На платформах Windows до Windows 7, audioread не считывает файлы WAVE с MP3 закодированными данными.

На платформах Windows 7 (или более поздних версий) audioread также может считывать любые файлы, поддерживаемые Windows Media ® Foundation .

На платформах Linux audioread может также считывать любые файлы, поддерживаемые GStreamer.

audioread может извлекать аудио из MPEG-4 (.mp4, .m4v) видеофайлы в Windows 7 или более поздней версии, Macintosh и Linux, а также из Windows Media Video (.wmv) и AVI (.avi) файлы на платформах Windows 7 (или выше) и Linux.

Типы данных: char | string

Считываемые аудиосъемки, указанные как двухэлементный вектор формы [start,finish], где start и finish являются первым и последним считываемым образцом и являются положительными скалярными целыми числами.

  • start должно быть меньше или равно finish.

  • start и finish должно быть меньше количества аудиоотсчетов в файле,

  • Вы можете использовать inf для указания последнего образца в файле.

Примечание

При чтении части файлов MP3 на платформах Windows 7 audioread может считывать смещенный диапазон выборок. Это связано с ограничением базовой инфраструктуры Windows Media Foundation.

При чтении части файлов MP3 и M4A на платформах Linux audioread может считывать смещенный диапазон выборок. Это связано с ограничением базовой инфраструктуры GStreamer.

Пример: [1,100]

Типы данных: double

Формат данных аудиоданных,y, указано как одно из следующих:

'double'Нормализованные образцы с двойной точностью.
'native'Образцы в собственном формате, найденные в файле.

Для сжатых аудио форматов, таких как MP3 и MPEG-4 AAC, которые не хранят данные в целочисленной форме, 'native' по умолчанию: 'single'.

Типы данных: char | string

Выходные аргументы

свернуть все

Аудиоданные в файле, возвращенные как mоколо-n матрица, где m - количество считанных аудиоотсчетов и n - количество звуковых каналов в файле.

  • Если не указать dataType, или dataType является 'double', то y имеет тип double, а элементы матрицы являются нормированными значениями между − 1,0 и 1,0.

  • Если dataType является 'native', то y может быть одним из нескольких типов данных MATLAB, в зависимости от формата файла и BitsPerSample значение входного файла. Звонить audioinfo для определения BitsPerSample значение файла.

    Формат файлаBitsPerSample Тип данных yДиапазон данных y
    ВОЛНА (.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
    ВОЛНА (.wav) (u-law)8int16-32124 ≤ y ≤ +32124
    ВОЛНА (.wav) (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 КРК (.m4a, .mp4), OGG (.ogg) и некоторые сжатые файлы WAVEН/Дsingle-1.0 ≤ y ≤ +1.0

Примечание

Где y является single или double и BitsPerSample 32 или 64, значения в y может превышать − 1,0 или + 1,0.

Частота дискретизации аудиоданных в герцах y, возвращенный как положительный скаляр.

Ограничения

  • Для MP3, MPEG-4 AAC и аудиофайлов AVI на Windows 7 или позже и платформы Linux, audioread может считывать меньше образцов, чем ожидалось. На платформах Windows 7 это связано с ограничением базовой инфраструктуры Media Foundation. На платформах Linux это связано с ограничением базовой инфраструктуры GStreamer. Если требуется точное чтение, работайте с файлами WAV или FLAC.

  • На платформах Linux audioread читает файлы MPEG-4 AAC, которые содержат одноканальные данные как данные стерео.

Представлен в R2012b