Комментарии
Спасибо за интересный проект!
С задержками конечно у вас что-то странное.
На моем ноутбуке 10 летней давности через USB-midi адаптер ( www.artistpro.ru/catalog/midi_kabel/force_aif_01_midi_usb ) дает задержки порядка 30-50мс, ощущается, но терпимо.

А у вас датчик давления работает дискретно или в миди сообщениях передается величина «вдувания»?

Ну дело было не только и не столько в миди, как выяснилось. И в первую очередь в датчике, потому что он был медленный и цифровой, его в дронах используют для определения высоты. Аналоговая моторола сразу все поправила ))
Миди там было нестандартное (через USB с трансформацией уже в компе), в этом тоже был момент.

Датчик давления передает данные в Arduino (первый — цифровые, второй — аналоговые), а там я уже преобразую это в увеличение громкости играющего инструмента, передавая миди-сообщение изменения громкости канала.
НЛО прилетело и опубликовало эту надпись здесь
Ну он 5 вольт как раз, или надо диапазон, чтобы на половине батарейки работал? Тогда нет, не искал. У меня не сработает, в смежных устройствах проблемы начнутся.
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь

Идеальный вариант — MIDI-выход плюс сэмплер железный любой. Или, если хочется лютой портативности, PCI-карта от Creative.

Я думал об этом. Собственно, к этой карточке я пришел после раздумий про Sound Blaster и резкого нежелания разбираться со всеми нюансами шины PCI. А MIDI-то я еще сделаю, будет еще одна степень свободы.
Возможно, кто-то подхватит и это знамя ) Я пока пошел немного в другую сторону, тем более, что SoundFont — это как раз привет от AWE32 ) Буду прям в распберри грузить звуки в софтовый синтезатор.
Посмотрите вот этот проект для RPi
https://www.samplerbox.org/
Может он Вас натолкнет на какие-нибудь идеи, судя по тому, что Вы пишете, там как раз то, что нужно именно Вам.
Да, я его видел, спасибо! Собственно, примерно туда и иду, просто вместо миди-клавы у меня будет обвеска вокруг GPIO, в том числе аналоговая (с АЦП). Ну и программа пишется, конечно ))
собственно говоря Вам просто нужно будет с Вашего Arduino устройства выдать MIDI на RPi, а дальше по факту оно саму и будет играть теми звуками с карты памяти. То есть там уже все готовое есть. Выдать MIDI достаточно просто. Я так делал MIDI-клавиатуру на Arduino (есть в интернете куча примеров программ как это сделать), в крайнем случае посмотрите мой код из моей статьи (вот здесь)
Математический подход, сводим задачу к уже имеющейся))
Нет, на это я пойтить не могу, не влезет вся эта домомучительница в эту маленькую коробочку (там же еще и powerbank, кроме всего), да я ее и еще уменьшить хочу, и надо осваивать всякое и удешевлять конструкцию)
ну просто зачем изобретать «велосипед», если его уже изобрели? :-)
на счет места там мало… В любом случае на RPi нет АЦП и туда по любому ставить специализированную микросхему. Так что по любому сверху на ее гребенку что-то цеплять. Я бы просто сделал бы свой «шилд», с процессором AtMega и сразу же на этом шилде сделал бы Midi выход (а это буквально несколько деталей) на RPi. Если уж не хотите ничего делать много, опасаетесь, что большое Arduino туда не влезет посмотрите на DigiSpark (я первую попавшуюся ссылку нашел) — это совсем маленькое Arduino, АЦП на нем есть.
всегда поражаюсь читая такие статьи. очень хочется и себе такого фанатизма и упертости.
Тут, скорее, последовательность и желание закрыть гештальт. Есть вход, есть критерии выхода, сроков нет — могу хоть всю жизнь это делать ))
Это офигенно! Было бы круто сделать электронную окарину, для компактности.
Можете уточнить, что за аналоговый датчик от Motorola?
Хах. Занятно. Я буквально пару недель назад закончить пилить первый вариант своей миди дудки.

В качестве проца использую stm32 — он намного шустрее любой ардуины, ни разу не жалею переезде с arduino pro micro на stm32 blue pill — это убрало все вопросы к инпут лагу. Кнопки сделал тач сенсорные на брейкауте mpr121 — при наличии внятной формы кнопки — отсутствие щелчка никак не напрягает (впрочем я не с сакса перешел, а с блокфлейты и зафуна, там другая тактильность)

Сделать встроенный звук приличный фактически невозможно, посему использую на компе семейство синтезаторов SWAM. Моя дудка определяется как usb midi устройство с дровами от maple, никаких задержек не ощущается. Юзаю в связке с компом или ноутом, как standalone девайс использовать нельзя. Впрочем, можно прикрутить din выход мидишный и в железный синт слать для озвучки, в ранних прото-прототипах у меня эта фича была, но выпилил за ненадобностью чтобы место не занимало.

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


P.S. датчик давления фрискейловский, MPX5010GP — но планирую заменить на другой, на 6кПа, потому что выдуть больше 8 физически не могу даже с болью в ушах, реально используется точно не больше 6кПа.

image
Приветствую собрата по нелегкому ремеслу ))
Тоже думал сначала про «поближе к железу», но слишком уж я от него далек)
А распберри помощнее, в ушах звук мне нравится, сделан на основе живого, так что, может, и сработает.

А сенсорные — значит трогать нельзя до момента нажатия?
А код будет? Всегда есть чему поучиться у собрата)

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

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

Я тут записал на бегу за 15 минут видево с моей дудкой, очень извиняюсь за жуткое качество, и плохую игру (я вообще басист) но я хотел передать тот факт что SWAMовские синты чудо как хороши в работе с breath контролем, и миди в такой дудке — мастхев, а времени хорошо снять не было. Но может будет интересно: www.youtube.com/watch?v=OU_Gud2qqRo

Звук может быть лучше, но там дудка была вообще в зачаточном состоянии:
youtu.be/koiMHsBwYrA

P.S.
Еще могу порекомендовать канал этого чувака, он на Teensy делал дудки и стопицот разных миди штуковин, самое главное он код выкладывает)

www.youtube.com/channel/UCSvGhrAVvAKpWMsooCTBWZQ

Да там кода того — бешеный набор копипаста из примеров плюс немножко логики. Готов куда-нибудь положить, хотя и стыдно, но причесывать не буду, поскольку ухожу на raspberry, там такое же будет )) Заведу на неделе какой-нить аккаунт на github, как нынче принято )

И да, послушал, звук очень хорош!
Собственно, моя электродуда начиналась именно с breath контроллера, его я еще пару лет назад собирал, и даже треки с ним записывал.
Это, кстати, на порядок менее напряжно чем делать полноценную дудку.
Еще на ваших фотках крайне заинтересовал имитатор трости, я пытался такое уже сделать, но в итоге просто загрыз датчик насмерть, расположив его просто снизу мундштука и прижимая зубами, купил еще один, но так и не поставил боясь загрызть и его. Можно про него поподробнее, как он считывается в таком положении?
Я его между двух слоев пластика зажал, так что грызу пластик, и могу управлять гибкостью, меняя обложку)) Хотя нет, не грызу, я ж губой прижимаю. Но думаю, и у вас сработает. Хуже, что я на саксе могу бенд вниз сделать, а тут еще не придумал как, только вверх могу поджать.
попробую повторить, спасибо, возможно вы спасли еще один датчик от судьбы быть бездарно перекушеным
Сам, кстати, датчик (круглая вот эта голова) — в теоретическом месте самого большого усилия (под губой/зубом). Пробовал по-другому, но так лучше всего.
И еще один дурацкий вопрос — что вы делаете с сочетаниями клавиш для которых нет формально определенной апликатуры?
Ну неформально-то определенная есть )) На самом деле, пока что я делал электросакс для себя, соответственно, что использую — то и прописываю, в том числе и альтернативы. Если дойдет до промпроекта, припаду к источникам и спрошу потенциальных заказчиков.
Я почему спрашиваю — так и не придумал как обрабатывать несуществующие аппликатуры — слать последнюю корректную ноту? не слать никакой и молчать?

Есть тут один интересный подход альтернативный, который я спер у дудки Sylphyo, а те сперли кажись его у акая:

image

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

Правда, если стоит задача полной взаимозаменяемости с настоящим саксофоном в качестве тренажера — это не звучит как плюс, ибо будут нарабатываться неверные привычки, но если рассматривать инструмент как вещь в себе — это может быть довольно интересным и расширять возможности инструмента.
Я не автор, но я бы строил логику не вокруг кнопок, а вокруг «виртуальных» клапанов, которые открываются\закрываются кнопками.
Это бы решило вопрос «неправильных» аппликатур автоматически.
Пытался я найти как такое реализовать, и нашлась лишь пара статей с чудовищным матаном, от которых до имплементации способа задавать конфигурацию дудки методом физического моделирования — как до луны пешком. То как дырки сказываются на аппликатуре не решены, по сути для общего случая, только для конкретных конфигураций типа «6 дырочная флейта с прямым воздуховодом», и то скорее в обратную сторону — «где насверлить шесть дырок для вот такого строя». Допрашивал знакомых духовиков, даже кандидата наук по гидроакустике — они все покачали головой и сказали что это тупик, ибо физика тут злая очень. Судя по всему, расчет высоты питча исходя из клапанов — нетривиальная и вычислительно очень тяжелая задача, которую не факт что можно решить вообще, за исключением нескольких частных случаев, и тем более в реальном времени на чахлом эмбеддед девайсе.

Но было бы здорово, конечно, найти хотя бы какую то упрощенную модель которую можно использовать. Надеюсь, я неправ, что-то упустил и все не так страшно как я в итоге считаю.
Выглядит как «новая физика» )) Наверное, имеет смысл как поле для экспериментов, но да, как эмуляция реального инструмента, видимо, не очень. А в реальных работает физика, которую, конечно, тоже можно промоделировать (хотя бы частично), но мы сначала уйдем в жесткие вычисления, и в результате них (если правильно посчитаем) вернемся к тем же самым ноткам )) в этом нам изобретатели инструмента помогли уже.
Зависит от задачи, на самом деле, да.

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

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

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

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

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

Вот про амбюшур я очень сомневаюсь. Там очень много тонкостей.
Например у того же Roland AE-10 даже есть своего рода трость. Однако звукоизвлечение своеобразное.
И после продолжительной игры на электродудках амбюшур ощутимо деградирует.
И соглашусь, и не соглашусь.
С одной стороны вы правы, я вижу то, что происходит в саксе как звуковую стоячую волну, на которую мы влияем амбушюром, на это меня наводит, например, что в момент резонанса резко уменьшается расход воздуха. Те же принципы, думаю, в эмуляторе не сделать вообще, если цель стоит убрать звук (резонанс-то звуковой).
Но есть детали, которые мы все же можем эмулировать, думаю.
Это расход воздуха сам по себе (в том числе эмуляция «завода»), это подтяжка тростью, можем даже вибромоторчик на трость поставить, чтобы ощущения приблизить к настоящим )) Такого даже у флагманов нет )))
Но вот изменение угла потока воздуха я действительно не знаю, как дешево снять. А это основа для понижения/повышения звука (бенды). Тут надо заработать на первых продажах и проводить много опытов (но это уже не я, по крайней мере, очень не сейчас)
Тоже думал, как не беспокоить соседей. У меня тенор, он намного сочнее альта. В итоге за 4 года в 1.5 каски (с женой) построил дом (оч. рад этому). Беспокою теперь только детей и жену :)

Интересная вещь. Но только для тех, кто уже хорошо играет.
Именно учиться играть на нем скорее всего нельзя — уверен, что если после опыта игры только на подобном электросаксофоне взять в руки реальный, то не получится выдуть ни звука.
У саксофона очень тяжелое, сложное звукоизвлечение, ставить его можно только на реальном, полноценном инструменте.
А громкость саксофона это да, проблема. Даже маленькая пластиковая Yamaha Venova звучит в квартире примерно как тепловозный гудок.
Есть еще один вариант, но для ночи все равно не подойдет, только днем:


image
Эт точно, учиться и ставить дыхание и звук надо у преподавателя. А вот дальше — самое время погонять пальцы и привыкнуть к звуку из-под каждого. тут оно и пригодится )
У меня еще веселее корова была ) но ночь — не ее время))
image
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.