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 (.ogg)
FLAC (.flac)
АУ (.au)
AIFF (.aiff, .aif)
МФЦА (.aifc)
Windows® 7 (или более поздней версии), Macintosh и Linux®MP3 (.mp3)
MPEG-4 AAC (.m4a, .mp4)

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

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

На платформах 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-by- n матрица, где m количество считываемых и n аудио выборок количество аудиоканалов в файле.

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

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

    Формат файлаBitsPerSample Тип данных yОбласть значений данных y
    ВОЛНА (.wav)8uint80 ≤ <reservedrangesplaceholder0> ≤ 255
    16int16- 32 768 ≤ <reservedrangesplaceholder0> ≤ +32767
    24int32- 2^31 ≤ <reservedrangesplaceholder0> ≤ 2^31–1
    32int32- 2^31 ≤ <reservedrangesplaceholder0> ≤ 2^31–1
    32single- 1,0 ≤ <reservedrangesplaceholder0> ≤ +1.0
    64double- 1,0 ≤ <reservedrangesplaceholder0> ≤ +1.0
    ВОЛНА (.wav) (u-закон)8int16- 32 124 ≤ <reservedrangesplaceholder0> ≤ +32124
    ВОЛНА (.wav) (A-закон)8int16- 32 256 ≤ <reservedrangesplaceholder0> ≤ +32256
    FLAC (.flac)8uint80 ≤ <reservedrangesplaceholder0> ≤ 255
    16int16- 32 768 ≤ <reservedrangesplaceholder0> ≤ +32767
    24int32- 2^31 ≤ <reservedrangesplaceholder0> ≤ 2^31–1
    MP3 (.mp3), MPEG-4 AAC (.m4a, .mp4), OGG (.ogg) и некоторые сжатые файлы WAVEН/Дsingle- 1,0 ≤ <reservedrangesplaceholder0> ≤ +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