Этот пример показывает аудио плагин, разработанный, чтобы улучшить воспринятый уровень звука в более низкой части слышимого спектра.
Маленькие громкоговорители обычно имеют плохой низкочастотный ответ, который может оказать негативное влияние на полное качество звука. Этот пример реализует психоакустическое басовое улучшение, чтобы улучшить качество звука аудио, проигрываемого на маленьких громкоговорителях.
Пример основан на алгоритме в [1]. Нелинейное устройство переключает низкочастотную область значений сигнала к высокочастотной области значений посредством генерации гармоник. Подача исходного сигнала сохраняется из-за "виртуальной подачи" психоакустическое явление.
Алгоритм реализован с помощью аудио сменного объекта.
Фигура ниже иллюстрирует алгоритм, используемый в [1].
1. Входной сигнал стерео разделен в lowpass и highpass компоненты с помощью перекрестного фильтра. Перекрестная частота фильтра равна частоте среза докладчика (набор к 60 Гц в этом примере).
2. highpass компонент, разделен в левые и правые каналы: и, соответственно.
3. lowpass компонент, преобразован в моно, путем добавления левых и правых каналов поэлементно.
4. передается через полный интегратор волны. Полный интегратор волны переключает к более высоким гармоникам.
входной сигнал,
выходной сигнал
индекс времени
5. передается через полосовой фильтр с более низким набором частоты среза к частоте среза докладчика. Верхняя частота среза полосы пропускания может быть настроена, чтобы подстроить выходное качество звука.
6., полоса пропускания отфильтрованный сигнал, проходит через настраиваемое усиление.
7. добавляется налево и право highpass каналы.
8. Левые и правые каналы конкатенированы в одну матрицу и выведены.
Несмотря на то, что получившийся выходной сигнал стерео не содержит низкочастотные элементы, басовая подача входа сохраняется благодаря сгенерированным гармоникам.
audiopluginexample. BassEnhancer является аудио объектом плагина, который реализует психоакустический басовый алгоритм улучшения. Сменные параметры являются верхней частотой среза полосового фильтра и усилением, примененным при выводе полосового фильтра (G в схеме выше). Можно включить объект в симуляцию MATLAB или использовать его, чтобы сгенерировать аудио плагин с помощью generateAudioPlugin.
Можно открыть испытательный стенд для audiopluginexample.BassEnhancer
с помощью audioTestBench. Испытательный стенд обеспечивает графический интерфейс пользователя, чтобы помочь вам протестировать свой аудио плагин в MATLAB. Можно настроить сменные параметры, когда испытательный стенд выполняется. Можно также открыть осциллограф времени и спектр анализатор, чтобы просмотреть и сравнить сигналы ввода и вывода во временном и частотном диапазоне, соответственно.
bassEnhancer = audiopluginexample.BassEnhancer; audioTestBench(bassEnhancer)
Можно также использовать audiopluginexample.BassEnhancer
в MATLAB, как вы использовали бы любой другой объект MATLAB. Можно использовать configureMIDI
, чтобы позволить настроить объект с помощью MIDI-устройства. Это особенно полезно, если объект является частью потоковой передачи симуляция MATLAB, где командное окно не свободно.
HelperBassEnhancerSim
является простой функцией, которая может использоваться, чтобы выполнить басовое улучшение как часть большей симуляции MATLAB. Функция инстанцирует плагина audiopluginexample.BassEnhancer
и использует метод setSampleRate
, чтобы установить его уровень выборки на Фс входного параметра. Параметры плагина настраиваются путем устанавливания их значений к входным параметрам Фкутофф и G, соответственно. Обратите внимание на то, что также возможно сгенерировать файл MEX от этой функции с помощью команды codegen
. Производительность улучшается в этом режиме, не ставя под угрозу способность к настройкам параметров.
[1] 'Улучшая воспринятый бас и реконструкцию высоких частот для полосы ограниченные сигналы', Aarts, Р.М.; Ларсен, E; Schobben, D; MPCA - ноябрь 2002.