Comments 14
Очень круто! Надо самому попробовать как-нибудь.
У меня синтезатор NP-V60, но встроенные звуки поднадоели. Плюс иногда эквалайзер нужен. И я бы начал с Orange PI, например, Zero. Там аудио-кодек встроен, хотя внешний ЦАП, наверное, шуметь поменьше должен.
Из минусов - загружается проц не быстро. Синтезатор сам по себе включается сильно быстрее.
Если питание клавиатуры и синтезатора объединено, то опторазвязку для MIDI можно и не делать, а подпаяться прямо к логике. Тогда выход MIDI свободным останется. У меня вот MIDI нету, только USB.
Ну смотря какой синтезатор. Многие включаются значительно не быстрее. Motif 6 с 10 микроконтроллерами включается примерно так же.
Orange не поддерживается библиотекой Circle, поэтому только малинка. Хотя Orange Pi и дешевле и мощнее.
В видео все рассказано насчет MIDI. Первоначально было так. Но в статье оставлен конечный вариант. При при разработке совмещенного обработчика MIDI команд при отладке непонятно было по какому интерфейсу приходят команды.
Мне главное, чтобы fluidsynth запустился, наверное. Под обычным линуксом. Ну и задержки, конечно. В принципе люди и нетбуки на сцену таскают, но встроенное решение было бы удобнее.
Ну линух - так себе затея. Bare metal намного выгоднее по ресурсам.
Для справки: Korg OpSix и WaveState были сделаны на Raspberry Pi Compute 3.
При помощи PCF8574 можно любой дисплей на HD44780 или КБ1013ВГ6 так подключить.
Есть такой проект на Raspberry Pi - Zynthian. Вложений требует, конечно, побольше, но и возможностей запустить разные движки синтов много - и FluidSynth,и Dexed, Raffo и Monique, и прочие. ЗЫ. И linux VST плагины в том числе.
Да, но это подразумевает использование linux. А там можно использовать любые средства.
Там - это где? У вас Raspberry Pi на минималках, то есть там тоже есть ядро и linux на минималках. PS. Я, как пурист, вообще признаю только железные синты, то есть софтовые эмуляции даже как микроконтроллерные - не тру. Про Зинтиан упомянул именно в этом смысле - синты на RP2040 не могут считаться железными.
Bare metal - все в ядре. Linux - распределённая система, подразумевающая большую гибкость с определенным API, под которое написано куча софта. В первом варианте вам надо самому писать ядро, во втором только настроить софт. В первом варианте всё компактнее и быстрее. Во втором расходы больше и медленнее.
Железные синты это какие? Кроме уж совсем аналоговых, они все построены на микропроцессорах. Так что rpi это тоже самое. Просто элементная база современнее. Код можно не эмулировать, а сделать нативным. Так что это скорее философский вопрос.
Примерно с конца 90х железные цифровые синты это связка микроконтроллера, обслуживающего I/O (MIDI, клавиши-крутилки) и тон-генератора на основе DSP (скорее всего DSP56300 либо кастомные фирменные), либо FPGA типа Cyclone V и подобных.
Каюсь, не совсем сразу разобрался в теме про bare metal. Да, в ядре тут напрямую, но доверия у меня к софту, а это все равно софт, нет. Наверное, это личное.
То есть к софту 90-х есть доверие, а к софту 2020-х нет. Логичное рассуждение. Bare metal - это одна программа, так же как и в старых синтах. Конечно же, там есть сторонний код, например Circle, там есть многозадачность. Circle уже обкатан на многих проектах. Ну а многозадачность и многоядерность отлаживается и диагностируется. Ну а про линух вы знаете.
Превращаем MIDI клавиатуру в синтезатор. Часть 1. Железо