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 веб-адреса.

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

ПлатформыРасширения файла
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'единственный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 верно каждый раз выход audio содержит последний аудиосэмпл в файле.

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

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

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

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

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

Типы данных: логический

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

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

release(obj)

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

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

Примеры

свернуть все

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

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

Можно принять решение считать целые данные или указать диапазон данных, чтобы читать из использования ReadRange свойство. По умолчанию, ReadRange установлен в [1 inf], указав на средство чтения файлов, чтобы считать целые данные из источника. В этом примере, набор ReadRange к 3 Фс, указывая на средство чтения файлов, чтобы считать первые 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 это происходит из-за ограничения в базовой среде Основы СМИ. На платформах Linux это происходит из-за ограничения в базовой среде GStreamer. Если вы требуете демонстрационных точных показаний, работаете с файлами FLAC или WAV.

Алгоритмы

Этот объект реализует алгоритм, входные параметры и выходные параметры, описанные на странице с описанием блока 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