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
Amazon S3™s3
Устройство хранения данных Windows Azure® Blobwasb, wasbs
HDFS™hdfs

Для получения дополнительной информации смотрите работу с Удаленными данными.

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

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

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

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

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

Поддержка платформFileFormat
Все платформыWAVE (.wav)
OGG (.ogg)
FLAC (.flac)
AU (.au)
AIFF (.aiff, .aif)
AIFC (.aifc)
Windows® 7 (или позже), Macintosh и Linux®MP3 (.mp3)
MPEG-4 AAC (.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.

При чтении фрагмента 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 значение файла.

    FileFormat 'BitsPerSample' Тип данных yОбласть значений данных y
    WAVE (.wav)8uint80 ≤ y ≤ 255
    16int16- 32 768 ≤ 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) (u-закон)8int16- 32 124 ≤ y ≤ +32124
    WAVE (.wav) (A-закон)8int16- 32 256 ≤ y ≤ +32256
    FLAC (.flac)8uint80 ≤ y ≤ 255
    16int16- 32 768 ≤ y ≤ +32767
    24int32- 2^31 ≤ y ≤ 2^31–1
    MP3 (.mp3), MPEG-4 AAC (.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 это происходит из-за ограничения в базовой среде Основы СМИ. На платформах Linux это происходит из-за ограничения в базовой среде GStreamer. Если вы требуете демонстрационных точных показаний, работаете с файлами FLAC или WAV.

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

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