Тестируем нестандартный алгоритм обработки реальных данных в Excel на Visual Basic for Application
В первом приближении надо загрузить wav или mp3 файл с музыкой в Excel, провести над загруженными данными Digital Signal Processing (DSP) или Цифровую Обработку Сигнала (ЦОС) по определенному алгоритму на Visual Basic for Application (VBA), сохранить результат в wav файл и прослушать его.
Алгоритм добавления четной гармоники в данном случае представляет собой возведение в квадрат исходных отсчетов сигнала, смещенных на некоторую постоянную величину, и последующего удаления постоянной составляющей.
Выгрузить данные в текстовый файл csv для использования с Excel из исходных звуковых файлов формата wav и mp3 возможно с помощью программы Audacity. Это многоплатформенный аудиоредактор звуковых файлов, ориентированный на работу с несколькими дорожками. Программа была выпущена и распространяется на условиях GNU General Public License. Работает под управлением операционных систем: Windows, Linux, macOS, FreeBSD.
Excel и Audacity
Генерируем синусоидальный сигнал в Audacity (можно сгенерировать в Excel, но мы проверяем работоспособность всей предложенной цепочки действий).
Sin in Audacity
Экспортируем и загружаем в Excel и обрабатываем F (x) = (sin (x)+1)*(sin (x)+1) для получения чётной («ламповой»?) гармоники.
Входной sin и после обработки
Проверяем, появилась ли вторая гармоника после обработки.
Вторая гармоника после обработки
Проделаем операции по загрузке, обработке и выгрузке с реальным музыкальным сигналом (гитара).
Исходный музыкальный сигнал (гитара) и его спектр
Загружаем исходный музыкальный сигнал в Excel и обрабатываем для обогащения гармониками
Экспортируем из Excel в csv, импортируем в Audacity, прослушиваем и сравниваем.
Визуально разница в «осцилограммах» хорошо заметна, а вот на слух отличия не так очевидны. Мне, на мой слух, кажется, что обработанный звук немного ярче и удары по струнам немного более отчетливы. Конечно, хотелось бы более яркого и впечатляющего эффекта. Возможно надо использовать более высокие степени или дробные степени вместо возведения в квадрат или экспоненту при обработке или попробовать несимметрично смещенный arctg (x), или попробовать многоканальную систему наподобие Aphex Aural Exciter. Жду предложений в комментариях. >>Подписывайтесь на мой Хабр-профиль.