dsp. Магнитофон

Аудиоданные записи с помощью аудио устройства компьютера

Совместимость

Примечание

Объект dsp.AudioRecorder будет удален в будущем релизе. Существующие экземпляры объекта продолжают запускаться. Для нового кода используйте объект audioDeviceReader от Audio Toolbox™ вместо этого.

Описание

Аудиоданные записей объекта AudioRecorder с помощью аудио устройства компьютера.

Записывать аудиоданные с помощью аудио устройства компьютера:

  1. Задайте и настройте свой объект магнитофона. Смотрите Конструкцию.

  2. Вызовите step, чтобы записать аудиоданные согласно свойствам dsp.AudioRecorder. Поведение step характерно для каждого объекта в тулбоксе.

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

Примечание

При запуске в R2016b, вместо того, чтобы использовать метод step, чтобы выполнить операцию, заданную Системным объектом, можно вызвать объект с аргументами, как будто это была функция. Например, y = step(obj,x) и y = obj(x) выполняют эквивалентные операции.

Конструкция

H = dsp.AudioRecorder возвращает объект магнитофона, H, который записывает аудиосэмплы с помощью устройства аудиовхода в режиме реального времени.

H = dsp.AudioRecorder('PropertyName',PropertyValue, ...) возвращает объект магнитофона, H, с каждым набором свойств к заданному значению.

Свойства

DeviceName

Устройство, от которого можно получить аудиоданные

Задайте устройство, от которого можно получить аудиоданные. Значением по умолчанию является Default, который является стандартным устройством ввода данных компьютера. Можно использовать заполнение клавишей Tab, чтобы запросить допустимые присвоения DeviceName для компьютера путем ввода H.DeviceName = ' и затем нажатия клавиши TAB. Функциональность заполнения клавишей Tab показывает все допустимые имена аудио устройства для вашего компьютера.

SampleRate

Количество выборок в секунду считано из аудио устройства

Задайте количество выборок в секунду в сигнале как целое число. Значение по умолчанию 44100. Это свойство является настраиваемым.

NumChannels

Количество звуковых каналов

Задайте количество звуковых каналов как целое число. Значение по умолчанию равняется 2.

DeviceDataType

Тип данных используется устройством

Задайте тип данных, используемый устройством, чтобы получить аудиоданные как Determine from output data type, 8-bit integer, 16-bit integer, 24-bit integer или 32-bit float. Значением по умолчанию является Determine from output data type.

BufferSizeSource

Источник Buffer Size

Задайте, как определить buffer size как Auto или Property. Значением по умолчанию является Auto.

BufferSize

Buffer size

Задайте как целое число размер буфера, который магнитофон возражает использованию, чтобы передать с аудио устройством. Это свойство применяется, когда вы устанавливаете свойство BufferSizeSource на Property. Значением по умолчанию является 4096. Это свойство является настраиваемым. Настройка этого свойства включает баланс между задержкой устройства и возможностью понижающихся данных (недостаточное наполнение буфера). Момент вы получаете буфер от устройства, у вас есть выборки, которые являются относительно новыми и выборки, которые, по крайней мере, так же стары как размер буфера. Поэтому buffer size вводит latency, который является временем, требуемым для устройства заполнять очередь и буфер. BufferSize является половиной размера буфера звуковой карты. Размер буфера, обработанного в каждом прерывании от аудио устройства, влияет на производительность системы. Кадр данных не может пройти через очередь, пока буфер не заполнен устройством, таким образом вводя задержку. BufferSize должен быть меньшим, чем эффективная длительность очереди. Чтобы установить BufferSize на значение кроме значения по умолчанию, сначала измените BufferSizeSource на 'Свойство'. Можно выбрать BufferSize из списка свойств.

QueueDuration

Размер очереди в секундах

Задайте длину аудио-очереди в секундах. Значением по умолчанию является 1.0. Это свойство является настраиваемым. Цель очереди состоит в том, чтобы управлять компромиссом между уволенным данных и задержкой. Задержка вычисляется следующим уравнением: latency=QueueDuration×SampleRate+2×BufferSizeSampleRate.

Чтобы минимизировать задержку, понизьте QueueDuration или установите его на 0. Однако имейте в виду, что уволенные данных или потеря системной робастности могут закончиться. Свойство QueueDuration задает длительность сигнала в секундах, которые могут быть буферизованы во время симуляции. Это значение является максимальным отрезком времени, что предоставление данных Системного объекта может изолировать требование данных устройства. Если уровень пропускной способности MATLAB® ниже, чем уровень пропускной способности устройства, переполнение буфера происходит. Можно использовать OutputNumOverrunSamples, чтобы контролировать превышенный. Чтобы исправить переполнение, сделайте длительность очереди больше, чем буфер. Если уровень пропускной способности MATLAB выше, чем уровень пропускной способности устройства, недостаточное наполнение буфера происходит, заставляя Системный объект ожидать новых выборок, чтобы стать доступным. Чтобы свести к минимуму вероятность уволенных, проверки Системного объекта, чтобы проверить длительность очереди являются, по крайней мере, столь же большими как максимум buffer size и формата кадра. Если это не, длительность очереди автоматически установлена в это максимальное значение. В начале симуляции очередь переполнена тишиной. На каждом временном шаге аудио устройство отправляет буфер выборок к верхней части очереди.

SamplesPerFrame

Количество выборок в выходном сигнале

Задайте количество выборок в выводе магнитофона как целое число. Значение по умолчанию 1024.

OutputDataType

Тип данных вывода

Выберите тип выходных данных как uint8, int16, int32, single или double. Значением по умолчанию является double.

OutputNumOverrunSamples

Включите вывод превышенного количества

Установите на true, чтобы вывести количество выборок, пропущенных из-за очереди, превышенной начиная с последней возможности к методу step. Значением по умолчанию является false.

ChannelMappingSource

Источник отображения канала устройства

Задайте, определить ли канал, сопоставляющий как 'Auto' или как 'Property'. Если вы устанавливаете значение ChannelMappingSource к 'Auto', поле ChannelMapping представляется неактивное. Если вы устанавливаете это свойство на 'Property', вектор, заданный в поле ChannelMapping, используется, чтобы направить вход. Кроме того, поле NumChannels представляется неактивное, потому что карта канала содержит информацию о количестве каналов данных, которые пользователь пытается считать.

ChannelMapping

Отображение канала устройства к данным

Вектор допустимых индексов канала, чтобы представлять отображение между входом устройства образовывает канал и данные. Термин Channel Mapping относится к 1 к 1 отображению, которое сопоставляет каналы на выбранном аудио устройстве к каналам данных. Когда вы записываете аудио, отображение канала позволяет вам задавать, какой канал аудиоданных направляет вход к определенному каналу аудио. По умолчанию поле ChannelMapping [1:MAXNUMINPUTCHANNELS], где MAXNUMINPUTCHANNELS зависит от выбранного устройства.

Методы

шагЗапишите аудио от регистрирующего устройства
Характерный для всех системных объектов
release

Позвольте изменения значения свойства Системного объекта

Поиск и устранение проблем

Выполнение исполняемого файла вне MATLAB

Чтобы запустить ваше сгенерированное приложение независимого исполняемого файла в Shell, необходимо установить среду на следующее:

ПлатформаКоманда
Mac

setenv DYLD_LIBRARY_PATH $LD_LIBRARY_PATH: $MATLABROOT/bin/maci64 (csh/tcsh)

export DYLD_LIBRARY_PATH $LD_LIBRARY_PATH: $MATLABROOT/bin/maci64 (Bash)

Linux

setenv LD_LIBRARY_PATH $LD_LIBRARY_PATH: $MATLABROOT/bin/glnxa64 (csh/tcsh)

export LD_LIBRARY_PATH $LD_LIBRARY_PATH: $MATLABROOT/bin/glnxa64 (Bash)

Windows

set PATH = $MATLABROOT\bin\win64;%PATH%

Алгоритмы

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

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