Компьютерные подсказки

Вылетает Сталкер: Зов Припяти Программа икс рей 1

Stalker lost alpha гид по прохождению

Pony Express отслеживание почтовых отправлений

Pony Express – время и сроки доставки с Алиэкспресс в Россию

Застряли посылки с Алиэкспресс со статусом Hand over to airline: что делать?

РФ (Nigma) — интеллектуальная поисковая система

Данные для семантики — Яндекс Вордстат

Пиар ВКонтакте при помощи бирж: особенности и использование

Почему я не могу отправить сообщение?

Предупреждение «Подключение не защищено» в Google Chrome по протоколу https Нарушена конфиденциальность данных яндекс браузер

Всё что известно о смартфоне Samsung Galaxy S9 Аккумуляторная батарея Galaxy S9 и мощность

Темы оформления и русификация форума SMF, а так же установка компонента JFusion в Joomla

Автоматическое определение движка форума Позже board powered by smf

Коды в игре скайрим - зелья, ингредиенты, заклинания Код на ингредиенты скайрим

Подробная инструкция, как в "скайриме" открыть дверь золотым когтем

Спектральный анализатор звука программа. Анализаторы спектра звука и их применение

Алексей Лукин

Спектроанализатор - прибор для измерения и отображения спектра сигнала - распределения энергии сигнала по частотам. В этой статье рассматриваются основные виды анализаторов спектра и иллюстрируется их применение для редактирования и реставрации звука. Особое внимание уделяется современным анализаторам, основанным на FFT - быстром преобразовании Фурье.

Зачем анализировать спектр?

Традиционно в цифровой звукозаписи аудиодорожка представляется в виде осциллограммы, отображающей форму звуковой волны (waveform), то есть зависимость амплитуды звука от времени. Такое представление достаточно наглядно для опытного звукорежиссёра: осциллограмма позволяет увидеть основные события в звуке, такие как изменения громкости, паузы между частями произведения и зачастую даже отдельные ноты в сольной записи инструмента. Но одновременное звучание нескольких инструментов на осциллограмме "смешивается" и визуальный анализ сигнала становится затруднительным. Тем не менее, наше ухо без труда различает отдельные инструменты в небольшом ансамбле. Как же это происходит?

Когда сложное звуковое колебание попадает на барабанную перепонку уха, оно с помощью серии слуховых косточек передаётся на орган, называемый улиткой. Улитка представляет собой закрученную в спираль эластичную трубочку. Толщина и жёсткость улитки плавно меняются от края к центру спирали. Когда сложное колебание поступает на край улитки, это вызывает ответные колебания разных частей улитки. При этом резонансная частота у каждой части улитки своя. Таким образом улитка раскладывает сложное звуковое колебание на отдельные частотные составляющие. К каждой части улитки подходят отдельные группы слуховых нервов, передающие информацию о колебаниях улитки в головной мозг (более подробно о слуховом восприятии можно прочитать в статье "Основы психоакустики " И. Алдошиной в журнале "Звукорежиссер" №6, 1999). В результате в мозг поступает информация о звуке, уже разложенная по частотам, и человек легко отличает высокие звуки от низких. Кроме того, как мы вскоре увидим, разложение звука на частоты помогает различить отдельные инструменты в полифонической записи, что значительно расширяет возможности редактирования.

Полосовые спектроанализаторы

Первые звуковые анализаторы спектра разделяли сигнал на частотные полосы с помощью набора аналоговых фильтров. Дисплей такого анализатора (рис. 1) показывает уровень сигнала во множестве частотных полос, соответствующих фильтрам.

Рис. 1. Третьоктавный анализатор Specan32, эмулирующий известный прибор KlarkTeknik DN60

На рис. 2 приведён пример частотных характеристик полосовых фильтров в анализаторе, удовлетворяющем стандарту ГОСТ 17168-82. Такой анализатор называется третьоктавным, так как в каждой октаве частотного диапазона имеется три полосы. Видно, что частотные характеристики полосовых фильтров перекрываются; их крутизна зависит от порядка используемых фильтров.

Рис. 2. Частотные характеристики фильтров третьоктавного спектроанализатора

Важным свойством спектроанализатора является баллистика - инерционность измерителей уровня в частотных полосах. Она может регулироваться заданием скорости нарастания (атаки) и спада уровня. Типичное время атаки и спада в таком анализаторе - порядка 200 и 1500 мс.

Полосовые спектроанализаторы часто применяются для настройки АЧХ (амплитудно-частотной характеристики) акустических систем на концертных площадках. Если на вход такому анализатору подать розовый шум (имеющий одинаковую мощность в каждой октаве), то дисплей покажет горизонтальную линию, с возможной поправкой на вариацию шума во времени. Если розовый шум, проходя через звукоусилительную систему зала, исказился, то изменения его спектра будут видны на анализаторе. При этом анализатор, как и наше ухо, будет малочувствителен к узким провалам АЧХ (менее 1/3 октавы).

Преобразование Фурье

Преобразование Фурье - это математический аппарат для разложения сигналов на синусоидальные колебания. Например, если сигнал x (t ) непрерывный и бесконечный по времени, то его можно представить в виде интеграла Фурье:

Интеграл Фурье собирает сигнал x (t ) из бесконечного множества синусоидальных составляющих всевозможных частот ω , имеющих амплитуды X ω и фазы φ ω .

На практике нас больше интересует анализ конечных по времени звуков. Поскольку музыка не является статичным сигналом, её спектр меняется во времени. Поэтому при спектральном анализе нас обычно интересуют отдельные короткие фрагменты сигнала. Для анализа таких фрагментов цифрового аудиосигнала существует дискретное преобразование Фурье :

Здесь N отсчётов дискретного сигнала x (n ) на интервале времени от 0 до N -1 синтезируются как сумма конечного числа синусоидальных колебаний с амплитудами X k и фазами φ k . Частоты этих синусоид равны kF/N , где F - частота дискретизации сигнала, а N - число отсчётов исходного сигнала x (n ) на анализируемом интервале. Набор коэффициентов X k называется амплитудным спектром сигнала . Как видно из формулы, частоты синусоид, на которые раскладывается сигнал, равномерно распределены от 0 (постоянная составляющая) до F /2 - максимально возможной частоты в цифровом сигнале. Такое линейное расположение частот отличается от распределения полос третьоктавного анализатора.

FFT-анализаторы

FFT (fast Fourier transform) - алгоритм быстрого вычисления дискретного преобразования Фурье. Благодаря ему стало возможным анализировать спектр звуковых сигналов в реальном времени.

Рассмотрим работу типичного FFT-анализатора. На вход ему поступает цифровой аудиосигнал. Анализатор выбирает из сигнала последовательные интервалы («окна») , на которых будет вычисляться спектр, и считает FFT в каждом окне для получения амплитудного спектра X k . Вычисленный спектр отображается в виде графика зависимости амплитуды от частоты (рис. 3). Аналогично полосовым анализаторам, обычно используется логарифмический масштаб по осям частот и амплитуд. Но из-за линейного расположения полос FFT по частоте спектр может выглядеть недостаточно детальным на нижних частотах или излишне осциллирующим на верхних частотах.

Рис. 3. Дисплей FFT-анализатора

Если рассматривать FFT как набор фильтров, то, в отличие от полосовых фильтров третьоктавного анализатора, фильтры FFT будут иметь одинаковую ширину в герцах, а не в октавах. Поэтому розовый шум на FFT-анализаторе будет уже не горизонтальной линией, а наклонной, со спадом 3 дБ/окт. Горизонтальной линией на FFT-анализаторе будет белый шум - он содержит равную энергию в равных линейных частотных интервалах.

Параметр N - число анализируемых отсчётов сигнала - имеет решающее значение для вида спектра. Чем больше N , тем плотнее сетка частот, по которым FFT раскладывает сигнал, и тем больше деталей по частоте видно на спектре. Для достижения более высокого частотного разрешения приходится анализировать более длинные участки сигнала. Если сигнал в пределах окна FFT меняет свои свойства, то спектр будет отображать некоторую усреднённую информацию о сигнале со всего интервала окна.

Когда нужно проанализировать быстрые изменения в сигнале, длину окна N выбирают маленькой. В этом случае разрешение анализа по времени увеличивается, а по частоте - уменьшается. Таким образом, разрешение анализа по частоте обратно пропорционально разрешению по времени. Этот факт называется соотношением неопределённостей .

Весовые окна

Один из простейших звуковых сигналов - синусоидальный тон. Как будет выглядеть его спектр на FFT-анализаторе? Оказывается, это зависит от частоты тона. Мы знаем, что FFT раскладывает сигнал не по тем частотам, которые на самом деле присутствуют в сигнале, а по фиксированной равномерной сетке частот. Например, если частота дискретизации равна 48 кГц и размер окна FFT выбран 4096 отсчётов, то FFT раскладывает сигнал по 2049 частотам: 0 Гц, 11.72 Гц, 23.44 Гц, ..., 24000 Гц.

Если частота тона совпадает с одной из частот сетки FFT, то спектр будет выглядеть "идеально": единственный острый пик укажет на частоту и амплитуду тона (рис. 4, белый график).

Если же частота тона не совпадает ни с одной из частот сетки FFT, то FFT "соберёт" тон из имеющихся в сетке частот, скомбинированных с различными весами. График спектра при этом размывается по частоте (рис. 4, зелёный график). Такое размытие обычно нежелательно, так как оно может закрыть собой более слабые звуки на соседних частотах. Можно также заметить, что амплитуда максимума зелёного графика ниже реальной амплитуды анализируемого тона. Это связано с тем, что мощность анализируемого тона равна сумме мощностей коэффициентов спектра, из которых этот тон составлен.

Рис. 4. Спектр синусоидального тона различных частот с весовыми окнами и без них

Чтобы уменьшить эффект размытия спектра, сигнал перед вычислением FFT умножается на весовые окна - гладкие функции, похожие на гауссиан, спадающие к краям интервала. Они уменьшают размытие спектра за счёт некоторого ухудшения частотного разрешения. Если рассматривать FFT как набор полосовых фильтров, то весовые окна регулируют взаимное проникновение частотных полос.

Простейшее окно - прямоугольное: это константа 1, не меняющая сигнала. Оно эквивалентно отсутствию весового окна. Одно из популярных окон - окно Хэмминга. Оно уменьшает уровень размытия спектра примерно на 40 дБ относительно главного пика.

Весовые окна различаются по двум основным параметрам: степени расширения главного пика и степени подавления размытия спектра ("боковых лепестков") . Чем сильнее мы хотим подавить боковые лепестки, тем шире будет основной пик. Прямоугольное окно меньше всего размывает верхушку пика, но имеет самые высокие боковые лепестки. Окно Кайзера обладает параметром, который позволяет выбирать нужную степень подавления боковых лепестков.

Другой популярный выбор - окно Хана. Оно подавляет максимальный боковой лепесток слабее, чем окно Хэмминга, но зато остальные боковые лепестки быстрее спадают при удалении от главного пика. Окно Блэкмана обладает более сильным подавлением боковых лепестков, чем окно Хана.

Для большинства задач не очень важно, какой именно вид весового окна использовать. Главное, чтобы оно было. Популярный выбор - Хан или Блэкман. Использование весового окна уменьшает зависимость формы спектра от конкретной частоты сигнала и от её совпадения с сеткой частот FFT.

Рисунок 4 сделан для синусоид, однако, исходя из него, нетрудно представить, как будет выглядеть спектр реальных звуковых сигналов. Каждый пик в спектре будет иметь некоторую размытую форму, в зависимости от своей частоты и выбранного весового окна.

Чтобы компенсировать расширение пиков при применении весовых окон, можно использовать более длинные окна FFT: например, не 4096, а 8192 отсчета. Это улучшит разрешение анализа по частоте, но ухудшит по времени.

Спектрограмма

Часто возникает необходимость проследить, как спектр сигнала меняется во времени. FFT-анализаторы помогают сделать это в реальном времени при воспроизведении сигнала. Однако в ряде случаев оказывается удобна визуализация изменения спектра во всём звуковом отрывке сразу. Такое представление сигнала называется спектрограммой . Для её построения применяется оконное преобразование Фурье : спектр вычисляется от последовательных окон сигнала (рис. 5), и каждый из этих спектров образует столбец в спектрограмме.

Рис. 5. Вычисление спектрограммы сигнала

По горизонтальной оси спектрограммы откладывается время, по вертикальной - частота, а амплитуда отображается яркостью или цветом. На спектрограмме гитарной ноты на рис. 6 видно развитие звучания: оно начинается с резкой атаки и продолжается в виде гармоник, кратных по частоте основному тону 440 Гц. Видно, что верхние гармоники имеют меньшую амплитуду и затухают быстрее, чем нижние. Также на спектрограмме прослеживается шум записи - равномерный фон тёмно-синего цвета. Справа показана шкала соответствия цветов и уровней сигнала (в децибелах ниже нуля).

Рис. 6. Спектрограмма гитарной ноты с разными размерами окна FFT

Если менять размер окна FFT, становится хорошо видно, как меняется частотное и временное разрешение спектрограммы. При увеличении окна гармоники становятся тоньше, и их частота может быть определена более точно. Однако размывается во времени момент атаки (в левой части спектрограммы). При уменьшении размера окна наблюдается обратный эффект.

Особенно полезна спектрограмма при анализе быстро меняющихся сигналов. На рис. 7 показана спектрограмма вокального пассажа с вибрато. По ней легко определить такие характеристики голоса, как частота и глубина вибрато, его форма и ровность, наличие певческой форманты. По изменению высоты основного тона и гармоник прослеживается исполняемая мелодия.

Рис. 7. Спектрограмма вокального пассажа с вибрато

Применения спектрограммы

Современные средства реставрации звука, такие как программа iZotope RX , активно используют спектрограмму для редактирования отдельных частотно-временных областей в сигнале. С помощью этой техники можно найти и подавить такие нежелательные призвуки, как звонок мобильного телефона во время важной записи, скрип стула пианиста, кашель в зрительном зале и т.п.

Проиллюстрируем использование спектрограммы для удаления свиста поклонников из концертной записи.


Рис. 8. Удаление нежелательных призвуков с помощью спектрограммы

На рис. 8 свист легко находится: это светлая кривая линия в районе 3 кГц. Если бы частота свиста была постоянной, то его можно было бы подавить с помощью режекторного фильтра. Однако в нашем случае частота меняется. Для выделения свиста на спектрограмме удобно воспользоваться инструментом «волшебная палочка» из программы iZotope RX II. Одно нажатие приводит к выделению основного тона свиста, повторное нажатие выделяет гармоники. После этого свист можно удалить, просто нажав на клавишу Del. Однако более аккуратный способ - воспользоваться модулем Spectral Repair: это позволит избежать "дыр" в спектре после удаления свиста. После применения этого модуля в режиме ослабления с вертикальной интерполяцией (Attenuate vertically) свист практически полностью исчезает из записи: как визуально, так и на слух.

Еще одно полезное применение спектрограммы - анализ присутствия в записи следов компрессии MP3 или других кодеков с потерями. У большинства записей оригинального (несжатого) качества частотный диапазон простирается до 20 кГц и выше; при этом энергия сигнала плавно спадает с ростом частоты (как на рис. 6, 7). В результате психоакустической компрессии верхние частоты сигнала квантуются сильнее нижних, и верхняя граница спектра сигнала обнуляется (как на рис. 8). При этом частота среза зависит от содержания кодируемого сигнала и от битрейта кодера. Ясно, что кодер стремится обнулять только те частоты в сигнале, которые в данный момент не слышны (замаскированы). Поэтому частота среза, как правило, меняется во времени, что образует на спектрограмме характерную "бахрому" с островками энергии на тёмном фоне.

Аналогичная ситуация иногда возникает и с низкочастотными помехами, такими как задувание ветра в микрофон или постоянная составляющая (смещение по постоянному току, DC offset). Они могут располагаться на инфранизких частотах и не обнаруживать себя без помощи спектроанализатора или осциллографа.

Заключение

Среди опытных звукорежиссёров старой школы распространено мнение, что анализировать и редактировать сигналы следует исключительно на слух, не полагаясь на индикаторы и анализаторы. Разумеется, анализаторы - не панацея в случае отсутствия слуха. Вряд ли кто-то серьёзно воспринимает идею сведения композиции "по приборам".

Спектр и спектрограмма - способы представления звука, более близкие к слуховому восприятию, нежели осциллограмма. Надеюсь, что эта статья откроет новые возможности в анализе и редактировании звука для тех, кто ранее с этими представлениями не работал.

Для того чтобы загрузить Audio Spectrum Analyzer, следуйте простым инструкциям.

  1. Чтобы загрузка установочного файла началась, нажмите на синюю кнопку «Скачать с сервера» расположенную чуть выше.
  2. После чего, сервер подготовит и проверит установочный файл на наличие вирусов.
  3. Если файл не заражен и с ним все в порядке, появиться серая кнопка «Скачать».
  4. Нажав на кнопку «Скачать» начнется загрузка файла на Ваш компьютер.

Мы не просим Вас проходить нудный процесс регистрации или отправлять какие либо СМС для подтверждения. Просто скачивайте и пользуйтесь на здоровье =)

Как установить Audio Spectrum Analyzer для Windows XP

Для установки программы следуйте простым инструкциям которые применимы к большинству программ.

  1. Запустите загруженный файл, кликнув по нему двойным нажатием.Все установочные файлы взяты с официальных сайтов разработчиков. Последняя дата обновления файла Audio Spectrum Analyzer версии 1.26 было 10 январь 2017 в 14:03.
  2. В появившемся окне примите лицензионное соглашение.Также ознакомиться с лицензионным соглашением можно и на официальном сайте разработчика программы.
  3. Выберите нужные компоненты которые желаете установить.Уберите галочки которые могут стоять для установки дополнительных программ.
  4. Выберете папку на компьютере куда желаете установить программу. В большинстве случаях программа автоматически выбирает папку, например в Windows это C:\Program Files\
  5. В завершение менеджер установки программы может предложить создать «Ярлык на рабочем столе» или «Папку в меню пуска».
  6. После чего начнется процесс установки.После завершения менеджер установки может попросить перезагрузить компьютер для более корректной работы программы.

Спектроанализаторы значительно упрощают процесс сведения, позволяя делать более обьективную, подкреплённую визуально эквализацию. Чем может быть полезен анализатор спектра ? Чем они различаются? Где скачать спектроанализатор? Как обычно, обо всём по порядку.

Для начала, небольшой обзор и сравнение vst анализаторов, которыми я пользовался.

Прекрасный, динамичный 1 анализатор. Это первый мой vst, и с ним я проработал долгое время, пока не появилась потребность в более точном приборе. Дело в том, что минимальный шаг измерения PAZ Analyzer’а в низкочастотной области (кнопка «LF res.») равен 10Гц, и этого катастрофически нехватало. В поисках бесплатной альтернативы, я наткнулся на

Простой и точный анализатор от отечественного производителя. В нём достаточно настроек, чтобы отображать данные так же, как и PAZ Analyzer, но есть существенный (для меня, по крайней мере) недостаток, из-за которого, я перестал им пользоваться: при высоких значениях FFT 2 , интерфейс жутко тормозит, прямо слайд-шоу…

Этот анализатор я нашёл совершенно случайно, перейдя по чьей то рекомендательной ссылке. Он клёвый При относительно невысокой стоимости, имеет демо-версию без ограничения по времени пользования или функционалу (единственное ограничение заключается в том, что в демо-версии программа переключается в режим bypass на 5 секунд, через каждые 40 секунд работы). Плюс, красивый интерфейс с быстрым обновлением кривой, высокую точность и море функций, вплоть до возможности высчитывать разницу в АЧХ нескольких сигналов.

Выбор сделан, но оставался один момент, который меня беспокоил. Я привык к анализатору PAZ и его отображению АЧХ. SPAN и FreqAnalyst же, отображали кривую… как то не так. Анализатор от Waves «видел» большинство студийных миксов как горизонтальную прямую, но его «конкуренты» - почему то с подъёмом в низкочастотной области и завалом на высоких частотах, хотя на слух этого не воспринималось. Кому (чему) верить?

Разобрался я достаточно быстро, решив протестировать анализаторы шумом - сигналом, занимающим всю полосу частот. В поисках звуковых сэмплов шума, я наткнулся на , в которой упоминалось о цветах шума. Как же я сразу не догадался! PAZ имеет логарифмическую характеристику отображения АЧХ, что соответствует горизонтальной прямой при измерении розового шума. Анализаторы SPAN и FreqAnalyst по умолчанию «откалиброваны» белым шумом. Исправить это легко, благодаря регулятору Slope, изменяющему наклон кривой АЧХ:

Итак, с инструментами для анализа и их особенностями мы более-менее определились. Что дальше?

Работа со спектроанализатором

В этом проекте аудио анализатор спектра в реальном времени реализуется с использованием 8-битного микроконтроллера PIC18F4550. Анализ спектра частот осуществляется оптимизированным 64-битным Быстрым Преобразованием Фурье (Fast Fourier Transformation, FFT, БПФ), написанном полностью на C. Выход с FFT отображается с помощью графического ЖК-дисплея 128x64 для визуализации звукового сигнала в реальном времени.

Для того чтобы выполнять вычисления FFT над аудио сигналом, необходимо подготовить аудио данные для PIC18F4550. МК имеет несколько аналогово-цифровых преобразователя (АЦП), которые могут быть использованы для измерения напряжения от 0В до 5В с 10-битной точностью (0-1023). Типичный сигнал линейного аудио выхода, является аналоговой волной с амплитудой 2В относительно 0В (т.е. сигнал переменного тока в диапазоне от +1В до -1В), как показано на следующей осциллограмме (с вывода W2 демо платы):

На картинке показана полноразмерная синусоидальная волна 5000 Гц, генерируемая с помощью ПК. Если бы мы подавали этот сигнал непосредственно на PIC, мы имели бы очень низкий диапазон входного напряжения (0-0.5В), и могли бы сделать выборку только верхней части сигнала, что сделало бы БПФ неверным.
Для того чтобы правильно сделать выборку сигнала, надо сделать две вещи. Во-первых, мы должны усилить сигнал, чтобы гарантировать, что мы можем максимально использовать диапазон 0-5В. Во-вторых, мы должны сдвинуть землю сигнала (0 вольт) на "виртуальную землю" 2.5В. Это позволит PIC сделать выборки и положительного, и отрицательного сигнала. Для этого на демо плате используется простой интегральный усилитель (LM386-1). Поскольку микросхема питается от источника питания 0В и 5В, она имеет удобный побочный эффект – смещение сигнала в середину необходимого диапазона. LM386-1 была использована т.к. это дешево и просто, однако вы можете использовать операционный усилитель с полным размахом входного и выходного сигнала для достижения этого с несколькими внешними элементами.

Следующая осциллограмма показывает сигнал с LM386-1 (для сигнала показанного выше), граничный диапазон напряжений установлен на 5 вольт (с контакта W3 демо платы):

Аппаратная часть смешивает линейный стерео вход, используя два резистора 10кОм, которые действуют как простой смеситель. Затем сигнал передается на LM386-1 через потенциометр 10кОм, который позволяет скорректировать сигнал. Далее выход с усилителя LM386-1 передается через простой RC фильтр, который обрезает сигнал примерно до 10 кГц. Затем полученный сигнал подается на контакт АЦП PIC18F4550. Фильтр 10 кГц действует как "сглаживающий" фильтр для БПФ, который не может правильно определить сигнал с частотой более чем 10 кГц. RC фильтр представляет собой очень простой тип фильтра (и очень неэффективный), но он был выбран, поскольку он легко изготавливается, и требует только 2 пассивных элемента. Обычно профессиональный анализатор спектра осуществляет сглаживание фильтром на 80% частоты Найквиста для БПФ (см. ниже), но, поскольку мы ограничены скоростью PIC, в этом проекте это невозможно сделать.

Демо плата также контролирует стандартный ЖК-дисплей с точечной матрицей 128x64, а также 3 светодиода (для тестирования преобразования звук-свет). Кроме того, есть 2 переключателя, позволяющие пользователю управлять выходом ЖК-дисплея в зависимости от того, что измеряется и как оно будет отображаться. Второе гнездо позволяет напрямую подать входной сигнал на другие аудио устройства, такие как наушники или колонки.

Вот принципиальная схема демо платы:

Плата является односторонней и используются только выводные компоненты для упрощения повторяемости. Я использовал PIC18F4550 для дополнительных выводов ввода/вывода, однако он может быть заменен на меньший PIC18F2550 который совместим по цоколевке. Схема достаточно проста для постройки на макетной плате, если вы хотите экспериментировать с трассировкой. Вот рисунок платы, который можно скачать ниже.

Прошивка

Прошивка полностью написана на C и может быть скачана ниже. Прошивка делится на 4 части:

Выборки АЦП

АЦП делает выборки уровня напряжения на RA0 каждые 50 мкс. Это дает нам частоту дискретизации 20 кГц (20.000 раз в секунду). Для БПФ важно, чтобы выборки брались равномерно и аккуратно. Для этого есть небольшая задержка в цикле выборки, который калибруется с помощью осциллографа на контакте W4 демо платы. Суммарная скважность прямоугольного сигнала должна быть ровно 50 мкс. АЦП делает выборки с полным 10-битным разрешением, а затем сдвигается в сторону младших разрядов при помощи 512, чтобы установить виртуальную землю входного сигнала обратно в ноль. Это значит, что полученные выборки находятся в диапазоне от -512 до +512 именно так, как требуется математике БПФ.

Маршрутизация АЦП занимает немногим более 64x50 Us = 32 мс (3200 мкс) во время выполнения для каждого цикла.

64-битная БПФ

Подпрограмма БПФ была взята из примера, приведенного в интернете (ссылки на исходный код можно найти в исходном коде). Математика БПФ является сложной и я не претендую на полное её понимание! Код был уменьшен до минимально необходимых команд и портирован для PIC18F. PIC18F4550 имеет аппаратную функцию умножения 8x8 в ALU процессора, поэтому я также оптимизировал расчеты, чтобы компилятор правильно использовал возможности чипа.

То, что 18F имеет аппаратный умножитель 8x8, действительно являться ключом к расчету БПФ таким маломощным чипом в реальном времени. Скорость цикла имеет преимущество даже по сравнению с 64-битными вычислениями в массиве.

Расчет абсолютной величины

Выход из БПФ 32 "сложных" числа, которые состоят из действительной и мнимой части, представленными ​​двумя массивами (вы должны прочитать о БПФ в Google, если вы хотите узнать больше). Для того, чтобы показать результат в осмысленном виде, необходимо рассчитать абсолютную величину комплексного числа, что осуществляется с помощью расчета Пифагора для вычисления расстояния до комплексного числа от начала координат 0. Это включает в себя вычисление корня из числа, что реализуется программным обеспечением очень быстро, используя целые SQRT() эквивалентны, поскольку любые операции с плавающей точкой будут слишком медленными.

Процедура расчета БПФ и абсолютной величины занимает примерно 70 мс (7000 мкс) для каждого цикла

Обновление ЖК-дисплея

ЖК-дисплей 128x64 должен обновлятья​​ как можно быстрее. Для этого я использовал очень простой алгоритм рисования диаграммы, который требует минимально возможного количества команд дисплею.

Два переключателя на плате позволяют пользователю переключаться между увеличением выхода x1 и x8 (так как в среднем частота музыки довольно низкая), а также между линейным выходом или логарифмическим выходом (на основе дБ). Это просто разные способы показа выхода в зависимости от того, хотите те ли вы точное представление об уровне частоты, или более приятный глазу выход.

Процедура обновления ЖК-дисплея занимает около 45 мс для каждого обновления.

Общая (средняя) скорость БПФ

Примерная скорость на дисплее анализатора спектра один кадр в 150 мс, в результате чего общая частота кадров около 6.5 кадров в секунду (или 10 кадров в секунду без ЖК-дисплея). Это можно легко улучшить сокращением необходимых блоков частот (что сократило бы отбор проб и время выполнения БПФ) или с помощью устройства отображения с более быстрым обновлением. Если вы хотели бы использовать БПФ для управления светодиодами светового устройства, можно легко сделать и то и то.

Блоки частот

Частота Найквиста в БПФ (самая высокая частота, которую он может обнаружить) составляет 10 кГц. 32 блока частот равномерно распределяются во всем диапазоне, однако, из-за работы подпрограммы БПФ, нельзя использовать нижние блоки. Это значит, что отображаемая частота для каждого блока выглядит следующим образом (в Гц):

  • 1: 312.5 - 625
  • 2: 625 - 937.5
  • 3: 937.5 - 1250
  • 4: 1250 - 1562.5
  • 5: 1562.5 - 1875
  • 6: 1875 - 2187.5
  • 7: 2187.5 - 2500
  • 8: 2500 - 2812.5
  • 9: 2812.5 - 3125
  • 10: 3125 - 3437.5
  • 11: 3437.5 - 3750
  • 12: 3750 - 4062.5
  • 13: 4062.5 - 4375
  • 14: 4375 - 4687.5
  • 15: 4687.5 - 5000
  • 16: 5000 - 5312.5
  • 17: 5312.5 - 5625
  • 18: 5625 - 5937.5
  • 19: 5937.5 - 6250
  • 20: 6250 - 6562.5
  • 21: 6562.5 - 6875
  • 22: 6875 - 7187.5
  • 23: 7187.5 - 7500
  • 24: 7500 - 7812.5
  • 25: 7812.5 - 8125
  • 26: 8125 - 8437.5
  • 27: 8437.5 - 8750
  • 28: 8750 - 9062.5
  • 29: 9062.5 - 9375
  • 30: 9375 - 9687.5
  • 31: 9687.5 - 10000

Заключение

Я не сомневаюсь, что программное и аппаратное обеспечение может быть улучшено. Я не эксперт в БПФ, но я хотел бы услышать любые идеи о том, как ускорить этот процесс. Кроме того, сглаживающий фильтр на демо плате не так уж эффективен и может быть легко заменен на фильтр на основе ОУ. Я просто не хочу использовать больше, чем минимально необходимое для работы аппаратное обеспечение.

Также я хотел бы сказать отдельное спасибо моему хорошему другу Richard Stagg, без его математической настойчивости этот проект, наверное, никогда не был бы завершен!

Список радиоэлементов

Обозначение Тип Номинал Количество Примечание Магазин Мой блокнот
U1 МК PIC 8-бит

PIC18F4550

1 В блокнот
U2 Аудио усилитель

LM386

1 В блокнот
U3 Линейный регулятор

LM7805CT

1 В блокнот
D1 Выпрямительный диод

1N4001

1 В блокнот
С1 Конденсатор 1 нФ 1 В блокнот
С2 Конденсатор 47 нФ 1 В блокнот
С3-С5, C7 Конденсатор 100 нФ 3 В блокнот
С6 Электролитический конденсатор 10 мкФ 1 В блокнот
R1, R2, R5, R7, R9, R10 Резистор

10 кОм

1

Анализаторы спектра, как орудие звукозаписывающего пролетариата

Возможность делать музыку на собственной домашней студии кружит голову многим творческим людям и заставляет проходить курс Вуза, сидя за домашним компьютером. Желание быстрее сделать свою демо - запись разбивается о монолит современной технологии. Синяки под глазами, невнятная речь, вечный эксперимент с программным обеспечением – признак того, что человек на правильном пути. Хорошо если есть опыт борьбы с километрами кабеля и регуляторами эффектов. В этом случае страдалец пропадет из семьи всего на полгода.…Недаром говорят “ Компьютер – лучшее противозачаточное средство”.

Что нужно для качественной обработки звука на компьютере? Хорошая звуковая карта, быстрый процессор, вместительный винчестер и свежий софт. Ну и конечно музыкальный вкус, помноженный на профессиональный опыт. Обработке звука программными симуляторами студийного оборудования может помочь важное, на мой взгляд, дополнение в виде анализаторов сигналов, поступающих на порты звуковой карты. Даже наличие высококачественного музыкального оборудование не спасет от путаницы с характеристиками конечного звукового продукта. А если работа ведётся на коммерческой основе, специалисты радио – студии, для которой предназначался ваш ролик, могут быстро развенчать ваше творение из за несоответствия принятым у них стандартам. На оригинальность идеи и уровень аранжировки внимания не обратят, не их это дело, а вот в частотных характеристиках покопаются с пристрастием. И перспектива долгой переделки, казалось готового ролика, а то и возврата гонорара, может стать вполне реальной.

Когда обращают внимание на динамику и гармоническую амплитуду звука? В основном в процессе обработки каждого инструмента в отдельности или группы взаимосвязанных партией инструментов. Хороший звукооператор должен иметь представление об общей картине тембральной палитры и в компромиссе с музыкантами находить лучшие звучание. А если нет опыта и спросить совета негде, предлагаю разжиться следующим программным обеспечением.

В своей работе я использую анализаторы звукового спектра PAS ANALIS CENTER и PINGUIN AUDIO METER. Замечательная черта этого софта в том, что при работе программы не только дают все характеристики звукового сигнала с входного и выходного портов, но и не конфликтуют при одновременной работе со звуковыми редакторами. То есть сообщения о том, что порт занят, не появляются. Сбор сведений о свойстве проходящего сэмплированного звука происходит внутри системы, а не с портов звуковой карты. При этом легко анализируется диапазон от 0,022 kHz / -60 dB до 22.050KHz / 0.00 dB.

Эти программы представляют собой фильтры, работающие по принципу осцилографа, одетого в интерфейс винды. Оценка оцифрованного звука происходит в реальном времени, не отнимая ресурсов системы у звуковых редакторов.В некоторых программах есть свои анализаторы спектра, но работают они только внутри своего редактора и часто только на выход. Такие модули бывают полезны когда нужно оценить участок обрабатываемого сэмпла, но для всего ролика приходиться сводить все треки в один и только после этого станет видна общая картина. Другое дело вышеупомянутые анализаторы. Даже миди звук можно просмотреть по спектру, не конвертируя в другой формат.

Интерфейс анализатора представляет собой активный дисплей с графической интерпретацией частотных полос. Он может иметь несколько представлений, таких как осциллограф, волновой анализ и анализ спектральный. В волновом режиме возможен скроллинг как постоянно бегущей волны сигнала. При спектральном анализе все гармоники делятся на отдельные колонки и при прохождении заданной частоты активизируются, показывая её характеристики. Достаточно один раз запустить звуковой файл и программа запомнит что, где и когда звучало. Этот расклад можно сохранить как файл со своим собственным расширением. При следующем запуске это музыкального ролика не нужно будет настраивать анализатор заново. Достаточно загрузить сохраненную установку. Тоже относиться и к расположению окон внутри программы.

На примере PAS ANALIS CENTER рассмотрим пункты в настройках анализаторов. Они стандартны и для других подобных программ. Если только вам не попадётся анализатор с китайским интерфейсом.

Окно Spectrum Analyzer

Представляет собой сетку частот с разметкой по частотам по горизонтали и dB или вольтам по вертикали. Последние два переключаются между собой нажатием Space Bar на клавиатуре.

    FFT length выбор формы фильтра и его диапазона обхвата.

    Scale точная настройка фильтра по гармоникам звукового файла.

    Displayнастройка графической оболчки окна анализатора. Функции включения и выключения сетки и поля пиковых показаний.

    Kind метод отображения гармоник в окне анализатора. Полезен при работе с роликами, разными по динамике. Так метод отображения плавной, широкой мелодии может быть неудобен из за того, что плавно настроенные гармоники будут дико скакать при запуске файла с рок– музыкой.

    Peaks при прослушивании звукового файла через анализатор, можно увидеть как преобладающие частоты выделяются белыми буквами, показывающими уровень и гармонику данного пика. Как это будет происходить и когда настраивается в этой вкладке.

    Decay Скорость и задержка графического изображений гармоник. Очень полезно, когда нужно тожно понять амплитуду звука. Тот же эффект достигается одним щелчком левой кнопки мыши в рабочей области. Появляется значение точки щелчка и изображение замирает. При отжатии кнопки всё продолжается в реальном времени.

Окно спектрограммы. Spectrogram Window

Отличие спектрограммы от спектрального анализа в том, что спектрограмма является отпечатком событий в звуковом файле и позволяет сравнивать гармоники на протяжении всего ролика. Спектральный анализ это только считывание гармоник в реальном времени, точное расположение которых запомнить невозможно. Цветные оттенки спектрограммы помогут найти лишние и недостающие частоты, и оценит весь файл целиком.

    FFT lenght выбор варианта представления сигнала и диапазона захвата.

    Scale настройка окна под звуковой файл. Настройки производятся более точно, чем в спектральном анализе.

    Displey настройка графического содержимого окна. Возможность менять цвет на противополжный???, ускорение прохождения спектра.

    Outfit выбор цветового режима. Очень полезно. Лично у меня глаза устали через две минуты.

Окно Oscilloscope / осциллограф

Как пользьзоватся осцилографом лучше узнать из специальной литературы или помучить на этот счёт знакомого электронщика. В описываемой программе этот прибор представлен только основными функциями, настройка которых приведена ниже.

      Scale Efect включение двух нижеследующих эфектов:

Peak представление в гармониках только пиковых значений

Split разделение по каналам цветом

Вам также будет интересно:

Читы и консольные команды для Counter-Strike: Global Offensive Команда в кс го чтобы летать
В этой статье мы рассмотрим некоторые из наиболее полезных и забавных консольных команд в...
Arduino и четырехразрядный семисегментный индикатор Семисегментный индикатор 4 разряда распиновка
В сегодняшней статье поговорим о 7-сегментных индикаторах и о том, как их «подружить» с...
«Рабочие лошадки» Hi-Fi: собираем бюджетную систему Хороший бюджетный hi fi плеер
Выбор плеера - это сложный процесс, иногда человек желает получить не просто коробочку,...
Как правильно пользоваться сургучными печатями
На самом деле, сургуч - это смесь смол, окрашенная в определенный цвет. Если у вас на руках...
Лагает fallout 4 как снизить графику
10 ноября состоялся релиз долгожданной игры на ПК, PlayStation 4 и Xbox One, и постепенно...