Описанные события происходили в период с сентября по декабрь 2021 года. Статья впервые опубликована на Хабре год спустя — в декабре 2022. Здесь её дополненная и исправленная версия.
Во второй половине 2021 года освободилось много времени, которое я щедро инвестировал в очередную придурь. Потому что нельзя просто взять и переживать пандемию на серьёзных щщах.
Я давно хотел собрать какой-то простенький синтезатор. В конце нулевых даже делал и продавал киты для сборки Atari Punk Console — шумелки, которую было интересно паять, а потом крутить ручки ровно 30 минут.
Где-то в августе мне на глаза попалась серия роликов от канала Notes and Volts где автор из ничего делает простейший цифровой синтезатор на Teensy подробно объясняя каждый свой шаг и решение. Больше всего тогда впечатлило, что он начал с проектирования архитектуры в Pure Data, а потом уже реализовывал задуманное в железе.
Сначала, я решил, что это отличный Hello World, с которого можно начать и добавить в него каких-то интересных твистов.
Но современный мир с его рекомендательными алгоритмами на бигдате и блокчейне устроен таким образом, что нельзя так просто взять и посмотреть одно видео на Ютюбе.
Поэтому я посмотрел, кажется, все видео, которые хоть чуть-чуть касались самодельных standalone синтезаторов — тех, которым для синтеза не нужны дополнительные компоненты.
В процессе выяснилось, что open-source территория вокруг таких синтезаторов, несмотря на её внушительный объём, имеет четкие границы. В отличие от мира модульных синтезаторов — где ни границ, ни законов, ни правил, — в standalone есть какие-то яркие маяки и направления, которые сразу захотелось изучить подробнее.
В этот момент я решил забить на очередную вариацию «синтезатора на Teensy» и, вместо этого, сначала составить общий список open-source синтезаторов, а потом собрать лучшие из них, чтобы познакомиться поближе.
Итак, у меня было примерно 16 свободных недель до конца года, катушка припоя, и желание сделать какую-нибудь глупость, страдая в процессе.
А вот чего у меня точно не было: знаний о музыкальной теории, академического образования и, тем более, опыта. А также умения отличать хороший звук от плохого и желания заходить на территорию модульных синтезаторов, потому что я слышал, будто оттуда не возвращаются.
По всему получалось что этот четырёхмесячный челлендж скорее про open-source устройства и разные интерфейсы до звука, а не про сам звук и, тем более, не про музыку. Разумеется: затевать самостоятельную сборку кучи электроники в период глобальной нехватки полупроводников было выдающимся слабоумием, но, вместе с отвагой, они, как Чип и Дэйл, опять всех победили.
Забегая вперёд скажу, что за эти 16 недель я:
- Потратил больше 100 тыс рублей на компоненты
- Выполнил больше 7 тыс точек пайки
- Израсходовал катушку припоя, которую не мог израсходовать больше 20 лет
- Испортил одни кусачки
- Собрал и запустил 16 синтезаторов, арпеджиатор, страммер и ещё процессор эффектов
- Узнал много нового.
Как я выбирал устройства для списка
Конечно же по демкам на Ютюбе! Чем глубже я закапывался, тем больше понимал: standalone open-source проектов, выпущенных в этом тысячелетии, не так уж много, а авторов действительно интересных дизайнов вообще можно пересчитать по пальцам одной руки.
Периодически натыкаясь в интернете, на что-то, что могло бы оказаться открытым проектом синтезатора, я сохранял ссылку, чтобы позже в свободное время проанализировать этот проект. Часто во время такого анализа я находил смежные проекты, которые сразу пополняли список моих потенциальных жертв.
Минимальными требованиями к проектам были:
- Схемотехника, которую автор опубликовал самостоятельно.
- В случае если синтезатор построен на микроконтроллере, должны быть опубликованы исходники прошивки.
- Демонстрация работы. Идеально — видео на Youtube.
1 BOM — Bill Of Materials
Все проекты, которые не удовлетворяли этим трём критериям, игнорировались. Всё остальное, необходимое для производства, типа списка компонентов1, разводки платы, герберов и пр. можно восстановить из схемотехники. Правда, проект, где такую работу пришлось проделать в полном объёме, был только один — Totoro.
Что попало в список
Все standalone дизайны, которые попадались мне на глаза, можно очень условно разделить на несколько крупных категорий:
Папка с закладками получилась объёмнее, чем я ожидал.
2 Digital Signal Processing
- Поделки на Ардуино — проекты, чьё описание начинается со слова Low-Fi, а в дизайне обязательно присутствует Arduino. Обычно это самые скучные устройства, за которыми сложно провести больше 30 минут.
- Синтезатор на Teensy — для Teensy написана хорошая библиотека для работы со звуком и существует референсный дизайн звуковой карты с DAC/ADC. Поэтому появилась целая плеяда сравнительно интересных open-source дизайнов на основе этой платы.
- Chip-синтезаторы — построены на цифровых микросхемах «синтезатор под ключ», которые были популярны в 80-90х и устанавливались, например, в Commodore 64 — SID, или Sega Mega Drive — YM2612. Гарантия аутентичного звука тех времён.
- Синтезатор на Линуксе — «мы с одногруппником купили звуковую карту для нашей Raspberry Pi и запустили Supercollider. Разумеется, мы могли сделать то же самое на нашем комплюктере, но он не такой портативный.» Неоднозначная категория, потому что, с одной стороны в ней много хлама, а с другой встречаются целые экосистемы типа Norns.
- Полностью аналоговые — обширная категория дизайнов, которая была наполнена ещё в 70-80х годах и публиковалась в журналах для радиолюбителей. Устройства построены на операционных усилителях, счётчиках и сдвиг-регистрах. Идеальны для тех, кому интересно как напряжение превращается в сложный звук проходя через пайплайн субтрактивного синтеза. Запаситесь осциллографом.
- Авторские DSP2 — цифровой синтез на микроконтроллерах, в котором особое внимание уделено преобразованию сигналов и алгоритмам их обработки. В этой категории встречаются самые зрелые и интересные дизайны, потому что авторы понимают, что делают, а не просто нашли очередную библиотеку реверберации на Гитхабе и прилинковали её к своему проекту.
Это я. Сначала собрал синтезатор без кнопок и теперь на нём играю.
3 Кто злой брат близнец «научной классификации»? Кухонная классификация?
Конечно, на научную классификацию такое не тянет3, но именно на эти категории я довольно легко могу разделить список из более чем 50 open-source дизайнов, которые сохранил в закладках пока исследовал тему. В мой итоговый шорт-лист для сборки попали устройства из каждой категории.
Сортируемый список всех open-source синтезаторов, которые я нашел, доступен на отдельной странице. Пишите, если у вас есть, чем его дополнить.
Субъективный фактор играл важную роль в выборе. Хотелось чтобы в списке были устройства с разными дизайн-паттернами, на разной архитектуре, как цифра так и аналог. Собирать полтора десятка вариаций на тему очередной Atari Punk Console, или «синтезатора на Ардуино» мне не хотелось, хотя количество таких проектов в дикой природе не поддаётся перечислению.
По этой же причине в списке есть пара устройств, которые даже с большой натяжкой нельзя назвать синтезаторами, ведь звуки они не производят. Пройти мимо страммера Le Strum и арпеджиатора Arpie я просто не смог. Первый из них так и вовсе быстро оказался в моём топе музыкальных игрушек по соотношению цена/веселье.
После непродолжительной возни я определился с финальным списком. Здесь проекты представлены в том порядке, в котором я их собирал. Все ссылки ведут на заметки на моём сайте:
- Monome Norns
- Meeblip Micro (позже бонусом был собран SE)
- Meeblip Triode
- Mega MIDI (2 шт на разных чип-синтезаторах)
- Google NSynth Super
- Mutable Instruments Shruthi (2 шт с разными фильтрами)
- Le Strum
- Totoro
- Arpie
- Mutable Instruments Ambika
- Mixtape Alpha
- PreenFM2
- Teensy Audio FX
- MFOS Echo Rockit
Стоп, но их же 14! Да, но MegaMIDI и Shruti собраны в двух экземплярах. Первый на разных чипах, второй с разными фильтрами. Отдельно был собран Micro SE и ещё несколько MIDI контроллеров. На самом деле, если посчитать все девайсы за эти 16 недель, выйдет больше 20 устройств.
В разных околомузыкальных сообществах периодически пытаются собирать списки доступных open-source проектов, но они не то чтобы поддерживаются в актуальном состоянии. Такой есть например в r/synthdiy или sdiy.info. Я тоже опубликовал свой список, который вряд ли буду обновлять. Поддерживаю традиции.
Проблемы с которыми столкнулся при сборке
Подробно обо всех страданиях связанных с поиском компонентов, сборкой и запуском, можно почитать в канале, который я специально завёл, чтобы эти самые страдания украшали интернет вечно. Дальше, вперемешку с некоторыми выводами, перечислю системные проблемы, которые преследовали меня постоянно.
80% всех трудозатрат — это изучение проекта и поиск и заказ компонентов
Минимум половина часа уйдёт на изучение описания проекта, проверку его файлов и оценку демки. И это только в том случае если автор озаботился оформлением проекта. Иногда файлы приходится искать по закоулкам каких-то локальных форумов — на такое может уйти хоть целый день. Только после этого можно будет судить возможно ли вообще собрать устройство самостоятельно.
Но это даже не половина задачки. Впереди у вас оценка компонентов, их поиск и заказ. С пайкой и запуском у меня проблем не возникало. Ну почти. Если вы планируете самостоятельно изготовить корпус, то качественно оценить эти работы заранее будет почти невозможно. Из всех синтезаторов я сделал корпус только для Echo Rockit. И то лишь потому что без него, в этом конкретном случае, не обойтись.
Всю документацию есть смысл изучить до сборки
Как я понял после 4 месяцев сборки чужих синтов, чтение инструкций — вообще критически важный навык в этом хобби. Те, кто не могут разобраться в инструкции по сборке табуретки из Икеи, в синтезаторах погибают первыми. Важнее чтения инструкции, только написание инструкции. Поэтому если хотите оценить насколько серьёзно разработчик относится к своему устройству — просто посмотрите на мануал.
На Али это называется «Полностью совместимый контроллер». Доверься китайским бизнесменам. Они точно не подведут.
Большинство open source синтезаторов не имеют инструкций вовсе. При этом, например, 64pix не жалеют времени чтобы написать понятные и короткие инструкции для своих девайсов. Очень подробная, иллюстрированная инструкция написана для Mega MIDI. А для Shruthi и Ambika были написаны исключительно хорошие мануалы, какие не всегда можно найти даже в коммерческих музыкальных девайсах.
Подбор и заказ компонентов может оказаться по-настоящему изнурительным
Заказ компонентов в условиях глобального дефицита уже сам по себе вызов. Особенно если учесть, что для некоторых устройств BOM может состоять из почти сотни наименований. Зачастую приходится сверяться с даташитами на некоторые компоненты, а другие и вовсе невозможно купить просто из-за того что они популярны в США, откуда дизайн родом, а в Китае о них ничего не слышали.
4 Без шуток.
5 Конкретно эта ситуация произошла с Meeblip Triode. Подобных было несколько.
Типичная ситуация: вы нашли почти все компоненты для проекта в ЧипеДипе, но нужные переключатели там привезут под заказ только через 4 месяца и стоить они будут в 40 раз дороже чем на Digikey4, который не доставляет в Россию, а если бы доставлял то доставка стоила бы в несколько раз дороже самого товара. Что делать? Видимо, переразвести плату под переключатели из соседнего ларька5.
Придётся перепроверять каждую строчку в BOM, читать даташиты, планировать, объединять посылки, искать что-то на Авито и Али, в общем: крутиться как те роботы в логистических центрах Амазона.
Некоторые компоненты давно не выпускаются
В некоторых дизайнах используются компоненты, которые невозможно купить ни за какие деньги потому, что они давно не выпускаются. Часто это касается усилков, но попадаются и другие. Например, усилитель SSM2164 от Analog Devices используется в фильтре Shruthi и не производится уже больше 30 лет, а чип-синтезатор из Sega Mega Drive YM2612, всего лишь 20 лет как снят с производства.
6 А ещё наверняка для обслуживания той техники, которая работает на оригинальном усилителе и до сих пор жива и используется.
7 Refurbished.
Решение в каждом конкретном случае может быть уникальным. Например SSM2164 сейчас производит Рижский завод Alfa под маркировкой AS2164 специально для задротов, которые решили что-то там на нём спаять6 — партии мелкие, но сама микросхема не дорогая. Правда заказывать придётся из Латвии. YM2612 можно поискать на Али в виде «восстановленных»7 компонентов, которые были сняты со старых плат. Можно смело брать сразу десяток — так хотя бы есть вероятность, что парочка из них окажется рабочими.
Особняком стоит проблема поддельных микросхем из Китая. Но она настолько обширная, что поверх неё впору нагородить отдельную заметку. Вот рассказ о моём опыте покупки поддельного кодека для Monome Norns.
Специфических компонентов всегда нет в наличии
Помимо компонентов, которые не выпускаются, в BOM постоянно встречаются компоненты, которые невозможно купить в соседнем ларьке и при этом невозможно заменить аналогами, а часто это нецелесообразно. Такие штуки как вактролы, полистирольные конденсаторы, или высокоточные резисторы номиналом 49k1 время от времени всплывают в списке компонентов.
Вы когда-нибудь пробовали покупать на Али ручки с курсором для D-образных потенциометров? Это как с подключением USB — успех только с третьей попытки.
Скорее всего, такие штуки придётся просто ждать. Они производятся, просто не очень популярны, поэтому их часто нет на складах. Их так же можно купить у кого-то в профильных чатах и сообществах.
Фьюзы в Атмегах невозможно выставить правильно с первого раза
Я несколько раз наступил на эти грабли и они свидетельствуют в первую очередь о проблемах с документацией проекта.
Во время прошивки микроконтроллеров Atmega часто нужно передать несколько переменных, которые настроят МК, расскажут ему какую тактировку использовать, где находится генератор частоты и пр. Такие переменные называются fuse bits и для них есть даже специальные калькуляторы.
Синтезатор Тоторо пришлось «спиратить» и развести по одной лишь опубликованной схемотехнике. Позже автор разрешил мне выложить этот проект на Гитхаб.
8 Который Arduino IDE итак использует под капотом.
Если информации о фьюзах нет в документации, часто её можно найти прямо в исходниках прошивки. Но время от времени происходит какое-то горе от ума и автор пишет подробную инструкцию со скриншотами о том как прошить его проект через богом проклятый Arduino IDE вместо того чтобы опубликовать команду AVRdude8 и всё ломается.
В общем, если вам кажется, что верно собранное устройство на Атмеге после прошивки ведёт себя как-то, ммм, «не так»: медленно или через раз реагирует на нажатия кнопок, мигает светодиодами которые на самом деле должны гореть и пр, проверить фьюзы — хороший первый шаг.
Выводы
Последний синтезатор из списка я закончил собирать в середине декабря 2021. К сожалению, начало специальной военной войны не позволило мне изучить каждый из них достаточно глубоко, чтобы озвучивать сейчас своё «экспертное» мнение, но у меня накопилось достаточно опыта чтобы оставить отзыв в формате 140 символов по каждому. Полистайте:
В отдельных номинациях я бы выделил лучший синт для новичка — Meeblip Triode. У него сравнительно несложная, доступная для быстрого понимания East Coast архитектура. Он сделан на простых и крупных компонентах, интересно звучит и за ним можно провести довольно много времени извлекая вполне себе взрослый звук.
В категории количество контента, когда к синтезатору хочется постоянно возвращаться и он не надоедает даже после сотни часов кручения ручек, у меня победила полифония и её лучшие представители Ambika и PreenFM 2. В кажом есть секвенсор, поэтому это настоящие standalone-синтезаторы с которыми можно ковыряться даже если у вас нет внешней клавиатуры, или компьютера.
Самым необычным из собранных синтов я бы назвал Shruthi, хотя допускаю, что многих такой выбор удивит. На мой взгляд из всех девайсов Shruthi наиболее близок к коммерческим синтезаторам последних двух десятилетий. В нём достаточно крутых фич, интересные пресеты, матрица модуляции с которой можно ковыряться часами, а его аналоговые фильтры это максимально продуктовая история про «дополнения». И всё это добро с ног до головы лежит в открытом доступе в ожидании когда вы его соберёте.
Необработанный звук Shruthi с фильтром Поливокса. Внешний секвенсор — Orca.
Есть ещё пара выводов которые скорее похожи на советы для тех, кто решит запрыгнуть в это хобби:
Если у синтезатора есть версия без контролов, которая предполагает что вы будете управлять виртуальными ручками через MIDI, и с физическими ручками — всегда собирайте вторую. Meeblip Micro SE лучше обычного Micro, как и Shruthi XT лучше обычного Shruthi. Я вначале недооценил потенциал физических ручек и мгновенно пожалел об этом.
Хотя, очевидно, все мы тут как раз именно ради ручек, кнопок и лампочек
Часто себестоимость одного устройства при заказе партии из 5 шт. может быть в 3-4 раза ниже, чем если бы вы собирали его в одном экземпляре. Поэтому собирать девайсы с друзьями разделив обязанности и помогая друг другу — это отличная идея. Я так поступил с Амбикой и не пожалел.
В общем это лучшее хобби для длинных зимних вечеров в которое может вкатиться каждый. Всем open source!
⚠️ Каменты в режиме эксперимента. Нужна регистрация на GitHub и необходимо дать разрешение боту Giscus. Если это неприемлемо, можно комментировать прямо на GitHub.
Это ↑ заметка о синтезаторах и DIY штуках. Вот ещё:
Monome Norns — Музыкальный компьютер с открытой платформой
Meeblip Micro и SE — Синтезатор с 0 кнопок и его брат
Meeblip Triode — Компактный синтезатор-ворчун
Mega MIDI — Синтезатор из SEGA Mega Drive
Почему на Aliexpress до сих пор продаются поддельные микросхемы
Я собрал синтезатор Ambika и остался жив
Проект Atari Punk Console