Вопросик
А если бы вам хороший 3D принтер подарили друзья, то что бы вы на нем сделали?
А если бы вам хороший 3D принтер подарили друзья, то что бы вы на нем сделали?
Ардуино выпускают portenta Х8 новый модуль из семейства Portenta. Устройства в ней позиционируются как решение для промышленного применения. И не является прямым конкурентом raspberry, как можно сперва подумать.
На борту есть
Система на кристалле SoC. Это NXP® i.MX 8M Mini содержащий четырех ядерный Cortex®-A53 работающий на частотах до 1.8GHz на ядро и одно ядро Cortex®-M4 с частотой 400MHz,
Плюс двухъядерный микроконтроллер STM32H747XI состоящий из 2 ядер это Cortex®-M7 И 32 битный ARM Cortex M4.
Установлено 2 Гб памяти LPDDR4 и 16-Гбайтный модуль eMMC.
Конечно же есть Wi-Fi и Bluetooth LE.
Portenta X8 прошла сертификацию PSA и имеет аппаратный чип безопасности NXP SE050C2, обеспечивающий генерацию ключей и ускорение криптографических операций. X8 также прошел сертификацию Arm SystemReady и интегрировал сервисы Parsec. X8 способствует созданию облачных приложений для разработчиков в экосистеме IoT от Arm.
Интересно насколько удобно будет программировать весь этот зоопарк
Размеры 66.04 x 25.40 mm
Питается все от адаптера 5v 1а
На плате не замечено обычной GPIO гребенки, но есть 2 - 80 контактных разъема. Очевидно плата будет вставляться в шилд.
Судя по шилду мы будем иметь все привычные аналоговые и цифровые пины и интерфейсы I2C UART и прочие, плюс ethernet, UDB2.0, интерфейс подключение CD Card и вывод на дисплей DisplayPort.
Есть Portenta Vision Shield для подключения камеры и микрофона и Portenta CAT.M1/NB IoT GNSS Shield для работы с сотовыми сетями и системами GPS и глонас.
Установлена система Linux на базе дистрибутива Yocto для работы с ядрами Cortex-A53 И FreeRTOS работающая с Cortex-M4.
Все это позволяет исполнять код для FPU, MPU и DSP, скомпилированный в стандартной среде Arduino. И запускать приложения разработанные на языках программирования: Python, JavaScript, Java, Go и Rust.
В продаже на официальном сайте устройства нет, предполагаемая цена 200-250$
Выдержка из релиза
Portenta X8 использует облачную платформу DevOps от Foundries.io и использует настраиваемую Linux microPlatform с открытым исходным кодом.
Вот только в свете последних событий стоит ли доверять управление оборудованием системе работающей с облачными платформами это конечно вопрос. Хотя сама плата явно сможет работать офлайн, но кто знает.
Где пригодится данная плата? Как позиционируют ее сами разработчики это
Автономные управляемые транспортные средства (AGV)
Интерактивные безопасные киоски и цифровые вывески
Системы управления офисом и домом
Навигация и управление для умного сельского хозяйства
Поведенческая аналитика для офисов и заводов
Результат моей работы по созданию цифровой гитары, описанной в предыдущих постах.
Привет, Пикабу! Меня зовут Макс и я CTO/co-founder NoLi Music. Изначально у нас была идея воспроизвести кнопки как на Yamaha, но мы сразу упёрлись в несколько ограничений:
Во-первых, Yamaha обладала мембранной клавиатурой, как на пультах от телевизора или некоторых компьютерных, ощущения от игры получаются как от игры на пульте от телека - ты что-то зажимаешь и надеешься, что не наткнёшься на плохой канал. Тактильные ощущения совсем не те - есть “щелчок”, клавиши приходится зажимать сравнительно сильно, делать слайды неудобно.
Во-вторых, на клавишах невозможно делать некоторые гитарные приёмы, такие как вибрато - это когда ты зажимаешь струну, дёргаешь её и отклоняешь на грифе в стороны, создавая “вибрирующий” звук. Бенд - “эффект блюзмена” - тем более не выйдет. Для этого нужно потянуть струну ещё сильнее, сдвинув на половину грифа.
Сначала у нас родилась “гениальная” идея - мы решили сделать кнопки магнитными. Это когда на грифе прикреплён магнит, а над ним в маленьких тубусах левитируют магниты, удерживающие кнопки. Мы собрали прототип одной такой кнопки; он продемонстрировал отличное плавное нажатие без щелчка, а главное, что силу нажатия можно было легко регулировать, просто заменяя магниты. Так мы планировали подобрать идеальное усилие и даже думали выпускать несколько вариантов грифа, soft, medium, hard, благо гитара у нас модульная и гриф легко отсоединяется и заменяется на другой с универсальным коннектором.
Но эти кнопки всё ещё не могли дать того же опыта, что дают обычные струны. Многие музыканты, которые пробовали играть на прототипе, говорили, что всё круто, но кнопки ощущаются как-то не так. Будто бы ты играешь не на гитаре, а на пианино в виде гитары.
Было ясно, что нужно что-то другое.
И вот, в какой-то момент я просыпаюсь с простой, в общем-то, идеей: самый простой способ воспроизвести струны - это использовать струны.
Во время двухдневного брейншторма с нашим инженером мы придумали концепт, который может реализовать это. Мы думали о разных технологиях, вплоть до сенсорного экрана или датчика, но в результате выбрали и продумали концепт, о котором расскажем чуть позже.
Сейчас могу сказать только одно: в итоге у нас используются обычные струны, только зажать их можно лёгким прикосновением, так как звук из них извлекается не за счет акустических колебаний, а полностью электронно.
Словами не передать, как окрылённо мы себя чувствовали! Мы только что придумали, как сделать так, чтобы гитара была полностью аналогична обычной “электрухе”, только гораздо лучше. Конечно, впереди ещё очень большой путь, но мы сделали первый шаг, чтобы перевернуть мир музыки и сделать с обычными электрогитарами то же, что синтезаторы сделали с пианино: оставить их удёлом ценителей.
Мы сразу же бросили разработку грифа на кнопках, через 4 дня был готов proof-of-concept прототип, который демонстрировал работоспособность идеи “в металле” - наша штука весело мигала лампочками каждый раз, когда мы зажимали струну, и данные приходили в нужном формате.
Осталось всего-ничего – превратить это
в это
Конечно же, все думали, что процесс займет максимум пару недель. Спустя 2 месяца работы (инженер работал почти круглосуточно) и 3,5 прототипа мы, наконец, ЗАКАНЧИВАЕМ полноразмерный гриф.
Это было чертовски больно. В первую очередь потому, что мы обещали всем показать рабочий прототип ещё в январе. Вот они, прелести итеративной разработки, можно сказать, Elon Time.
В общем, теперь гитара представляет из себя вот такую штуку:
Есть дека, она же - корпус гитары.
В ней расположена вся основная начинка:
Центральная часть гитары - “мозги”. Сначала мы пробовали сделать всё на микроэлектронике, контроллеры, суровые 2кб оперативки, вот это всё. Но знаете что, Пикабу? Ну его. Мы выбрали Raspberry PI Zero. В нём чуть менее суровые 2гб оперативки, возможность писать на высокоуровневых языках, полноценная ОС (никогда не забуду лицо своего кота, когда он смотрел, как я выхожу в интернет, подключив гитару к телевизору по HDMI), а главное - Raspberry стоит всего около 1500 рублей даже в розницу, что получается дешевле плат от STM.
К “мозгам” подключается отдельная звуковая карта, цепь усиления и динамик. Динамик мы искали максимально качественный, но нашли какой нашли (если есть на примете хорошие динамики до 10см в диаметре - будем очень признательны увидеть советы в комментах). Питает всё это дело наша новая цепь питания, состоящая из акума, выключателей, стабилизатора и портов. Цепи разведены на два вольтажа - один для распберри, другой для динамика (он требует 10-12 вольт).
Сверху, прямо над малинкой, располагается модуль струн для ведущей руки, т.е. правой, если вы - правша. Струны различают силу удара по ним и выдают разный по мощности сигнал. Ещё они оснащены ёмкостным сопротивлением, которое позволяет нам чувствовать прикосновение к струне и, например, играть бой с глушением.
Из распберри есть выход на сенсорный экран, на котором происходит всё взаимодействие с устройством - выбор семплов, режимов игры, коннект с приложением и интерактивный обучающий режим. Пока тут рассказать особо нечего, так что закончим нашу экскурсию на коннекторе для грифа. Он представляет собой VGA-подобный разъем (пока что) и клипсы, которые мы печатаем сами на 3D-принтере. Гриф состоит из платы, корпуса, крышки и механики струн. О нём я рассказывал ранее.
Сейчас мы заканчиваем работу над грифом и занимаемся эргономикой и оптимизацией корпуса - хотим максимально продумать логистику проводов и уменьшить вес и размеры настолько, насколько это возможно.
Ах, да. Наш гриф, в отличие от грифа Ямахи, будет состоять из 17 (а не 12) полноценных ладов, и будет иметь возможность транспонирования (смещения) вверх или вниз по нотному стану. 17 ладов мы выбрали как разумный компромисс между размерами (22 всё же слишком много для компактного инструмента, да и стоить будет дороже) и желанием людей запиливать соляки выше 12 лада. По моему опыту, ладами после 17 пользуется уж очень мало людей, хотя и им, если что, мы дадим возможность реализовать своего маленького Джимми Хендрикса другим способом. Предлагайте, кстати, свои идеи. Самая оригинальная будет удостоена специальной премии “небанальный гитарист” - можем подарить вам укулеле с автографом :)
p.s. Рычажок, настраиваемый с сенсорного экрана, не предлагать, эту идею мы обдумываем и сами :)
Я мог бы рассказать ещё очень много, благо есть о чём: приложение, софт, серверная и девопс часть (обновление прошивки по интернету и CI/CD к железке - не самая скучная тема), но об этом потом, и так получилось довольно много текста.
Меня зовут Денис Гончаров, и я всегда безумно хотел научиться играть на гитаре. Но у меня миодистрофия.
Говоря простым языком, мышцы моего тела не развиваются, и на данный момент я не имею возможности даже передвигаться самостоятельно. Вы скажете, это приговор? А вот и нет.
Галактика: начало пути
За основу новой гитары для себя я взял уже давно вышедшую из производства японскую модель гитары на батарейках Yamaha EZ-AG. Ее гриф идеально подходит для тех, у кого довольно слабые мышцы рук. Если использовать его, мне не придется зажимать пальцами струны, потому что вместо них на грифе этой гитары – кнопки. И эти кнопки не требуют сильного зажатия.
Вот только один гриф без корпуса, динамиков и аккумулятора – это еще не гитара. На этой гитаре гриф был сделан так, чтобы передавать электронный сигнал и преобразовывать его в идущий из динамика звук. Значит, нужно работать дальше. И, честно вам скажу, это вызвало у меня довольно сильные проблемы, потому что я абсолютно не разбираюсь в электронике. Но и это не повод отказываться от мечты. Раз я не понимаю в электронике, значит, мне всего лишь нужно найти того, кто мне поможет. И такого человека я нашел быстро.
Инженер понял, какую задачу я преследую и какую гитару хочу создать. И, когда мы сработались и нашли общий язык, дело пошло гораздо легче. И, наконец-то, благодаря инженеру я определился с порядком действий для создания гитары для себя:
1. Для начала, нужно подобрать динамик. Для первого прототипа мы взяли далеко не самый лучший, но он передает звук гитары и справляется с довольно громким звуком. Правда, нужно еще продумать регулятор громкости для этого динамика, но это уже является гораздо более простой задачей.
2. Аккумулятор можно использовать также покупной, главное, подобрать подходящий, что мы и сделали. Однако для того, чтобы все составляющие работали, необходимо изменить программу и продумать цепи питания. На это нам потребовалось некоторое время.
3. После окончания работы над системой гитары осталось только придумать корпус.
Во время работы над гитарой для себя мне пришла идея о том, что на земле не только я сталкиваюсь с такой проблемой и не только мне закрыта часть перспектив. И, если я могу решить эту проблему для себя, значит, мое решение может помочь и другим людям с похожим диагнозом, да и просто с травмами и повреждениями рук. Ведь многие люди задумываются о том, чтобы научиться играть на гитаре, вот только не могут себе это позволить из-за физических ограничений. Так почему бы не запустить массовое производство гитар, похожих на ту, что я делаю сейчас для себя?
Я не один
После появления этой идеи наряду с созданием первого в своем роде инструмента я начал искать людей, готовых поддержать мою идею. Сначала ко мне присоединились Костя и Маша. Они помогли мне продумать дизайн и задуматься над маркетинговой стратегией продвижения гитары. Потом ко мне присоединился Макс, программист, который принялся помогать инженеру в работе над прошивкой гитары и поддержал проект финансово. Вскоре появился и Слава, который помог мне структурировать нашу работу и занялся дизайном и маркетингом вместе с Костей и Машей.
Вот так вокруг меня собралась целая команда профессионалов своего дела, готовых меня поддержать. И если поначалу мы работали порознь, и я, будучи новичком в работе стартапа, до конца не знал, как организовать нашу работу, то потом, через ошибки мы пришли к слаженному труду над проектом, который стал шире чем один инструмент, а я, благодаря помощи и поддержке ребят наработав необходимый опыт, начал грамотно руководить работой нового стартапа в качестве его лидера и создателя. Вместе мы определились со стилем новой гитары и с ее названием. Именно тогда гитара стала Галактикой.
Если не можешь заказать, сделай сам
Идея использовать тему киберпанка для создания стиля нового инструмента для всех мне понравилась. Мы немного изменили классическую форму корпуса и для первой версии гитары заказали корпус из орг-стекла. Однако на заводе ошиблись с размерами и прислали готовый корпус на 30% больше, чем нам требовался. Такой корпус получился слишком массивным и тяжелым, и мы заменили его на более легкий и маленький корпус из фанеры.
А что дальше?
Гитара, которую я изначально собирал для себя, конечно, работает, и работает хорошо. Но невозможно все время отрывать гриф от старой и уже вышедшей из производства модели гитары для создания новой, верно?) И, раз уж мы решили приступить к созданию полностью своего инструмента, нужно было придумать свою модель грифа.
За основу мы взяли стандартный гитарный гриф, но вместо необходимости плотно зажимать струны добавили чувствительные сенсоры, чтобы струн можно было лишь легонько касаться. И это сработало! Струны реагируют, а значит, теперь нам нужно создать полноразмерный инструмент с нашим собственным грифом.
И, конечно же, нам нужна собственная программа для гитары. Ведь в конечном счете нашей идеей стало создание принципиально нового инструмента, который позволит создавать особую музыку и имитировать звучание любого инструмента. А значит, мы должны создать «мозг» новой гитары, чтобы реализовать все свои идеи. «Галактика» должна стать Галактикой звуков и техник для всех.
Все ли так просто?
Конечно же, мы сталкиваемся с множеством проблем при работе над нашей новой гитарой. Так, многие детали заказать невозможно, и нам приходится проектировать их и делать самостоятельно, а наше финансирование поначалу состояло исключительно из моей небольшой зарплаты и пенсии по инвалидности. Но постепенно мы решаем все проблемы. В следующих статьях я расскажу вам про общение с инвесторами из Силиконовой Долины и о получении первых инвестиций на наше развитие и создание серийного производства.
И наши идеи почти осуществились! Уже скоро мы с командой представим гитару, которая, как мы считаем, перевернет этот мир и объединит всех музыкантов!
Прошло 4 месяца с написания предыдущей статьи, за это время произошло довольно много нового как по технической части, так и по позиционированию девайса.
Напомню какие требования к девайсу я поставил, когда начинал разработку:
1) Устройство должно имитировать гитару с 6-ю струнами и 12-ю ладами на грифе
2) Должно быть компактным, в идеале складным, чтобы можно было брать его с собой куда угодно
3) Должно подключаться ко всем популярным осям — Android, IOS, Windows, Linux, MacOS и определяться там как MIDI устройство без каких-либо драйверов
4) Работа от аккумулятора
5) Подключение должно производиться без проводов по Bluetooth Low Energy (но раз уж там будет USB разъем для зарядки, то и по проводу пусть тоже подключается)
6) Возможность сразу начать играть, без необходимости в долгих тренировках по адаптации кистевых связок
7) На каждой струне и каждом элементе грифа должно быть по светодиоду, чтобы можно было запустить табулатуру мелодии, и гитара сама показывала куда нужно прикладывать руки
8) Возможность использования основных техник игры на гитаре: hummer on, pull off, slide, vibrato
9) Задержка передачи midi команд не более 10мс
10) Все должно собираться из подручных материалов без сложных техпроцессов и дорогой электроники
Реализовать мне все это удалось, и даже больше. Был дополнительно интегрирован акселерометр для управления параметрами фильтрации звука наклоном гитары и вибромотор (правда, я до сих пор не придумал зачем).
Было принято решение пытаться делать стартап и выходить на кикстартер.
Итак, что было дальше?
Следующим шагом стал стандартный этап поиска pre-seed раунда инвестирования. Деньги нужны были на доработку и изготовление нового прототипа, проведения пиар кампании и оплату юридических манипуляций (для участия на кикстартере необходимо юр. лицо в США со всеми вытекающими организационными тратами). Эту задачу нам с моим партнером, отвечающим за бизнес процессы, удалось решить за 2 месяца.
Позиционирование
Для подтверждения полезности продукта и его функционала мы решили провести встречи со всеми Питерскими и Московскими музыкантами, с которыми смогли связаться, и заодно поснимать видеороликов для соц сетей.
Профессиональные гитаристы отнеслись к девайсу ожидаемо скептически. И я их полностью понимаю, это не замена настоящей полноценной гитаре. Это девайс для применений, в которых важны портативность, универсальность, простота, возможность играть в наушниках и т.д. Сидишь, например, в самолете, вокруг шум, суета, плачущие дети, кислородные маски выпадают. Спать невозможно. И тут внезапно наступает вдохновение, достаешь девайс, надеваешь наушники и записываешь новый трек.
Широкой публикой гитара была оценена очень позитивно не смотря на пока что ограниченный функционал и большие конструктивные неудобства. Девайс оказался настолько интересным, что даже популярный в рунете блогер Ваганыч снял на него обзор.
По результатам общения мы открыли для себя новую целевую аудиторию - саунд дизайнеры, мьюзик мейкеры - люди, которые пишут цифровую музыку. Оказалось, у них есть большие сложности с записью гитарных и других струнных партий на миди клавиатурах. Это очень сложно, долго, муторно настолько, что зачастую им приходится отказываться от струнных инструментов, органичивая свое творчество. Наш девайс они восприняли с максимальным энтузиазмом, пророча ему большую популярность.
Конкуренты
Есть на этом рынке и конкуренты. Мы купили по экземпляру каждого для оценки.
1. Artiphon - панель, чувствительная к нажатию, по форме напоминает гитару, но позиционируется скорее как настольная клавиатура.
Интересная, но дорогая штука. В целом, работает неплохо, можно извлекать разнообразные звуки. Имеет встроенные динамики, но лучше их не включать. Подключается только по USB.
2. Jammy - гитарный форм-фактор, состоит из разъединяющихся элементов с реальными струнами. Датчики независимо отслеживают удары по струнам на деке и прикосновение струны к ладу на грифе. Знакомым гитаристам не удалось сыграть на ней что-то внятное - ноты то не извлекались, то извлекались по нескольку раз. Возможно, требуется длительное привыкание. На реальных роликах в интернете также не удалось найти полноценной гитарной игры, в основном это игра медленным перебором по отдельным струнам.
3. Jamtik - игрушка с 7-ю ладами на батарейках. Сыграть на ней не удалось даже «В траве сидел кузнечик».
Анализ конкурентов добавил нам оптимизма. Ни один из этих девайсов не позволяет играть реальные быстрые гитарные партии, не имеет обучающей подсветки.
Теперь самое интересное – новый прототип
На основе испытаний старого прототипа, конкурентов и личных предпочтений, я решил расширить функционал девайса и добавить несколько пунктов к требованиям:
1) Конечно, RGB подсветка
2) Подвижные струны на деке с детектированием как касания, так и величины отклонения при извлечении ноты. Это позволит избавиться от проблемы задевания пальцами соседних струн и расширит возможности игры за счет поддержки velocity (разные параметры нарастания звука и громкости ноты) и глушения струн прикосновениями как в настоящей гитаре
3) Детектирование силы нажатия на сенсоры грифа для реализации стандартных гитарных техник игры
4) Встроенный синтезатор со встроенной библиотекой инструментов и разъем Jack 3.5мм для подключения наушников или внешних колонок. Встроенные динамики делать не стал – добиться хорошего звучания было бы слишком сложно и дорого
5) Мобильное приложение со встроенным качественным синтезатором и функционалом обучения
6) Пады с подсветкой для записи лупов
7) Упоры на деке и удобного удержания сидя и стоя, крепления для ремешка
Корпус
Корпус получил множество изменений, особенно в узлах со струнами на деке и в механизме складывания. Сенсоры на грифе теперь покрыты матовыми рассеивателями и светятся всей поверхностью.
Основная задача - сделать девайс таким, чтобы был применим мануальный опыт игры на настоящей гитаре. Были проработаны расстояния между ладами, механика струн, геометрия деки и развесовка. Пока что это только рендеры корпуса, но изготовление прототипов уже идет полным ходом.
Электроника
Электронику пришлось разделить на 4 платы:
Гриф
Адресные RGB светодиоды подключены последовательно к одной ноге STM-ки. Пришлось повозиться с двойной буферизацией и выводом данных через DMA 100 раз в секунду. Зато, теперь оно работает очень быстро и можно запускать цветные визуальные анимации на поверхности грифа.
Плата с падами и подпружиненными контактами для соединения с грифом в разложенном состоянии гитары
Основная плата со струнами, мозгами, силовой частью, радио частью, синтезатором и датчиками
Здесь происходит детектирование как прикосновения к струнам, так и величины их отклонения. Это решает проблему со случайными задеваниями соседней струны при игре и дает возможность глушить струны как на настоящей гитаре.
Плата с разъемами USB type-C, Jack 3.5мм и тремя индикаторными светодиодами
Мобильное приложение
После выкладывания предыдущей статьи, мне написал мобильный разработчик Юрий Дубовой с предложением помочь в разработке приложения под iOS.
Мы сформировали протокол общения гитары с приложением и разбили его на несколько интерфейсов:
- Midi команды, разумеется, по умолчанию передаются по стандартному BLE-Midi интерфейсу. Таким образом, к приложению при желании можно будет подключить и другие midi устройства, например, клавиатуру
- Опционально поддерживается прием midi команд и по проводному USB-Midi интерфейсу. Это будет полезно для старых телефонов без поддержки BLE, а также в случае необходимости сокращения задержки до минимума (порядка 5мс)
- Отдельный кастомный BLE сервис для передачи уникальных команд, связанных с управлением светодиодами, режимами работы девайса, синхронизацией состояния и т.д.
- Стандартный BLE battery service для передачи уровня заряда аккумулятора. Он поддерживается на уровне операционной системы и, в случае в виндой, даже отображается соответствующая иконка в панели устройств
Приложение разбито на несколько экранов, соответствующих разным режимам работы:
Свободная игра
В этом режиме пользователь выбирает один из инструментов (акустика, электрогитара, пианино, укулеле, барабаны, и т.д.) и просто играет как ему хочется. Есть возможность загружать свои инструменты в виде саундфонтов в формате «.sf2».
Игра по табулатурам
В этом режиме нужно выбрать мелодию из списка табулатур и запустить интерактивное воспроизведение, при котором гитара светодиодами подсвечивается нужный аккорд и приложение ждет, пока юзер его не сыграет, и зажигает следующий. При этом происходит оценка правильности и скорости игры.
Обучение
Пока у нас нет даже прототипа этого режима, но предполагается интерактивное обучение нотной грамоте и гитарным основам в игровой форме с использованием светодиодов на девайсе.
Есть и другие интересные режимы, о которых я расскажу в следующей статье. Впереди еще очень много работы.
Теперь играть на ней можно тремя разными способами:
1) Подключение через BLE MIDI протокол к телефону или компу, где девайс распознается как миди устройство, и игра через внешние виртуальные синтезаторы (Ableton, FL studio, Garage Band и т.д. или наше приложение)
2) То же самое, но с подключением через USB MIDI (работает со всеми хостами, которые я проверял – Android, IOS, Windows, MacOS, Debian)
3) Игра внутренним синтезатором, с подключением наушников или внешней колонки напрямую в гитару. В этом случае звук будет не самым Hi-Fi, но вполне приемлемым для игры для себя
Интересно, что можно играть всеми тремя способами одновременно, может кому-то пригодится.
Завершение
После завершения изготовления корпуса и тестирования нового прототипа я планирую написать следующую статью, в которой будет больше технических подробностей. Если среди читателей есть люди, желающие поучаствовать в создании контента, поделиться предложениями или помочь с продвижением – пожалуйста, пишите мне. А также будем рады помощи с изготовлением корпуса и разработкой мобильного приложения.
Кому интересно следить за новостями проекта или оформить предзаказ – оставляйте почту в форме на сайте Sensy и подписывайтесь на соцсети.
Спасибо за внимание! Буду рад обратной связи в комментариях.
1-причина почему я хочу.
Компактность и подключение к усиливающим звук устройствам. Сразу вспоминаю как мы выезжаем на природу дикарями, но гитару нельзя брать из-за объема и хрупкости. А тут агрегат размером с сумку шампуров, которую можно соединить с магнитолой тачки и наслаждаться, каеф.
2-я.
Если она будет приближена к звуку обычной, но при этом нет трудности нажатия струн, то это ваще мой вариант. Просто я начал ломаться после тридцадтки, проблема с позвоночником и грудную клетку сломал, но самое главное сломал два пальца на руке (не одновременно, но в один квартал). и срослись они не правильно и теперь на обычных струнах играть мне тупо больно.
3-го нет, просто заставил сынульку сфоткать пальцы в подтверждение
Меня зовут Дмитрий Дударев. Я занимаюсь разработкой электроники и очень люблю создавать различные портативные девайсы. Еще я люблю музыку.
Давным-давно – в апреле или около того, когда весь мир сотрясался от ударов страшного карантина, я решил научиться играть на гитаре. Я взял у друга акустическую гитару и стал осваивать инструмент по урокам из ютуба и табулатурам. Было тяжело. То ли я неправильно что-то делал, то ли плохо старался, то ли в обществе моих предков мелкая моторика вредила размножению. Короче, ничего кроме звуков дребезжащих струн у меня не выходило. Мое негодование усиливала постоянная расстройка струн. Да и окружающим тысячный раз слушать мою кривую Nothing else matters удовольствия не доставляло.
Электронная гитара? Хм, интересная идея, подумал я. Но еще лучше, если на этой гитаре я сам смогу научиться играть. В тот же день акустическая гитара отправилась на свалку обратно к другу, а я стал придумывать идею.
Поскольку я у мамы инженер, то первым делом я составил список требований к девайсу.
Что я хочу от гитары?
1) Я хочу что-то максимально похожее на гитару, т.е. шесть струн и 12 ладов на грифе.
2) Хочу компактность и портативность. Чтобы можно было брать девайс с собой куда угодно, не заказывая газель для транспортировки.
3) Устройство должно без плясок с бубном подключаться к чему угодно, от iOS до Windows. Окей-окей, ладно, будем реалистичными – ко всем популярным осям.
4) Работа от аккумулятора.
5) Подключение должно производиться без проводов (но раз уж там будет USB разъем для зарядки, то и по проводу пусть тоже подключается)
6) Ключевой момент – на гитаре должно быть просто учиться играть, без необходимости в долгих тренировках по адаптации кистевых связок. Как это реализовать? Сразу пришла идея оснастить струны и лады светодиодами. Типа, загрузил табулатуры в гитару, а она уже сама показывает, куда ставить пальцы. Т.е. нет такого, что смотришь на экран, потом на гитару, снова на экран, снова на гитару. Вот этого вот всего не надо. Смотришь только на гитару. И там же играешь. Все. Это прям мое.
7) Хотелось бы поддержки разных техник игры на гитаре: hummer on, pull off, slide, vibrato.
8) Без тормозов. По-научному – чтобы задержка midi-команд не превышала 10мс.
9) Все должно собираться из говна и палок легко доступных материалов без сложных техпроцессов и дорогой электроники.
В итоге должен получиться компактный инструмент, на котором можно играть, как на гитаре, лишенный аналоговых недостатков и оснащенный наглядной системой обучения. Звучит реализуемо.
Разумеется, для мобильных платформ потребуется написать приложение, в котором можно будет выбрать табулатуру для обучения светодиодами, выбрать инструмент (акустика, классика, электрогитара с различными пресетами фильтров, укулеле и т.д.), и воспроизводить звуки.
Существующие аналоги
А надо ли изобретать велосипед? Ведь на всякую гениальную идею почти наверняка найдется азиат, который уже давно все реализовал в «железе», причем сделал это лучше, чем ты изначально собирался. Иду гуглить.
Оказывается, первая цифровая гитара была создана еще в 1981 году, но в народ сильно не пошла из-за хилой функциональности.
Варианты посовременнее, конечно, тоже нашлись.
Вот, например, с айпадом вместо струн или еще одна в форме моллюска:
Однако такого, чтобы выполнялись все мои хотелки – в первую очередь компактность и режим обучения «жми на лампочки» – такого нет. Кроме того, такие midi-гитары нацелены все же на более профессиональную аудиторию. И еще они дорогие.
Значит, приступаем!
Первый прототип
Чтобы проверить жизнеспособность концепции, нужно сначала определиться с элементной базой.
Контроллер берем STM32F042. В нем есть все, что нужно, при стоимости меньше бакса. Кроме беспроводного подключения, но с этим позже разберемся.
Далее. Струны на деке. Для первого концепта решил напечатать пластиковые язычки, закрепить их на потенциометрах с пружинками и измерять углы отклонения.
Так выглядит 3D-модель:
А так живьем:
Тактильное ощущение приятное. Должно сработать.
Для ладов на грифе я заказал на Али вот такие тензорезистивные датчики.
В отличие от разнообразных кнопок, они не щелкают. Плюс есть возможность определять усилие нажатия, а значит, можно реализовать сложные техники вроде slide или vibrato.
Плюс нужен АЦП, чтобы считывать инфу с датчиков и передавать на контроллер.
Пока ждал датчики из Китая, развел плату:
Прежде чем заказывать печать платы, решил дождаться тензорезисторов. И, как оказалось, не зря. Из 80-ти датчиков рабочими оказались только несколько, и то с разными параметрами.
Выглядит, мягко говоря, не так, как заявлено. И чего я ожидал, покупая электронику на Али?..
И тут меня осенило.
Можно ведь применить другой метод детектирования — измерение емкости, как в датчиках прикосновения. Это гораздо дешевле и доступнее. А если правильно спроектировать механику, то можно и усилие определять.
Что ж. Удаляю все, что было сделано
Второй прототип
Итак, тензорезистивные датчики в топку. В качестве сенсорных элементов в этот раз взял небольшие медные цилиндрики, напиленные из проволоки. Для измерения емкости удалось найти дешевый 12-канальный измеритель емкости общего назначения. Он измеряет емкость в масштабах единиц пикофарад, чего должно быть достаточно для схемы измерения усилия, которую я планирую реализовать в следующих модификациях.
Дополнительно на всякий случай повесил на каждый элемент грифа по посадочному месту для кнопки или чего-то подобного. И сделал соответствующие вырезы в плате. Это чтобы можно было не только прикоснуться к цилиндрику, но и прожать его внутрь. Можно будет поэкспериментировать с разными техниками игры.
Решив вопрос подключения множества микросхем измерителя емкости к контроллеру, приступаю к разводке платы.
На этот раз плату удалось заказать и даже дождаться ее изготовления.
После того, как припаял все комплектующие к плате, понял, что конструкция с пластиковыми струнами получается слишком сложной. Поэтому решил пока что повесить на деку такие же сенсорные цилиндрики, но подлиннее.
Два проводочка в нижней части – это я подключил накладку с цилиндриками к уже изготовленной плате. Это временное решение.
Железяка готова. Следующая задача – заставить ее играть.
Софт
Программная часть реализована так:
1. Скачиваем виртуальный синтезатор, который может работать с MIDI устройством и издавать гитарные звуки.
2. Пишем прошивку для контроллера, которая будет опрашивать сенсоры и передавать данные по USB на комп.
3. На стороне компа пишем программу, которая будет получать эти данные, генерировать из них MIDI-пакеты и отправлять их на виртуальный синтезатор из пункта 1.
Теперь каждый пункт подробнее.
Виртуальных синтезаторов под винду с поддержкой MIDI оказалось довольно много. Я попробовал Ableton live, RealGuitar, FL studio, Kontakt. Остановился на RealGuitar из-за простоты и заточенности именно под гитару. Он даже умеет имитировать несовершенства человеческой игры – скольжение пальцев по струнам, рандомизированные параметры извлечения нот.
Чтобы подключить свое приложение к виртуальному синтезатору я сэмулировал виртуальный порт midi, который подключен ко входу синтезатора RealGuitar через эмулятор midi-кабеля. Такая вот многоуровневая эмуляция.
*Мем с ДиКаприо с прищуренными глазами*
В интерфейсе программы я сделал графическое отображение уровня измеряемой емкости для каждого сенсора. Так будет проще подстраивать звучание. Также на будущее добавил элементы управления светодиодами, вибромотором (пока не знаю зачем, но он тоже будет в гитаре), визуализации работы акселерометра и уровня заряда аккумулятора.
Для того чтобы удары по струнам гитары вызывали проигрывание правильных нот, нужно замапить все 72 сенсора на грифе на соответствующую ноту.
Оказалось, что из 72 элементов на 12-ти ладах всего 37 уникальных нот. Они расположены по определенной структуре, так что удалось вместо построения большой таблицы вывести простое уравнение, которое по номеру сенсора выдает номер соответствующей ноты.
Проверяем работу
Похоже, все готово для первого теста. Пилить прутки и паять все 12 ладов мне было лень, поэтому ограничился 8-ю. Момент истины:
IT’S ALIVE! Жизнеспособность концепта подтверждена. Счастью не было предела! Но нельзя расслабляться.
Следующий этап – добавление светодиодов, акселерометра, вибромотора, аккумулятора, беспроводной связи, корпуса и возможности работы без драйверов или программ эмуляции midi на всех популярных платформах.
Светодиоды
По плану гитара должна подсказывать пользователю, куда ставить пальцы, зажигая в этом месте светодиод. Всего нужно 84 светодиода. Тут все просто. Я взял 14 восьмибитных сдвиговых регистров и соединил в daisy chain. STM-ка передает данные в первый регистр, первый – во второй, второй – в третий и т.д. И все это через DMA, без участия ядра контроллера.
Акселерометр
Самый простой акселерометр LIS3D позволит гитаре определить угол своего наклона. В будущем буду это использовать для наложения звуковых фильтров во время игры в зависимости от положения гитары.
Беспроводное соединение
Для беспроводной передачи данных решил поставить ESP32. Оно поддерживает различные протоколы Bluetooth и WI-FI, будет с чем поэкспериментировать (на тот момент я еще не знал, что в моем случае существует только один правильный способ подключения).
Корпус
Одно из ключевых требований к гитаре – портативность. Поэтому она должна быть складной, а значит, электронику деки и грифа нужно разнести на две платы и соединять их шлейфом. Питание будет подаваться при раскрытии корпуса, когда магнит на грифе приблизится к датчику Холла на деке.
Доработка прототипа
Что ж, осталось облачить девайс в приличную одежку.
Я много экспериментировал с различными конструкциями тактильных элементов грифа и рассеивателями для светодиодов. Хотелось, чтобы равномерно светилась вся поверхность элемента, но при этом сохранялась возможность детектирования прикосновения и нажатия на кнопки.
Вот некоторая часть этих экспериментов:
Еще я обратился к другу, который профессионально занимается промышленным дизайном. Мы придумали конструкцию узла сгибания гитары, после чего он спроектировал и напечатал прототип корпуса.
Развожу финальный вариант плат и собираем гитару:
Выглядит почти круто. Но девайс все еще подключается к компу через цепочку эмуляторов, эмулирующих другие эмуляторы.
Превращаем гитару в MIDI-устройство
В новой версии в первую очередь я хотел, чтобы при подключении по USB, гитара определялась как MIDI устройство без всяких лишних программ.
Оказалось, сделать это не так сложно. Все спецификации есть на официальном сайте usb.org. Но все алгоритмы, которые выполнялись на стороне python-приложения, пришлось переписывать на C в контроллер.
Я был удивлен, что оно сразу заработало на всех устройствах. Windows 10, MacOS, Debian 9, Android (через USB переходник). Достаточно просто воткнуть провод и в системе появляется MIDI-устройство с названием «Sensy» и распознается всеми синтезаторами. С айфоном пока протестировать не удалось т.к. нет переходника. Но должно работать так же.
Беспроводной интерфейс
Осталось избавиться от проводов. Правильное решение пришло не сразу, потому что я поленился как следует погуглить. Но в итоге я использовал протокол BLE MIDI, который поддерживается всеми новыми операционками и работает без всяких драйверов прямо как по USB MIDI. Правда, есть вероятность, что на более старых операционках решение не заработает в силу отсутствия поддержки BLE MIDI. Но все тесты с доступными мне девайсами прошли успешно.
Переписанный функционал приложения – т.е. трансляция данных сенсоров в MIDI-данные – занял точнехонько всю память контроллера. Свободными осталось всего 168 байт. Очевидно, кремниевые боги мне благоволили, значит иду в правильном направлении.
Уверен, можно оптимизировать, но это отложу для следующей версии. Хотя, возможно, проще не тратить время и просто взять контроллер потолще. Разница по деньгам – 5 центов. Посмотрим. Все равно нужно будет место для новых фич – обрабатывать техники игры, например. В первую очередь, хочу реализовать slide. Это когда начинаешь играть ноту с определенным зажатым ладом и проскальзываешь рукой по грифу, перескакивая с лада на лад.
Теперь можно проверить работу по беспроводу:
При включении всех светодиодов, гитару можно использовать, если вы заблудились в темной пещере.
Недостатки прототипа
На текущий момент у конструкции есть следующие минусы:
1) На сенсорах нигде не измеряется усилие нажатия. Это влечет за собой три проблемы:
• Постоянно происходят случайные задевания соседних струн как на деке, так и на грифе. Это делает игру очень сложной.
• Все играемые ноты извлекаются с одинаковой громкостью. Большинство подопытных этого не замечают, но хотелось бы более приближенной к настоящей гитаре игры
• Невозможность использовать техники hammer on, pull off и vibrato
2) Светодиоды одноцветные. Это ограничивает наглядность при игре по табулатурам. Хочется иметь возможность разными цветами указывать на различные приемы игры.
3) Форма корпуса не подходит для левшей. С точки зрения софта – я уже реализовал инверсию струн по акселерометру. Но механический лепесток, необходимый для удержания гитары рукой во время игры, поворачивается только в сторону, удобную правшам.
4) Отсутствие упора для ноги. Сейчас при игре сидя нижняя струна почти касается ноги, а это неудобно.
5) Сустав сгибания гитары требует осмысления и доработки. Возможно, он недостаточно надежен и стабилен.
Время переходить к разработке следующей версии.
Использовать ESP32 в финальной версии гитары было бы слишком жирно, поэтому я пошел искать что-то более православное. Выбор пал на NRF52 по критериям доступности, наличию документации и адекватности сайта.
Конечно, будут реализованы и три главных нововведения:
- светодиоды теперь RGB,
- на каждом сенсоре грифа будет измерение усилия (тактовые кнопки больше не нужны),
- струны на деке станут подвижными.
На данный момент плата деки выглядит так (футпринт ESP на всякий случай оставил):
Уже есть полная уверенность в том, что весь задуманный функционал будет реализован, поэтому было принято решение о дальнейшем развитии. Будем пилить стартап и выкладываться на Kickstarter :)
Проект называется Sensy и сейчас находится в активной разработке. Мы находимся в Питере, сейчас команда состоит из двух человек: я занимаюсь технической частью, мой партнер – маркетингом, финансами, юридическими вопросами.
Скоро нам понадобится наполнять библиотеки табулатур и сэмплов различных инструментов. Если среди читателей есть желающие в этом помочь – пожалуйста, пишите мне в любое время.
Кому интересно следить за новостями проекта – оставляйте почту в форме на сайте и подписывайтесь на соцсети.
Очень надеюсь на обратную связь с комментариями и предложениями!
Спасибо за внимание!
Забавный эпизод из процесса разработки
Сижу отлаживаю NRF52, пытаюсь вывести данные через UART. Ничего не выходит. Проверял код, пайку, даже перепаивал чип, ничего не помогает.
И тут случайно нестандартным способом перезагружаю плату – в терминал приходит буква «N» в ascii. Это соответствует числу 0x4E, которое я не отправлял. Перезагружаю еще раз – приходит буква «O». Странно. Может быть проблема с кварцевым резонатором и сбился baud rate? Меняю частоту в терминале, перезагружаю плату – опять приходит «N». С каждой новой перезагрузкой приходит по новой букве, которые в итоге составляют повторяющуюся по кругу фразу «NON GENUINE DEVICE FOUND».
Что эта NRF-ка себе позволяет? Прошивку я обнулял. Как она после перезагрузки вообще помнит, что отправлялось в предыдущий раз? Это было похоже на какой-то спиритический сеанс. Может, я и есть тот самый NON GENUINE DEVICE?
Залез в гугл, выяснил, что производители ftdi микросхем, которые стоят в USB-UART донглах, придумали способ бороться с китайскими подделками. Виндовый драйвер проверяет оригинальность микросхемы и на лету подменяет приходящие данные на эту фразу в случае, если она поддельная. Очевидно, мой донгл оказался подделкой и переход на другой решил эту проблему.
Снова спасибо китайцам.
Несмотря на капризы погоды, лето неумолимо приближается. Значит, занятия в спортивном зале или домашние тренировки получится заменить на активности под открытым небом. Собрали для вас товары, которые сделают уличные воркауты интереснее, увлекательнее и полезнее.
Мегамаркет дарит пикабушникам промокод килобайт. Он дает скидку 2 000 рублей на первую покупку от 4 000 рублей и действует до 31 мая. Полные правила здесь.
В компактную поясную сумку поместятся телефон, ключи, кошелек или другие нужные мелочи. Во время тренировки все это не гремит и не мешает, но всегда находится под рукой. Материал сумки прочный и влагонепроницаемый, вещи в ней защищены от повреждений, царапин или пота.
С фитнес-резинкой можно тренировать все группы мышц: руки, ноги, кор, ягодицы. А еще она облегчает подтягивания и помогает мягко растягиваться. В сети можно найти огромное количество роликов с упражнениями разной степени сложности. Нагрузка легко дозируется: новичкам подойдет резинка с сопротивлением до 23 кг, опытным атлетам — до 57 кг. При этом оборудование максимально компактно и поместится даже в небольшую сумку.
Для тех, кому надоели обычные тренировки. Слэклайн — это стропа шириной 50 мм, с помощью которой осваивают хождение по канату. Тренажер учит сохранять баланс, прокачивает координацию и концентрацию, а еще дает отличную нагрузку на спину, руки и ноги.
Настольный теннис — простой в освоении вид спорта, который отлично помогает размяться и тренирует скорость реакции. В комплект входят две ракетки, три мяча, сетка, накладка и чехол — все, что нужно, чтобы поиграть вечером во дворе с другом или устроить небольшие соревнования. Этот недорогой набор подойдет именно для развлечения и веселья, устанавливается почти на любой стол.
Еще один вид спорта, которым можно заниматься, даже не имея серьезной подготовки — бадминтон. С набором от Wish Steeltec вы сможете потренировать силу удара, побегать и просто хорошо провести время. Детали яркие, так что их трудно потерять даже на природе. Леска натянута прочно, ресурса ракеток должно хватить не на один сезон.
Фрисби воспринимается как простое пляжное развлечение. Тем не менее перекидывание друг другу тарелки задействует все группы мышц и развивает скорость реакции. Эта тарелка летит далеко и по понятной траектории — отличный снаряд для начала. Кстати, фрисби — это еще и ряд спортивных дисциплин со своими правилами и техническими сложностями, так что игра с друзьями может перерасти в серьезное увлечение.
Стильный мяч из износостойкой резины отлично подходит для уличных тренировок. Вы сможете поиграть компанией в баскетбол или стритбол или просто отработать броски. При производстве используется технология сбалансированного сцепления: это значит, что снаряд не сбежит от вас и будет двигаться по стабильной траектории.
Футбол — один из самых популярных в России видов спорта. Играя, можно отлично побегать, потренировать меткость и отработать взаимодействие в команде. Футбольный мяч Torres Striker выполнен из качественного полиуретана и резины и выдержит не один десяток матчей, не потеряв упругости. Отличная балансировка и оптимальный размер делают его подходящим как для взрослых, так и для подростков. Он достаточно тяжелый, почти как в профессиональном спорте, так что совсем малышам не понравится.
Пляжный или обычный волейбол? А может быть, пионербол, как в детском лагере? Мяч TORRES SIMPLE COLOR подойдет для любой из этих игр. Камера отлично держит давление, поэтому вам не придется постоянно подкачивать его, а качественные материалы (полиуретан и бутил) сохраняют все характеристики даже при интенсивном использовании.
Многоскоростной велосипед с рамой 19-го размера подойдет как мужчинам, так и женщинам. Это отличный вариант для новичков: модель доступная, удобная. Поможет понять, нравится ли вам велоспорт. Конструкция велосипеда позволяет ездить по дорогам разных типов, поэтому вы сможете перемещаться по городу или отправиться в поход. Есть складной механизм — велосипед с ним легко возить в машине, на электричке и просто хранить в кладовке.
Более продвинутая модель для тех, кто уже оценил прелесть движения на двух колесах. Геометрия велосипеда предполагает вертикальную посадку. Это обеспечивает более удобное положение тела, чем на других байках. В конструкции предусмотрены детали для комфорта и безопасности: пружинная вилка с ходом 100 мм, сервисная подводка тросов и дисковые гидравлические тормоза.
Если вы не фанат велоспорта, но хотите получить свою дозу физической нагрузки, перемещаясь по городу, выбирайте самокат. В модели PLANK Magic 200 есть регулировка руля по высоте, надежные тормоза и прочная увеличенная дека из алюминия. Когда вы катаетесь на самокате, работают мышцы ног, ягодиц, спины и живота, а заодно добираетесь, куда нужно. Если вы решите сделать паузу в тренировках, самокат легко складывается для хранения.
Любая активность на свежем воздухе требует хорошей обуви, специально сделанной для занятий спортом. Яркие кроссовки Hoka RINCON 3 с облегченным весом амортизируют, снижают нагрузку на суставы. Выраженный рельеф подошвы обеспечивает сцепление с поверхностью вне зависимости от того, где проходит тренировка: на специальной площадке, асфальте или грунте.
Легкие женские кроссовки из линейки Clifton подходят для занятий на твердых покрытиях. Дышащий сетчатый верх поддерживает вентиляцию стоп, чтобы можно было тренироваться даже в жару. Подошва из легкой пены EVA гасит силу ударов. Кроссовки беговые, подходят для тренировок на длинных дистанциях.
Во время занятий на свежем воздухе важно защитить голову от перегрева. С этим отлично справится легкая и светлая бейсболка — например, от GLHF. Она удобно сидит на голове, не сваливается и не отвлекает от занятий, благодаря сетке голова меньше потеет. Козырек жесткий и не мнется.
Не забудьте защитить кожу от солнца — чтобы не было мучительно больно на следующий день после тренировки под открытым небом. В этом поможет крем против пигментных пятен с сильной защитой от ультрафиолета SPF50. Водостойкая текстура легко наносится и быстро впитывается, действует два часа — потом крем нужно обновить.
Удобные и стильные солнцезащитные очки защищают глаза благодаря фильтру UV400, который поглощает до 99.99% ультрафиолета. Они выполнены из легких материалов и плотно прилегают к голове. Ударопрочные поликарбонатные линзы с антибликовым покрытием подходят для разных видов спорта.
Используйте промокод килобайт на Мегамаркете. Он дает скидку 2 000 рублей на первую покупку от 4 000 рублей и действует до 31 мая. Полные правила здесь.
Реклама ООО «МАРКЕТПЛЕЙС» (агрегатор) (ОГРН: 1167746803180, ИНН: 9701048328), юридический адрес: 105082, г. Москва, ул. Спартаковская площадь, д. 16/15, стр. 6