Русский
Русский
English
Статистика
Реклама

Электросакс

Электросаксофон проект создания EWI шаг за шагом

12.08.2020 18:08:51 | Автор: admin


Вступление, или откуда что берется


Карьера программиста и инженера вообще очень интересная штука, и зачастую приводит к управлению проектами, как и случилось у меня в T-Systems. Руководство проектами это прекрасно: и опыт, и почет, и уважение (не говоря уже про зарплату), но простора для инженерной деятельности там не остается. А руки-то помнят! (с)
Остается использовать полученные знания и навыки в своих сторонних проектах, благо, такая возможность есть.


О чем я сегодня расскажу


Кроме всего прочего, я еще немного (лет 5-6) саксофонист. И все хорошо в этом прекрасном инструменте, но уж очень он громкий. И с первых своих уроков я мечтал о появлении в моей жизни такого же саксофона, но чтобы можно было играть на нем в наушниках и не донимать соседей, чтобы был этакий тренировочный инструмент.

Конечно, существуют электронные духовые инструменты, флагманы AKAI EWI и Roland Aerophone, но, во-первых, они очень компромиссные с точки зрения положения пальцев и вообще эргономики (не говоря уже про амбушюр), а во-вторых, кроме них, ничего на рынке и нет, а эти стоят 60+к. Извините, но мой сакс американец CONN стоит в 2 раза дешевле (весьма подержанный, впрочем, но еще меня переживет). Так что задушили они меня вдвоем жаба и жажда деятельности. Будем делать электросакс.



Итак, постановка задачи:


Сделать тренировочный инструмент для аппликатуры и амбушюра альт-саксофониста;
Сделать его дешево в (потенциальной) серии и не очень дорого на стадии эксперимента;
Сделать его работающим без задержек между действиями пользователя и получаемым звуком (частая проблема в MIDI устройствах и ад для музыканта);
Сделать его маленьким в ношении-хранении и копирующим альт-саксофон для рук в работе;
Очень желательно:
Сделать его также инструментом для выступлений;
Добавить интерфейс MIDI;
Сделать возможность в нем играть под минусы с телефона или SD карты.

Что есть в наличии:
Прямые руки;
ЛЭТИ РТФ за плечами, то есть общее понимание электроники, но без большого опыта;
Музыкальное недо-образование и понимание, как играть на саксе;
Опыт около 20 лет в программировании всякого от Visual Basic до экзотического языка Magik;
Чуть позже появился 3д-принтер (купил не под эту задачу, но очень пригодился),
Ну и новоприобретенные (или хорошо забытые старые) навыки построения проектов в жизни и IT, дальше будет почти Agile.

Приступаем


Чуть больше 2 лет назад я взял с собой в отпуск стартовый набор Arduino UNO, пару шприцов (не подумайте плохого), датчик давления BMP180 и желание попробовать это все на досуге.

Получилась такая смешная конструкция с 3 кнопками, но, на удивление, она заработала!
Когда я туда дул, появлялся звук, соответствующий комбинации кнопок. Звук, конечно, был системно-динамиковый, прямо в уши неискушенному пользователю.



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

Веха 1. 2 месяца от старта


Корпус кабель-канал и пластиковые трубы, разводка кнопок на фольгированном стеклотекстолите резаком, очень похоже на игрушку, сделанную в гаражном кооперативе 90х. Датчик BMP180, MIDI, кнопки тактовые ардуинские. Первый мундштук из той же пластиковой трубы. Язык Си, среда разработки Arduino.

Очень большие задержки образовались (четверть-половина секунды), долго думал, что из-за MIDI (использовал MIDI-OX и Hairless MIDI). Решил делать встроенный звук.



Веха 2. 3 месяца


Набрел на китайском рынке на карточку, умеющую аппаратное MIDI, на чипе vs1053. Переписал программу, вывел звук туда, все получилось, задержки уменьшились, но не исчезли.

Решил пока подумать о вечном и позаниматься промдизайном.



Веха 3. 4 месяца


Еще летом купил себе на день рождения 3д-принтер, самый простой, Anet A6. Решил подизайнить с ним. Кстати, этот дизайн мне нравится до сих пор, может быть, такой внешний вид будет у одного из готовых инструментов, но пока не уверен, слишком много возни.




Веха 4: полгода


Первый записанный звук (ужаснитесь), первая полностью работоспособная модель. https://www.youtube.com/watch?v=hhtxDk5x1P8

Кнопки от механической клавиатуры Cherry MX Blue (знакомый саксофонист оценил, говорит, похоже на настоящие щелчки клавиш. Мне тоже так показалось.)

Вот примерно так выглядел:



Веха 5, 9 месяцев


Сделал упор на технологичность и блочную компоновку: печатный монтаж (лазерный утюг, кто в теме, перекись водорода и лимонная кислота с солью), шлейфы и максимальное использование готовых модулей. На UNO не хватало пинов для всех кнопок, решил действовать пока экстенсивно использовал Arduino Mega.

Получилась первая модель, которую можно вынести на улицу, поиграть у друзей, вернуть обратно, и все это без единого разрыва (с).





Тем временем поменял цифровой датчик давления BMP180 на аналоговый от Motorola, переписав часть программы. Задержки исчезли. Совсем. Заодно добавил мундштуку возможность подтянуть звук тростью, как у настоящих саксов. Тензорезистор справа снизу.



Веха 6, год


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

(3.5 мм джек, с телефона можно минус замешать в звук исполнителя)



Веха 7, полтора года (надоел он мне до чертиков, 3 месяца особо не подходил)


Теперь он может складываться в 3 раза и помещается даже в женскую сумочку (не самую мелкую, впрочем, проверял на жене). Внутренности поменялись на еще более модульные, Arduino был Mega, стал Nano. Много 3d-печати, но еще не весь, для корпуса по-прежнему используется кабель-канал, очень уж удобно.



И, наконец, пока что последняя, 2 года


Это не точка, это внушительная запятая!



Подвожу промежуточные итоги:



Можно ли сделать тренировочный инструмент для аппликатуры и амбушюра: да.
Можно ли его сделать дешево (3-5к за детали): да.
Можно ли его сделать работающим без задержек: да.
Можно ли его сделать маленьким в ношении-хранении и копирующим альт-саксофон для рук в работе: да.
Можно ли сделать инструмент для выступлений: с выбранным подходом нет. Причина качество звука.
Можно ли сделать инструмент с MIDI интерфейсом, чтобы это исправить: может быть.
Можно ли сделать инструмент для выступлений с другим подходом: может быть.

Нерешенные задачи:
Используется DIY карточка MIDI на чипе vs1053, имеющая 3 ограничения:
Звуки не очень хорошие;
Большой уровень шума;
Недостаточный уровень звука.
Карточек лучше на рынке нет.
MIDI: когда делал были проблемы с задержками, сейчас немного остыл, хочу сделать инструмент со своими звуками. Может, еще вернусь.

Основная идея построить это на реальных звуках (WAV). Боюсь, что это придумывание очень давно придуманного велосипеда под названием SoundFont, а еще мощи Arduino может не хватить. Но, может, еще и возьмусь.

Есть другая идея уменьшить количество электроники и увеличить количество программирования: например, использование Raspberry PI вместо Arduino. SoundFont там применим программно. Возможные проблемы:
Я вообще никак в Linux. Будем разбираться, тем более, в C/C++ все же как.
У Raspberry, говорят, не очень со звуком, но есть HDMI и звуковые карты-шилды. Будем разбираться.
Повышенное энергопотребление: разберемся точно!
Больший размер Raspberry, чем Arduino. Думаю, решаемо, тем более, есть и компактные варианты Raspberry (Zero, например)

И веха 1 новой конструкции


Raspberry завелся (пока что модель B), первые звуки получены, язык снова C (хотя, наверное, можно и питона какого использовать, но пока не научился), использую свободно распространяемый синтезатор Fluidsynth как библиотеку, начинаю работать с GPIO. Про задержки пока непонятно, могут быть на стыке аналогового датчика и полностью цифровых GPIO.

Спасибо за внимание! Если есть интерес к проекту, то еще встретимся, и я расскажу о дальнейшем его развитии.

С вами был Сергей Балашов,
PM в компании T-Systems в рабочее время, а в свободное инженер-саксофонист!

Следить за этим и другими моими проектами (вне рамок компании) можно тут:
https://vk.com/happy_sax

PS: А если кто в Питере поджемить хочет, но стесняется после карантина тоже приходите:
https://vk.com/eclectic_jam

Про джемы в другой раз расскажу, может, и не здесь, тут все же про IT, не про музыку.
Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru