Comments 28
Попробуйте использовать Hairless MIDI. У меня это работает: https://m.habr.com/ru/post/447652/
Можно в качестве синтезатора попробовать плату на базе VS1053B. А если что-то пойдет не так, то можно будет из нее сделать интернет-радио, подключив к ESP32. VS1053 воспроизводит звуки без задержек, (мне послышалось, что при подключении к компьютеру они есть). Данные на нее можно подавать по последовательному порту (не у всех плат эта ножка выведена) или по SPI.
Задержек при игре с компьютера нет. Они были, когда я изначально пытался использовать Microsoft GS-синтезатор и прочие встроенные в Windows устройства для проигрывания и воспроизведения MIDI. Но я не просто так упомянул в статье Kontakt Player — когда поставил его, задержек не стало (ну или они есть, но я их не ощущаю). Проблема больше в другом — это же детская игрушка на резиновых кнопках (есть фотка в начале статьи), у разных клавиш чуть-чуть разный ход и срабатывают они чуть по разному, поэтому «мягко» играть не получается. Если продавливать нормально (кстати, именно эти звуки от пальцев на видео явно и слышно у меня), то все срабатывает четко без всяких задержек (на слух я их не слышу).
www.synthtopia.com/content/2019/10/21/worlds-smallest-midi-synth-puts-a-powerful-fm-synth-in-your-pocket
mitxela.com/projects/flash_synth
Автор обещал исходники, но не знаю, опубликовал ли. Возможно вас заинтересует.
Годный проект. Однако, не стоило ограничиваться ссылкой на формат передачи MIDI. Не настолько там много и сложно, чтобы не включить необходимый функционал в статью. Без нее статья становится не про MIDI, а про матричные клавиатуры.
Но проект безусловно достойный и познавательный. Хотя выводы, безусловно, были очевидны даже до начала его реализации. Спасибо.
Тоже хочу сделать кое-что мидишное, но не прям сейчас.
Интересно, а можно сделать что-то, чтобы загружать VST и обойтись без компьютера?
SamplerBox я так понимаю воспроизводит только wavы.
Какой-то компьютер все равно конечно нужен будет — имеется ввиду что-то минимальное на тех же ардуинках или малинках.
VST — обыкновенные x86/x64 бинарники. По понятным причинам не взлетит ни на одной из перечисленных платформ. В лучшем случае на малине можно будет завести какой-нибудь самый простой vst плагин.
это еще почему?
На базе нее невозможно будет реализовать силу нажатия клавиш.
По моему, на дешёвых MIDI-клавиатурах анализируется не сила нажатия, а скорость.
Вообще там стоит несколько кнопок нажатия. Когда клавишу нажимают, то измеряют скорость между срабатыванием этих кнопок, по ним измеряют громкость нажатия. По ссылке выше есть схемы разных устройств и разных видов клавиатур. Понятия «скорости нажатия» в музыке нет — есть «сила нажатия», потому что синтезаторы пришли из мира обычных клавишных инструментов, а там — чем сильнее клавишу нажмешь, тем сильнее молоточек по струне ударит, таким образом громче звук будет.
Скорость нажатия — это уже чисто электронная «придумка», как удешевить производство клавиатуры, а не ставить какие-нибудь хитрые и супер дорогие датчики, которые измерят именно силу удара (нажатия).
Вот что с людьми не закрытый гештальт делает)
И ведь автор знал, что "асфальт не принесет плода, а результат труда" но все же продолжил сажать "алюминиевые огурцы на брезентовым поле" ))
Безумству храбрых проем мы славу!
Делаем MIDI-клавиатуру из старого детского синтезатора