Комментарии
Класс! А не пробовали сравнивать сигнал с реальной гитары и синтезированный?
Может можно подобрать коэффициенты фильтров (например, генетическим алгоритмом), чтобы добиться наибольшей «похожести»?

Ваш коммент натолкнул на мысль, что если в ИИ на вход подавать синтезированный сингал а в качестве правильного ответа вживую сыгранный.
Сможет ли она потом сама его преобразовывать?

Скорее всего да. Только по скорости вычисления будет хуже.
Можно пойти еще дальше. Подавать на вход шум и номер ноты, а на выходе получать нужный сигнал. Возможно нейросеть подберет «правильные» фильтры и задержки.
Идея с генетическим алгоритмом мне нравится!
В качестве сравнения сигналов предлагаю сравнивать их на фундаментальном уровне: сравнивать значение гармоник с наибольшими амплитудами, использовав быстрое преобразование Фурье. А шум и погрешность можно исключить, например, находя максимумы, только если амплитуда гармоники выше, чем средняя амплитуда всех гармоник. Вот в этой статье хорошо видны максимумы гармоник.
Думаю гармоники не совсем то что нужно.
Когда-то давно я тоже пробовал сигналы с гитары обрабатывать, но методом Прони.
Сам затухающий синус с гармониками воспроизводится хорошо. Для этого не так много гармоник требуется. Но если мы отбрасываем какие-либо гармоники, то потеряем начальный удар о струну.
На мой взгляд именно его труднее всего воспроизвести.

Все-таки какой-то грязновато-звенящий бой получился. Меня в свое время впечатлила реализация Андре Мишеля (это на флеше было) — там сразу несколько параметров типа приглушения и т.д.


Его демку позже на джаваскрипте переписали, послушайте: http://amid.fish/javascript-karplus-strong

Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.