Интересная последовательность аккордов

Я тут недавно наткнулся на 10-минутный мастер-класс от Людовика Бейера.

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

Конечно, играю я косячно, темп гуляет. Но общее представление получить можно. Потихоньку, мелкими шагами я приближаюсь к пониманию того, «как он это всё делает».

Рис. 1

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

Китайское?

А вот если некое электронное изделие:

  • собрано с использованием деталей, сделанных в Китае
  • собрано на печатных платах, изготовленных в Китае
  • … и разработанных с помощью китайской системы EasyEDA
  • использует в качестве ядра системы микроконтроллер, изготовленный в Китае
  • собрано с помощью паяльного оборудования, изготовленного в Китае
  • настроено с помощью мультиметра и осциллографа, изготовленных в Китае
  • использует корпус, напечатанный на 3D принтере, сделанном в Китае

то это же получается китайское устройство, правильно?

Рис. 1

🙂

Навертели всякого…

Начал я тут облагораживать проигрывалку MIDI файлов немножко.

В частности, мне не нравилось, как я сделал реализацию callback-функций, которые вызываются библиотекой. (Сделано было на скорую руку, «чтобы заработало», да так и оставлено.)

И начал я изучать вопрос на тему «есть ли в 2025 году стандартные способы указывать в качестве сишной callback-функции функцию-член класса».

И напоролся на интересную статью, в которой приведён пример (см. рис. 1), который синтактически неправильный для того C++, который я помню. 🙂

Оказывается, пока меня не было, они там в C++ насовали всякого нового (в версию C++ 11). И тот пример из статьи использует это самое новое.

Вот ведь… Придётся разбираться.

Рис. 1

(Да, я в курсе, что C++11 «новый» только для меня, а нормальные программисты уже могут не помнить, что когда-то было как-то иначе.)

Шикарные ремни

Сегодня мой MIDI-баянчик обзавёлся шикарными ремнями (см. рис. 1).

Старые ремни — это те самые, с которыми он был куплен в 1982 году. Они уже пришли в совершенно непотребное состояние. А эти ремни прекрасны. Широкие, удобные. К ним в комплекте имеется ещё поперечный ремень, который застёгивается за спиной. Но я стоя не играю, поэтому для меня это пока неактуально.

Приобретал здесь: Ремни для Баяна, аккордеона и гармони.

Рекомендую.

Рис. 1

Датчик положения — пример реального использования

Вот коротенький отрывок, показывающий, как это звучит:

Там две «подтяжки» (AKA «бенда»).

Рис. 1 КДПВ

Датчик положения — финал

Это короткий ответ на вопрос «зачем в баяне нужен датчик положения».

Датчик реагирует на повороты по двум осям: X (вправо) и Y (вперёд). Рабочий диапазон углов от 0 до 15 градусов.

На любую ось можно настроить следующие контроллеры:

  • бенд (подтяжка) вверх
  • бенд вниз
  • управление силой вибрато (от нуля до максимума)
  • включение/выключение режима Portamento

Глубина бенда может настраиваться в диапазоне от 1 до 4 полутонов.

Датчик положения

Теперь датчик положения является частью схемы баяна. И даже прошивка без него уже не запустится. 🙂

В данный момент реализован, скажем так, драйвер датчика, который умеет:

  • Калибровать датчик, чтобы он «знал», какое положение баяна является рабочим.
  • Сохранять калибровочные данные в EEPROM
  • Читать калибровочные данные из EEPROM при старте системы
  • Перекалибровывать датчик заново, если баян включен с нажатой кнопкой «стрелка вверх»
  • Читать данные с датчика примерно 65 раз в секунду и если его показания изменились — то отправлять соответствующее событие в системную очередь.

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

Отслеживаются повороты инструмента по двум осям:

  • X — влево/вправо
  • Y — вперёд/назад
Рис. 1

Lusta Dick — промежуточный результат

Я тут решил, что пришло время продемонстрировать, на что способен MIDI-баян в его текущем состоянии.

Заодно и обкатаю Lusta Dick на публике.

Первый шаг к т.н. «активной» клавиатуре сделан

Сегодня у темы MIDI-баяна небольшой праздник. Есть работающий способ отпределять скорость нажатия клавиш (см. рис. 1).

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

Рис. 1