exponenta event banner

dsp. AudioFileReader

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

Описание

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

Для чтения образцов звука из аудиофайла:

  1. Создать dsp.AudioFileReader и задайте его свойства.

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

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

Создание

Описание

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

пример

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

пример

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

Свойства

развернуть все

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

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

Дополнительные сведения об изменении значений свойств см. в разделе Проектирование системы в MATLAB с использованием системных объектов.

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

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

ПлатформыРасширения имен файлов
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

Задайте тип данных для вывода аудиоданных из объекта чтения аудиофайлов. Укажите тип данных как '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

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

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

release(obj)

развернуть все

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

Примеры

свернуть все

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

Примечание.При использовании 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.

Алгоритмы

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

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

  • Объект не имеет соответствующего свойства для параметра индикатора конца файла Output. Объект всегда выводит EOF в качестве последнего вывода.

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

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

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

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

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

.
Представлен в R2012a