Изготовление синтезаторов

В сериал что нибудь шлёт при обычной работе? Размер буфера порта стандартный? Его можно увеличить в serial.h У меня на компе по умолчанию уже увеличенный размер стоит. Парсить длинные команды приходится часто.
 
Нет, сериал ничего не шлет при обычной работе, и при этом можно таки зависнуть, если лупить одну и ту же ноту с разных кнопок.

Две недели полет нормальный:

Успехи:
- Написана и протестирована вся базовая логика аккордеона, кроме воздушного сенсора. Если бы был хард, я мог бы за день расширить софт до полноразмерного инструмента вместо тестового 4х4.
- Распечатаны прототипы матричной ячейки под кнопки. Есть пара мелких недочетов, но их легко исправить. Можно смело моделировать и печатать полную клавиатуру.
- Сделаны наброски матриц в правую и левую руки. Левую пришлось переделать 4 раза, но решение, как разместить кнопки с шагом 10 и 15мм в два этажа нашел.

Из неприятного:
- Даже "тихие" переключатели начинают стучать, как пишущая машинка, когда щелкаешь их пальцем до упора. При плавном нажатии переклюк тихий, а при сильном ударе до упора идет удар пластика о пластик. Роланд тоже не бесшумный, но все-таки тише будет. Для цифрового инструмента, наверное, не так уж и важно - микрофонами звук снимать никто не будет, и при игре в наушниках это мешать не должно. Единственная альтернатива клавиатурным переклюкам - отлить свои переключатели из силикона, но это в мои ближайшие планы не входит. При ооочень большом желании, каждый переключатель можно разобрать, и капнуть на дно силиконового герметика - в таком случае и шум пропадет, и удар смягчится... Собрать обратно проще простого, но так делать для 250 переклюков - на любителя занятие.
- Прототипы стоек, соединяющих переключатели с кнопками не вышли - удалось один из них насадить на переклюк после подпиливания переключателя. Придется переделать, но со второй попытки все должно сработать.
- Найден баг с зависанием.

Провалы:
- Совершенно не удалось распечатать кнопочки (которые накручиваются на стойки). Качество отвратительное. Поверхность неровная, изгибы ступенчатые. Если кто разбирается в 3д печати, подскажите, какие есть варианты.
Я раньше работал с методом лазерного спекания (3д Синтеринг) - там получается намного лучше, но поверхность наощупь немного шершавая, и стоит он намного дороже.
Из дерева точить, полировать, рассверливать 250 кнопок - дело долгое.
Где купить в большом количестве бутоны дешево - не нашел.
Есть еще вариант искать старый разбитый кнопочник-донор.

- Собрать прототип миди клавы.
- Вылечить зависание контроллера.
- Разобраться, как привязать миди-аккорд к одной кнопке для готового баса.
- Переписать логику звукообразования для левой и правой клавиатур.
- Написать логику гтв переключателя.
- Реализовать многооктавность и регистры в готовой левой.
- Прописать «системные» кнопки-переключатели.
- Сделать октавный переключатель в правой.

- Расширить софт клавы на аккордеонную раскладку и мощино фрибас (148 х 87).
- Разобраться с «залипанием» нот.
- Смоделировать и распечатать матрицы на левую и правую клавиатуры + стойки для кнопок.
- Собрать клавиатуры и протестировать.
- Подключить воздушный сенсор с черновой настройкой.
- Загнать в корпус и настроить воздушный сенсор.
- Подключить атмосферные сенсоры и сравнить с воздушным.
- Разработать доп функции (переключатель виртуальных инструментов, метроном, и тп.).
 

Вложения

PXL_20230329_201507580.jpg
Последнее редактирование:
Решил выпаять клаву из тинси, чтобы лишний раз паяльником не тыкать дорогой контроллер, и перенести тестовую сборку на копеечную пико. Про Ардуино я мало чего знаю, думал, что просто новый контроллер вотнуть и прошить...

Проблем с Пико дофига. Во-первых сразу пропадает возможность использовать "родную" тинси миди-библиотеку. Во-вторых, пико не совместима со стандартными ардуино миди-библиотеками, так как на пико как-то криво реализован УСБ. Значит полениться, и код Майкла тоже нельзя скопипастить.
На Ардуино пико натянута за уши, и компилятор очень медленный.

Возился с ней около часа, так и не получилось подключиться к компу в качестве миди контроллера. Сдается мне, что самым простым способом подключить пико к миди будет выкинуть ее к чертовой матери и купить еще один тинси (обещал мелким собрать с ними мини-клаву для них).


Удалось обесшумить механику - выдавил чуток силиконового герметика внутрь переключателя. Стало не громче роланда. На днях попробую вместо силикона использовать тонкую 1мм полоску неопрена.
 
  • Мне нравится
Реакции: kep
Апдейт про Pico (скорее всего, последний)
Читая форумы, УСБ миди у кого-то работает с библиотекой Adafruit-TinyUSB.
У меня комп (винда) не распознает pico, как клаву, даже если использовать предоставленный разработчиками пример кода. Некоторые пользователи на форумах пишут то же самое. У кого работает, у кого нет, у кого работает на линуксе, но не на винде и тп. Поддержки оффициальной нет, хорошей документации тоже. Я на всякий случай написал на форум вопрос, решил ли кто сопоставимость с виндой. Но в общих чертах - миди клавы надо делать на тинси.

Нужно решить проблему кнопок в правой. Легкие варианты - либо очень дорого, либо колхоз. Готовые кнопки - 150 евро за какую-то блестящую пластмассу, либо 400-600 за перламутр :love:.

Попробовал отшлифовать 3д-печатную кнопку. Стало чуть лучше, но все равно патологическое влечение к прекрасному не позволяет такое на инструмент ставить.
На алике нашел поставщика перламутра:love: для ювелиров, и у него вроде как есть бланки нужной формы и размера. Заказал горстку для экспериментов.
Проблема в том, как его присобачить к пластиковой стойке.
На аккордиоле у меня в кнопочках рассверлены отверстия и в них запрессованы специальные латунные винты со шляпкой-заклепкой. Я таких нигде не нашел.

Обычные винты эпоксидить, мне кажется, не вариант - при вкручивании и откручивании эпоксидку свернет...
Вариант: рассверлить перламутр и заэпоксидить в него m2 гайку. В стойках сделать отверстия под m2 резьбу и соединить все латунной шпилькой.
Беда - гайки минимум 2мм толщиной, так что пол гайки будет торчать из кнопки. Вторая проблема - угол установки - сдается мне, что гайки встанут в кнопки неровно. Остается то же решение, что и на обычном аккордеоне - подогнуть шпильку, но не знаю, насколько легко это будет сделать в такой системе. Третья проблема - куча деталек, которые надо все аккуратно соединять.

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

Вложения

PXL_20230401_121758364.jpg
Последнее редактирование:
А что за кнопки и винты (шурупы) во вложении? С Аккордиолы?
Обычные винты эпоксидить, мне кажется, не вариант - при вкручивании и откручивании эпоксидку свернет...
Вариант: рассверлить перламутр и заэпоксидить в него m2 гайку. В стойках сделать отверстия под m2 резьбу и соединить все латунной шпилькой.
Не понимаю чем вариант вклеивания гайки лучше варианта вклеивания винта?
Что из себя представляет стойка, к которой нужно присобачить перламутровую кнопку, помимо того что она пластиковая (её геометрические размеры)? Обязательно ли чтобы соединение кнопки со стойкой было разборным?
 
Последнее редактирование:
Обычные баянные (с аккордиолы) - перламутровая головка и шурупы с головкой-заклепкой.
Отверстия в перламутре хитрые: бока не прямые, а под небольшим углом, расширяющимся внутрь кнопки, чтобы заклепка лучше сидела.

У гайки, или например, такой вставки, площадь соприкосновения с эпоксидкой будет больше в разы, и можно чуть ли не враспор ее загнать.

M2_insert.jpg

ПС уже после написания темы пришла в голову мысля рассверлить головку обычного самореза и сделать свой "заклепочный" винт. Рассверлить легко, а вот крепко загнать его в кнопочку пока не получилось. Попробую сделать это с латунным винтом и стальной внутреполой трубочкой.
 
Что из себя представляет стойка, к которой нужно присобачить перламутровую кнопку, помимо того что она пластиковая (её геометрические размеры)? Обязательно ли чтобы соединение кнопки со стойкой было разборным?
Фото переклюка со стойкой постом выше - пластиковая внутриполная трубочка, надевается на переклюк. Параметры можно менять - на печать их пока не отправил. Лучше, чтобы была разборной, иначе придется ставить матрицу с переключателями внутрь грифа, потом поверх ставить накладку, и уже в отверстия накладки как-то надевать стойки на переключатели. По мне, так лучше традиционный вариант с откручивающимися кнопочками.

Не думаю, что пластик к перламутру хорошо приклеется...
 
Удалось-таки запустить копеечную pico в режиме миди клавы. :geek:

Оказывается, существует несколько компиляторов для программирования pico в Arduino. Для наших целей работает только один: earlephilhower RP2040.

Он работает и быстрее остальных, и с ним комп распознает пику, как миди клаву.
 
  • Мне нравится
Реакции: kep
Продолжу микроконтроллерный монолог:
Обнаружил еще одну интересную плату: ESP32-S3-DevKitC-1.
По мощности и количеству пинов она прямо между pico и teensy. На бумаге получается, что на ней можно даже полноразмерный инструмент собрать.
Стоимость официальной платы около 30 евро, что близко к намного более продвинутой teensy, но китайцы наладили выпуск идентичных плат за 10 евро под именем Banana pi Leaf S3. Банана - довольно уважаемый конкурент Raspberry, так что плата должны быть толковой, а не левой подделкой. Вдовесок, китайцы добавили возможность питания от батареи, что вместе со встроенной поддержкой блютуса, может даже позволить пересылать миди на комп вообще без проводов. :unsure:
Про возможность слать миди по усб не знаю - надо будет проверять.

Так же нашел инструкции по изготовлению силиконовой клавиатуры домашнего разлива:

Можно сделать двойные кнопки, как у Роландов, и измерять силу нажатия клавиши. Но силиконовые клавы - это уже высший пилотаж. Для начала надо научиться хотя бы ползать.
 
Последнее редактирование:
Вопрос, который стоило задать раньше - кому-нибудь интересен сам процесс разработки и творческие метания, или лучше просто конечный результат выложить?
 
Вопрос, который стоило задать раньше - кому-нибудь интересен сам процесс разработки и творческие метания, или лучше просто конечный результат выложить?
В изготовлении детей обычно интересен сам процесс... ;)
 
  • Мне нравится
Реакции: tetris
Просто по личному опыту если что-то делаешь для себя, то по мере выгорания интереса и возрастания трудностей возникает соблазн забить. Хорошо если не насовсем. А вот если постоянно отчитываться о работе перед кем угодно, дело движется гораздо быстрее.
 
Вот у меня именно эти мысли и были. Проект не маленький. А пользы (если получится), на мой взгляд полно. Роланды, насколько мне известно, производство прекратили. А тут можно и 3/4 ребенку сделать практиковаться по ночам, и цифрового кврацова замутить, и просто недорогой тихий тренажер в любой раскладке.
 
Желание выпендриться перед окружающими это основной стимул прогресса личности и цивилизации в целом. Именно оно заставляет учиться играть на аккордеоне после 50 лет и делать прочие абсолютно неразумные вещи. А всё ради того, чтоб другие сказали "Да ты крут!". К сожалению у нас нет цветовой дифференциации штанов, поэтому приходится показывать себя другими способами.
 
Если б я выпендриться хотел, я бы бугарь эво купил новый вместо паяльника ;)
Я надеюсь, кому-нибудь польза от описания процесса будет.

Прогресс за 3ю неделю есть, но небольшой.
Клавиатуры ушли в печать. Надеюсь, все получится, как запланировал.
Приехал мех из Китая. Доставили быстро, сделан неплохо. Можно начинать потихоньку собирать корпус. Сенсоры тоже приехали. Быстро, однако!

Много времени было потеряно на попытки обесшумить переключатели, наброски чертежей корпуса, поиски подходящих кнопочек, эксперименты с пико.

Про переключатели: Надо с каждым проводить подготовительные работы. Залудить контакты и обесшумить. Так 250 раз... Возможно, проще отлить свою клаву из силикона.

При ударе по переключателю есть два источника шума:
Первый - удар пластика о пластик, когда кнопка нажимается до предела - становится очень громким при игре стакатто. Треск, как от пишущей машинки. Так играть нельзя. Попробовал разобрать кнопку (легко, так как они разборные) и убрать этот лязг, подкладывая 1мм резинку или фетр. Фетр так мелко не режется, а резинка сработала, но получилось жестче, чем силикон. К тому же, резина с возрастом становится липкой. В итоге вернулся к методу с силиконовым герметиком: с переключателя снимается крышка, и шприцом на дно подается герметик. Ждем сутки, чтобы он засох, потом собираем кнопку.
Второй источник шума - когда удар передается от корпуса переклюка к грифу. Тут и Роланды решения не нашли - их клавиатура стучит довольно громко, когда пластиковые подушки кнопок бьются от накладку грифа.
Есть вариант отрегулировать высоту кнопок так, чтобы фетровые прокладки под кнопкой бились о накладку прежде, чем переключатель ударится о свое дно, но, мне кажется, это очень сложно сделать.

Ну и в довесок к работе на этой неделе я нашел и исправил баг с зависанием виртуальных "голосов".
Теперь ничего не виснет (ошибка была в моей логике).

- Разобраться с «залипанием» нот.
- Смоделировать и распечатать матрицы на левую и правую клавиатуры + стойки для кнопок.


Засек время на выполнение цикла на пробной клаве на 16 кнопок.
Притормозив пико до жалких 50Mhz, на каждый цикл уходит 4мсек.
Разгоняя пико до 200Mhz, на цикл уходит 1мсек.
У teensy проц выдает 600Mhz (разработчики советуют его притормозить до 528, чтобы он дольше работал).
Есть идеи, как сделать код чуть более эффективным.
 
Последнее редактирование: