dsp.AudioFileReader

Поток из аудио файла

Описание

The dsp.AudioFileReader Система object™ считывает аудио выборок из аудио файла.

Чтобы считать аудио выборок из аудио файла:

  1. Создайте dsp.AudioFileReader Объекту и установите его свойства.

  2. Вызывайте объект с аргументами, как будто это функция.

Дополнительные сведения о работе системных объектов см. в разделе «Что такое системные объекты?».

Создание

Описание

afr = dsp.AudioFileReader возвращает аудио файла читатель Системный объект, afr который считывает аудио из аудио файла.

пример

afr = dsp.AudioFileReader(File name) возвращает объект audio файла reader, afr, с Filename значение свойства установлено в File name.

пример

afr = dsp.AudioFileReader(Name,Value) возвращает аудио файла читатель Системный объект, afr, с каждым заданным набором свойств до заданного значения. Заключайте каждое имя свойства в одинарные кавычки. Неопределенные свойства имеют значения по умолчанию.

Свойства

расширить все

Если не указано иное, свойства являются нетронутыми, что означает, что вы не можете изменить их значения после вызова объекта. Объекты блокируются, когда вы вызываете их, и release функция разблокирует их.

Если свойство настраивается, можно изменить его значение в любой момент.

Для получения дополнительной информации об изменении значений свойств смотрите Разработку системы в MATLAB Использование Системных объектов.

Задайте имя аудио файла как вектор символов или строковый скаляр. Укажите полный путь к файлу, только если файл отсутствует в MATLAB® путь. Имя файла может быть веб-адресом http, например 'http://audio.wgbh.org:8004/'. Для получения примера см. раздел Чтение и воспроизведение аудио Файла с веб-адреса HTTP.

В следующей таблице перечислены поддерживаемые форматы аудио файла:

ПлатформыРасширения имен файлов
Windows®.wav, .wma, .avi, .aif, .aifc, .aiff, .mp3, .au, .snd, .mp4, .m4a, .flac, .ogg, .mov
Не Windows.avi, .mp3, .mp4, .m4a, .wav, .flac, .ogg, .aif, .aifc, .aiff, .au, .snd, .mov

Задайте положительное целое число как количество раз для воспроизведения файла.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Это свойство доступно только для чтения.

Это свойство отображает частоту дискретизации звуковых файлов в Гц.

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

Задайте количество выборок в аудио системы координат как положительное, скалярное целое значение.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Установите тип данных аудиоданных, выводимых из объекта reader аудиофайлов. Укажите тип данных следующим 'double', 'single', 'int16', или 'uint8'.

Задайте область значений выборки, из которого нужно считать, в виде вектора в форме [StartSample EndSample], где StartSample - выборка, с которой начинается чтение файла, и EndSample - выборка, с которой останавливается чтение файла.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Использование

Описание

пример

audio = afr() выводит одну систему координат аудио выборок, audio. Вы можете задать количество раз, чтобы воспроизвести файл с помощью PlayCount свойство. После игры файла для количества раз, которые вы задаете, audio содержит тишину.

[audio,eof] = afr() возвращает индикатор конца файла, eof. eof true каждый раз, когда выводится audio содержит последние аудио выборки в файле.

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

расширить все

Одна система координат аудио выборок, возвращенный как вектор-столбец длины, равная значению, заданному вами в SamplesPerFrame свойство. Тип данных выхода задан в OutputDataType свойство.

Типы данных: single | double | int16 | uint8

Индикатор конца файла, возвращенный как 1 или 0. Значение 1 выводится, когда audio содержит последние аудио выборки в файле.

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

Функции объекта

Чтобы использовать функцию объекта, задайте системный объект в качестве первого входного параметра. Например, чтобы освободить системные ресурсы системного объекта с именем obj, используйте следующий синтаксис:

release(obj)

расширить все

infoИнформация о конкретных аудио файла
isDoneСостояние конца файла (логическое)
stepЗапуск алгоритма системного объекта
releaseОтпустите ресурсы и допустите изменения в значениях свойств системного объекта и входных характеристиках
resetСброс внутренних состояний Системного объекта

Примеры

свернуть все

Чтение и воспроизведение аудио файла с помощью стандартного устройства аудио выхода.

Примечание. Если вы используете R2016a или более ранний релиз, замените каждый вызов объекта эквивалентным step синтаксис. Для примера, obj() становится step(obj).

Можно принять решение считать все данные или задать область значений данных для чтения с помощью ReadRange свойство. По умолчанию ReadRange установлено значение [1 inf], что указывает на то, что средство чтения файлов считывает все данные из источника. В этом примере задайте ReadRange для 3Fs, что указывает средству чтения файлов на чтение первых 3 секунд данных.

afr = dsp.AudioFileReader('speech_dft.mp3','ReadRange',[1 3*22050]);
adw = audioDeviceWriter('SampleRate', afr.SampleRate);

while ~isDone(afr)
    audio = afr();
    adw(audio);
end
release(afr); 
release(adw);

Чтение аудио данных с веб-адреса HTTP с помощью dsp.AudioFileReader Системные object™. Воспроизведение данных с помощью audioDeviceWriter Системный объект.

Инициализация

Создайте средство чтения аудиофайлов, которое считывает данные из http://audio.wgbh.org: 8004/. Установите частоту дискретизации аудио устройства средства записи такой же, как и у устройства чтения аудио файла.

afr = dsp.AudioFileReader('http://audio.wgbh.org:8004/')
afr = 
  dsp.AudioFileReader with properties:

           Filename: 'http://audio.wgbh.org:8004/'
          PlayCount: 1
    SamplesPerFrame: 1024
     OutputDataType: 'double'
         SampleRate: 44100
          ReadRange: [1 Inf]

adw = audioDeviceWriter(afr.SampleRate)
adw = 
  audioDeviceWriter with properties:

        Driver: 'DirectSound'
        Device: 'Default'
    SampleRate: 44100

  Show all properties

Чтение и воспроизведение

Считывайте определенный объем данных с веб-адреса непосредственно и воспроизводите данные обратно с помощью аудио устройства средства записи.

for i = 1:1000 
    audio = afr();
    adw(audio);
end

Закройте файл входа и устройство аудио выхода.

release(afr)
release(adw)

Ограничения

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

Алгоритмы

Этот объект реализует алгоритм, входы и выходы, описанные на From Multimedia File блочных страниц с описанием. Свойства объекта соответствуют параметрам блоков, кроме:

  • Объект не имеет соответствующего свойства для Inherit sample time from file параметров блоков. Объект всегда наследует шаг расчета из файла.

  • Объект не имеет соответствующего свойства для параметра Output end-of-file indicator. Объект всегда выводит EOF как последний выход.

  • Объект не имеет соответствующего свойства для параметра Multimedia Outputs, потому что аудио является единственным поддерживаемым выходом.

  • Объект не имеет соответствующего свойства для Image signal параметров блоков.

  • Объект не имеет соответствующего свойства для параметра Output color format.

  • Объект не имеет соответствующего свойства для параметра Video output data type.

Расширенные возможности

.
Введенный в R2012a