Audio Toolbox™ оптимизирован для обработки аудиоданных в реальном времени. audioDeviceReader
, audioDeviceWriter
, audioPlayerRecorder
, dsp.AudioFileReader
, и dsp.AudioFileWriter
спроектированы для потоковой передачи многоканального аудио, и они обеспечивают необходимые параметры так, чтобы можно было обменять между пропускной способностью и задержкой.
Для получения информации об обработке в режиме реального времени и советах о том, как оптимизировать ваш алгоритм, смотрите Аудио ввод-вывод: Буферизация, Задержка и Пропускная способность.
Этот пример описывает, как можно реализовать обработку аудиопотока в MATLAB®. Это обрисовывает в общих чертах рабочий процесс для создания испытательного стенда разработки и обеспечивает примеры для каждого этапа рабочего процесса.
Этот пример создает испытательный стенд разработки на четырех шагах:
Создайте объекты к аудио ввода и вывода от вашего испытательного стенда.
Создайте цикл аудиопотока, который обрабатывает ваше покадровое аудио.
Добавьте осциллограф, чтобы визуализировать обоих ввод и вывод вашего цикла аудиопотока.
Добавьте алгоритм обработки для своего цикла аудиопотока.
Этот пример также обсуждает инструменты для визуализации и настройки вашего алгоритма обработки в режиме реального времени.
Для обзора цикла обработки рассмотрите завершенный испытательный стенд ниже. Можно воссоздать этот испытательный стенд путем обхода постепенный через этот пример.
Завершенный код испытательного стенда
Ваш цикл аудиопотока может читать из устройства или файла, и он может записать в устройство или файл. В этом примере вы создаете цикл аудиопотока, который читает аудио, покадровое из файла, и пишет аудио, покадровое в устройство. Смотрите Примеры Быстрого запуска для альтернативных настроек ввода/вывода.
Создайте dsp.AudioFileReader
Система object™ и задает файл. Чтобы уменьшать задержку, установите SamplesPerFrame
свойство dsp.AudioFileReader
Системный объект к маленькому формату кадра.
Затем создайте audioDeviceWriter
Системный объект и задает свою частоту дискретизации как частоту дискретизации средства чтения файлов.
Для получения дополнительной информации о том, как использовать Системные объекты, смотрите то, Что Системные объекты? MATLAB
Аудио процессов цикла аудиопотока итеративно. Это делает так:
Чтение системы координат звукового сигнала
Обработка того кадра звукового сигнала
Запись, что система координат звукового сигнала к устройству или файлу
Перемещение в следующую систему координат
В этом примере вход к циклу аудиопотока читается из файла. Выход записан в устройство.
Чтобы считать покадровый звуковой файл, вызовите свой dsp.AudioFileReader
в вашем цикле аудиопотока, и не обеспечивают аргументов. Чтобы записать покадровый звуковой сигнал, вызовите свой audioDeviceWriter
в вашем цикле аудиопотока со звуковым сигналом в качестве аргумента.
Все Системные объекты имеют release
функция. Как лучшая практика, выпустите свои Системные объекты после использования, особенно если те Системные объекты связываются с аппаратными устройствами, такими как звуковые карты.
Существует несколько доступных осциллографов. Двумя общими осциллографами является dsp.TimeScope
и dsp.SpectrumAnalyzer
. Этот пример использует dsp.TimeScope
визуализировать звуковой сигнал.
dsp.TimeScope
Системный объект отображает звуковой сигнал во временном интервале. Создайте Системный объект. Чтобы помочь визуализации, задайте значения для TimeSpan
, BufferLength
, и YLimits
свойства. Чтобы визуализировать покадровый звуковой сигнал, вызовите dsp.TimeScope
Системный объект в вашем цикле аудиопотока со звуковым сигналом в качестве аргумента.
В большинстве приложений вы хотите обработать свой звуковой сигнал в вашем цикле аудиопотока. Этап обработки может быть:
Блок кода MATLAB в вашем цикле аудиопотока
Отдельная функция вызвана в вашем цикле аудиопотока
Системный объект называется в вашем цикле аудиопотока
В этом примере вы вызываете reverberator
обработать сигнал в вашем цикле аудиопотока.
Создайте reverberator
Системный объект, и задает SampleRate
свойство как частота дискретизации вашего средства чтения файлов. Чтобы настроить эффект реверберации, задайте значения для PreDelay
и WetDryMix
свойства. Чтобы применить эффект реверберации к покадровому звуковому сигналу, вызовите reverberator
в вашем цикле аудиопотока со звуковым сигналом в качестве аргумента.
У пользователя Audio Toolbox есть несколько опций, чтобы добавить приспособляемость в реальном времени в алгоритм обработки. Чтобы добавить приспособляемость в ваш цикл аудиопотока, можно использовать:
Audio Test Bench – основанные на пользовательском интерфейсе упражнения для audioPlugin
классы и большинство Системных объектов Audio Toolbox.
Встроенные функции – Функции в Audio Toolbox для визуализации ключевых аспектов ваших алгоритмов обработки.
Сделанный на заказ пользовательский интерфейс – Видит, что Параметр В реальном времени Настраивается для примера.
MIDI-контроллер – Много Системных объектов Audio Toolbox включают функции та поддержка средства управления MIDI. Можно использовать
функция в configureMIDI
reverberator
Системный объект, чтобы синхронизировать ваши свойства Системного объекта со средствами управления MIDI. Использовать средства управления MIDI с Системными объектами, которые не имеют configureMIDI
функционируйте, смотрите Интерфейс Поверхности Управления MIDI.
Пользовательский дейтаграммный протокол (UDP) – можно использовать UDP в MATLAB для передачи без установления соединения. Можно также использовать UDP, чтобы получить или передать дейтаграммы между средами. Возможные приложения включают средства MATLAB использования, чтобы настроить ваш алгоритм обработки аудиоданных при проигрывании и визуализации аудио в сторонней среде. Для примера приложения коммуникации UDP смотрите, Связываются Между DAW и MATLAB Используя UDP.
Аудиопоток с устройства на устройство