Монофоническая FFT-визуализация стерео аналогового аудиоисточника - PullRequest
0 голосов
/ 17 января 2019

Я создал действительно базовый FFT-визуализатор с использованием микроконтроллера Teensy, панели дисплея и пары разъемов для наушников. Я использовал библиотеку БПФ Косме для Arduino: https://github.com/kosme/arduinoFFT

Аналоговый звук поступает на вход наушников и на место, где микроконтроллер сэмплирует его. Этот переход также подключен к разъему аудиовыхода, поэтому звук может передаваться на некоторые динамики.

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

Есть ли схема, которую я должен построить, чтобы смешать левый и правый аудиоканалы? Я полагаю, я мог бы сделать что-то вроде этого: example schematic

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

Или, может быть, лучше подходить к программному обеспечению? Должен ли я вместо этого просто сэмплировать оба канала по отдельности, а затем выполнить математику для их объединения?

1 Ответ

0 голосов
/ 29 января 2019

Объединить стереоканалы одного конца вилки без объединения двух других очень сложно. Работать в софте намного проще.

Если вы возьмете два набора семплов, вы удвоите количество математических операций, необходимых микроконтроллеру.

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

Имейте в виду, что человеческие уши имеют неравномерную реакцию на громкость звука, поэтому при считывании «среднего» уровня громкости на обоих выводах, суммированных и уменьшенных вдвое, будет получено значение «ниже среднего». Лучше разделить на 1,5 или 1,75, если вы можете сэкономить циклы для более сложного деления.

...