Форум » Другое » VitaSound - синтезаторная платформа. » Ответить

VitaSound - синтезаторная платформа.

sea: Давненько тут начиналась тема построения рекового органа - клона Юности. Обсуждения дальше перешли в тему http://enmusic.borda.ru/?1-3-0-00000045-000-0-0-1434573847 Там мы много лет обсуждали, пробовали кто что мог. В итоге я пришел к выводу, что надо делать на основе ПЛИС. Последние полтора года я занимался разработкой синта, но получилось так, что образовалась некая платформа, на которой можно будет делать инструменты разного типа, когда будет достаточное количество аппаратных модулей и логических модулей, из которых получается схема внутри ПЛИС. Суть в том, что раньше делалось на делителях, счетчиках, регистрах, формирователи частот верхней октавы и прочее - цифровая схемотехника. Теперь ее монжо разместить внутри одного корпуса ПЛИС. И сделать хоть 128 генераторов, хоть больше. И все они работают каждый сам по-себе. В общем, вчера, отлаживая один из очередных блоков, которые я должен сделать по плану, я вспомнил об изначальной идее - создании органа. И получилось так, что в железе было собрано как раз 4 отдельных канала генерации звука. Я решил на скорую руку собрать типичный цифровой орган на делителях частоты. Частоты верхней октавы - это 12 отдельных делителя частоты на целое число. Исходная частота 50 МГц. Дальше, полученными частотами тактую счетчики, которые делят частоту на 2, 4, 8 ... Таким образом, получилась сетка частот на все октавы. Реально - это 128 линий. Дальше, у меня уже был готов блок приема миди сообщений. Логически там тоже все просто: три регистра по байту на прием миди команды. И декодирование сигнала NOTE_ON, NOTE_OFF, NOTE. Известно, что нота там 7 битная. Поэтому их может быть 128. Напомню, что ПЛИС - это не микроконтроллер, а железяка. Поэтому все алгоритмы делаются аппаратно. Для хранения нажатых клавиш применил тупо регистр на 128 бит. Когда приходет сигнал NOTE_ON, я ставлю бит, с номером ноты. И так же снимаю. Дальше по логическому И накладываю это на сетку из 128 частот. После этого 128 полученных линий складываю и вывожу наружу. В первый вечер в черне получился полифонический орган на меандрах. Играет слегка грязновато, с наводками. Были взяты МИДИ файлы без какой-либо обработки с моей стороны. https://soundcloud.com/vitasynth/organ-1square-bwv-5253 https://soundcloud.com/vitasynth/organ-1square-classic https://soundcloud.com/vitasynth/vitasynth-organ-1square-bach https://soundcloud.com/vitasynth/vitasynth-organ-1square-bach-2 Сегодня схему немного подправил. Добавил 4 регистра: 16, 8, 4, 2. Принцип такой же, как описано выше, но все линии сдвинуты на одну октаву. Каждый регистр получился выведен отдельно. Шумы тоже пофиксил. https://soundcloud.com/vitasynth/organ-4-tokkata Есть видео, где я кручу количество каждого регистра на выходе, через MIDI контролы в FL. https://www.youtube.com/watch?v=YpNmjoyXQRA В следующий подход, можно сделать LFO и модулировать амплитуду и частоту. Добавить шум открытия тубок. Добавить дробные регисты. Все это валяется пока что в коробочке В контакте создана группа, все новости там: https://vk.com/fpga_synth

Ответов - 0



полная версия страницы