Можно ли использовать цифровое пианино как midi клавиатуру

Обновлено: 07.07.2024

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

Цифровое пианино

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

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

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

Цифровое пианино можно подключать к компьютеру, что позволяет записывать и редактировать собственную музыку. В большинстве устройств предусмотрена возможность подключать наушники, тем самым не мешая родным и соседям своими репетициями.

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

Можно смело назвать цифровое пианино альтернативой механическому. Оно отлично подойдет для домашних репетиций виртуозов.

Синтезаторы

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

Синтезатор - это в большей степени контроллер, чем музыкальный инструмент. Он синтезирует разнообразные звуки, причем не только инструментальные, но и такие как пение птиц или звук пролетающего вертолета.

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

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

Midi-клавиатура

Midi-клавиатура - это идеальный помощник для домашней студии или частых поездок.

Главная особенность таких устройств - мобильность. Эти приборы делают специально максимально легкими, компактными и долговечными. Благодаря этому они выдерживают частые нагрузки и их можно постоянно брать с собой без особых хлопот.

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

Что выбрать?

Битва цифровых музыкальных инструментов в действительности сводится к тому, как и для чего вы планируете использовать устройство.

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

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

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

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

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

Весь ассортимент музыкальных инструментов можно посмотреть в нашем каталоге.

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

Современные цифровые пианино способны осуществлять подключение к другим устройствам посредством USB, MIDI и Bluetooth. Используя возможности подключения инструмента, можно организовать небольшую домашнюю студию, используя цифровое пианино в качестве MIDI-контроллера.

входы.jpg

Выбор идеального оборудования

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

Во-первых, вам понадобится кабель, который подключается непосредственно к клавиатуре. В зависимости от модели клавиатуры это может быть кабель MIDI-USB или USB-кабель типа A в B. Оба кабеля позволяют подключить клавиатуру к компьютеру, устройству Android или Apple для передачи MIDI-данных.

Большинство современных клавиатур имеют порт USB Type B, в то время как некоторые старые клавиатуры и инструменты профессионального уровня используют MIDI-соединение (выделенные порты MIDI In / Out).

Вы можете увидеть USB-порт типа A на клавиатуре, но его нельзя использовать для передачи MIDI-данных, вы можете только вставить флэш-диск для сохранения записей, используя внутренние звуки клавиатуры.

1460614635176754441.jpg

Типы разъемов

Если клавиатура поддерживает Bluetooth-соединение, то вам могут вообще не понадобиться какие-либо кабели.

Подключение к компьютеру

Подключиться к компьютеру очень просто, так как в этом случае вам понадобится только один кабель.

1) Если ваша клавиатура имеет порт USB типа B (он же USB-host), вам понадобится кабель USB A-B.

2.jpg

Кабель USB A-типа к B-типу

Подключите кабель следующим образом: тип B – к клавиатуре, тип А - USB-порту компьютера. Если в вашем Macbook нет обычного порта USB, то вместо кабеля USB A к B вам понадобится кабель USB C к B

2) Если на вашей клавиатуре нет порта USB типа B, она, скорее всего, будет использовать традиционные 5-контактные порты MIDI In/Out. Все, что вам нужно в этом случае, это интерфейс MIDI-USB.

3.jpg

Кабель MIDI к USB

Подключение следует производить следующим образом: USB типа A подключается к USB-порту компьютера, MIDI In кабеля - к порту MIDI Out клавиатуры, а MIDI Out кабеля - к порту MIDI In клавиатуры.

Обычно старые модели цифровых пианино имеют только MIDI In / Out порты, современные же, как правило, имеют порты MIDI и USB типа B.

Подключение к устройству iOS или Android

В работе с устройствами iOS и Android может возникнуть сложность подключения цифрового пианино, связанная с тем, что мобильные устройства не имеют полноразмерного USB-порта, поэтому появляется необходимость приобретения дополнительного адаптера, чтобы можно было использовать кабель USB A-B или интерфейс MIDI-USB.

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

Подключение к устройству iOS

Для подключения цифрового пианино к устройствам на платформе iOS необходим адаптер Lightning to USB Camera, который позволяет подключать клавиатуру через кабель USB A-B (или интерфейс MIDI-USB). Таким образом, вы используете два кабеля, что надежно, но выглядит немного громоздким.

4.jpg

Другим подходом может быть использование кабеля Lightning к USB-кабелю типа B. Преимущества такого подхода в том, что вам нужен только один кабель, а значит меньше соединений и меньшие траты. Однако этот метод не так надежен, как использование двух кабелей, плюс такой кабель непросто найти, и они имеют тенденцию легко выходить из строя.

5.jpg

Подключение к устройству Android

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

Для подключения клавиатуры к устройствам Android можно использовать следующие варианты.

1) OTG (он же «On-The-Go») кабель USB типа A к Micro USB (если устройство Android использует порт microUSB).

6.jpg

MicroUSB к USB Type A

2) OTG кабель USB типа A к типу C (если устройство оснащено USB-портом типа C).

7.jpg

USB Type C к USB Type A

В любом случае понадобится кабель USB A-B (или интерфейс MIDI-USB, если на клавиатуре есть порты MIDI In/Out), который подключается к клавиатуре. Другой конец (USB типа A) подключается к одному из вышеперечисленных адаптеров.

В качестве альтернативы вы можете подумать о покупке USB-кабеля типа C к B, который позволит подключиться к устройству Android (если оно использует порт USB типа C) без необходимости подключения второго кабеля (USB A к B).

Однако, если устройство Android использует порт microUSB, а не USB типа C, то в этом случае понадобятся два кабеля.

Подключение по Bluetooth

Если цифровое устройство поддерживает технологию передачи данных по Bluetooth, а цифровое пианино - нет, то существуют решения и этой проблемы.

Для цифровых фортепиано с выделенными MIDI In/Out портами можно использовать, например, беспроводной адаптер YAMAHA MD-BT01.

YAMAHA MD-BT01.jpg

YAMAHA MD-BT01 подключается непосредственно к MIDI-портам пианино и обеспечивает подключение Bluetooth, что позволяет обмениваться MIDI-данными со гаджетами так же, как если пианино изначально поддерживал Bluetooth.

Нужно что-то более совершенное?

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

Для устройств iOS, например, отлично подойдет MIDI-интерфейс, ALESIS I/O Dock II.

ALESIS IO DOCK II_2.jpg

Однако этот интерфейс может использоваться только с клавиатурой, имеющей MIDI In/Out порты. Он предоставляет возможность подключать дополнительно микрофоны для записи вокала, гитары, оркестровых инструментов и т. д.

Он также имеет два входа 1/4 ″, а значит позволяет записывать не только MIDI-данные, но и фактический аудиосигнал инструмента.

Если дополнительные функции вам не нужны, то можно использовать более экономичный портативный интерфейс, такой как IK MULTIMEDIA iRIG MIDI 2.

IK MULTIMEDIA iRIG MIDI 2.jpg

Он предоставляет возможность использовать Lightning или USB-соединения. Этот интерфейс включает в себя пакет бесплатных приложений, включая iGrand Piano и iLectric Piano.

IK MULTIMEDIA iRIG MIDI 2 имеет только MIDI In /Out/Through, а не порт USB типа A, поэтому его сложно подключить к клавиатуре, если вы не используете MIDI In/Out порты клавиатуры.

Нужно ли устанавливать драйверы?

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

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

Большинство цифровых пианино подключаются по принципу «включай и работай», что избавляет о необходимости вручную загружать и устанавливать драйверы. При подключении цифрового пианино к устройству iOS или Android не стоит беспокоиться о драйверах, поскольку они обычно не требуют их.

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

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

Используйте клавиатуру в качестве MIDI-контроллера

Теперь, когда вы подключили клавиатуру к «умному» устройству, пришло время немного узнать о MIDI. Итак, MIDI - это информация, читаемая компьютером, переводящая ноты и данные CC (Control Change) в музыку. Например, вы можете сыграть на пианино отрывок легато, а затем повторить ее во второй раз со стаккато.

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

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

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

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

Вы можете использовать цифровое пианино в качестве MIDI-контроллера для работы в различных приложениях, которые можно разделить на 4 категории.

По каким клавишам бить? Синтезаторы, цифровые фортепиано, midi-клавиатуры

Начинающим музыкантам легко потеряться в огромном ассортименте цифровых клавишных инструментов. Какие из них для каких задач подходят лучше всего? Вот основные критерии при сравнении:

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

Цифровое фортепиано. Для обучения, хобби и украшения интерьера

Обычно механика клавиш цифрового фортепиано взвешенная, она максимально похожа на настоящую — есть отдача молоточков, демпферный резонанс и т.п. Звучит такой аппарат почти как настоящее пианино, отчего и получил свое название. Количество тембров обычно невелико — в пределах 20–30 основных звуков: несколько видов фортепиано, орган и другие клавишные, иногда есть базовые оркестровые инструменты.

Цифровое фортепиано Casio Celviano AP-270BN имеет 22 тембра

Большинство цифровых фортепиано имеют полнооктавную клавиатуру с 88 клавишами. Полифония 64–128 звуков и выше, есть педали. Таким образом на них удобно играть классические произведения: от Баха и Моцарта до Шопена и Бетховена. Чаще всего присутствует режим обучения.

Продвинутые модели обладают секвенсором, позволяющим записать в формате MIDI собственные партии. Иногда присутствуют базовые эффекты — хорус и реверберация, но в целом элементов управления не очень много.

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

Минималистичные элементы управления Casio Privia PX-870BK

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

Синтезаторы. Для обучения и живых выступлений

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

Синтезатор начального уровня Denn DEK494 имеет всего 4 октавы, но 200 тембров и столько же стилей автоаккомпанемента.

Синтезаторы не укомплектованы стационарной стойкой, они весят значительно меньше цифровых фортепиано, что делает мобильнее — их удобно брать на репетиции и концерты. За компактность приходится платить меньшим количеством клавиш — чаще всего это 5 октав. Но зато у синтезаторов обычно есть дополнительные кнопки управления. Например, арпеджиатор, секвенсор и эффекты, необходимые при живом выступлении. А также почти всегда есть возможность подключить инструмент к компьютеру с помощью MIDI или USB.

Главное отличие синтезатора от цифрового фортепиано — это клавиатура. В большинстве синтезаторов она невзвешенная. Это позволяет играть супербыстрые партии, так как кнопки возвращаются в исходное положение почти мгновенно. Но классические партии исполнять не так удобно, а тем, кто окончил музыкальную школу, и вовсе придется переучиваться. К тому же, полифония у синтезаторов значительно скромнее — от 16 до 64 звуков одновременно. Но ведь синтезатор обычно и не покупается для обучения музыке по классическим канонам.

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

Профессиональный синтезатор CASIO CT-X5000 со взвешенной клавиатурой весит 7 кг

Midi-клавиатуры. Для домашней студии

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

Второе важное отличие — количество октав. Чаще всего их 2-3, иногда 4-5, больше — очень редко. Зато есть огромное количество дополнительных клавиш. Пэды, по которым можно настучать барабанные партии, элементы управления транспортом DAW: запись, воспроизведение, стоп, вперед-назад, колесики питча и модуляции, кнопки переключения октавы, различные программируемые крутилки и многое другое. Есть модели, у которых и вовсе одни лишь силиконовые пэды. Разумеется, MIDI-клавиатуры намного легче и мобильнее большинства синтезаторов.

MIDI-клавиатура M-Audio Oxygen 25 IV имеет всего 2 октавы, зато оснащена большим количеством дополнительных элементов управления

Механика клавиш чаще всего более продвинутая, чем в цифровых синтезаторах. Даже многие младшие модели могут похвастаться полувзвешенной клавиатурой. Оно и не удивительно: MIDI-клавиатуры — это профессиональные устройства, которые почти всегда есть в домашних студиях музыкантов и композиторов. Конечно, фортепианные партии классических произведений на MIDI-клавиатуре исполнить невозможно, но этого и не нужно. Основная задача устройства — быть помощником в студийной работе или в живых выступлениях.

Бывают MIDI-контроллеры и вовсе без привычных фортепианных клавиш - как AKAI PRO MPD218

image

В один из дней, возвращаясь домой, возле мусоропровода в подъезде я увидел старую детскую игрушку-синтезатор. Прошел мимо, так как брать с мусорки «грешно», но в душе захотелось утащить ее оттуда. Уже поздно ночью, где-то часа в 2 я решил посмотреть, не стоит ли она все еще там. И да, она все еще была там! С виду она был вполне целой и чистой, так что никакой брезгливости, чтобы не забирать ее не было. Так что да, я ее забрал.

Давно хотел себе пианино, я не профессиональный музыкант, но просто побаловаться — почему нет? Покупать что-то «ради побаловаться» меня «душила жаба», а тут — халявная игрушка. Когда я ее забирал с мусорки, то даже мысли не было пользоваться ей как детской игрушкой, была сразу мысль: «О-о-о…, хорошая база, чтобы попробовать сделать MIDI-клавиатуру».
Так как у меня уже есть некоторый опыт общения с профессиональными клавишными инструментами и MIDI-клавиатурами, то я сразу понимал все минусы моей идеи. То есть игрушка по факту так игрушкой и останется. На базе нее невозможно будет реализовать силу нажатия клавиш. Сами «легкие» пластиковые клавиши, которые к тому же еще и неполноразмерные не дадут возможности что-то на ней достойно исполнять.

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

После разборки пришло понимание, почему люди ее выкинули. У игрушки (не знаю от чего: от времени, от китайского качества комплектующих или жесткой эксплуатации) во-первых: развалились встроенные динамики, а во-вторых: в разъеме наушников торчал отломанный разъем от них, так что вытащить его не было практически никакой возможности. Наверное, после того как игрушка перестала играть встроенными динамиками, ей пользовались с наушниками, а потом после того как и там сломали разъем – просто выкинули.

Внутри игрушка-синтезатор состояла из трех плат, которые между собой были спаяны шлейфом проводов. Центральная плата, которая отвечала за генерацию звука и прочего, была сразу же отпаяна от двух других плат и отложена в сторону. На двух других платах находились контакты для кнопок на лицевой панели игрушки и непосредственно самих клавиш пианино. К ним я припаял разъемы PBS, тем более что шаг отверстий на платах как раз был 2.54 мм.



После этого я потратил пару часов на составление схем этих плат с клавишами. Как выяснилось, схема представляет простую матричную клавиатуру.


На картинке в желтых кружочках цифры – это номера контактов «горизонталей», а цифры на клавишах – номера контактов «вертикалей» в разъеме PBS-13 на плате клавиатуры.




После этого все это было закинуто в угол и пылилось целый год. И тут наступил период самоизоляции… Стало скучно и захотелось что-то поделать своими руками, тем более что ходить некуда, да и нельзя…

В итоге решил все-таки попробовать хоть немного доделать эту игрушку. В качестве основы для контроллера взята плата Arduino, а так как количество цепей клавиш больше, чем количество выводов Arduino UNO, то решил использовать сдвиговые регистры 74HC595 и 74HC165. В итоге получилась вот такая схема.


Схема была изначально собрана на беспаечной макетной плате. Для проверки работоспособности схемы (что нигде нет ошибок в соединениях) разработана тестовая программа, которая показала, что вроде как все работает. Алгоритм тестовой программы был простой: включается один из выходов микросхемы сдвигового вывода и считываются в цикле значения с микросхемы сдвигового ввода, нажимая при этом клавиши. На первый взгляд ничего не предвещало беды… и вроде бы все прекрасно работало…


Следующие несколько дней я не спеша занимался «домашним творчеством», а именно, аккуратно распаивал все компоненты платы на макетную плату. Собирал это все из того, что было у меня дома. В качестве управляющей платы взял Arduino NANO.


Такой «бутерброд» из плат обусловлен тем, что две платы игрушки (одна с кнопками, а вторая с клавиатурой) расположены на разном уровне и я, прежде чем паять все это подумал: «а нельзя ли это как-то соединить между собой, используя те компоненты, которые есть у меня дома, чтобы выглядело более или менее хорошо»? Так и получилась эта конструкция из двух плат, соединенных между собой разъемами. С моей точки зрения для домашнего варианта, когда сидим в самоизоляции, получилось достаточно хорошо. Пришлось только обрезать макетную плату и чуть-чуть доработать корпус игрушки, чтобы можно было подключать кабель USB в плату Arduino.


Осознание что устройство работает не совсем так, как я хотел, пришло тогда, когда доработал тестовую программу. Алгоритм был простой: по очереди включить каждый выход микросхемы 74HC595, считав при этом состояние входов у микросхемы 74HC165, и записать результат в отдельные переменные. Всего на клавиатуру подключено 5 выходов 74HC595, поэтому в итоге я получил 40 бит (5*8) данных после этого опроса. Строка из 40 бит выводилась в консоль, и нажимались клавиши, чтобы посмотреть, как устройство обрабатывает одновременные нажатия нескольких клавиш.


Тут-то и всплыла проблема: если нажимать по одной клавише, то все было отлично, но при попытке нажать более 2-х клавиш одновременно возникала ситуация, когда невозможно было предугадать, что будет прочитано. Результат мог быть правильным при одном сочетании, а при другом мог быть совсем непредсказуем. Проблема была в том, что не была учтена особенность данной схемы. При нажатии нескольких клавиш одновременно происходит замыкание не только нескольких вертикалей сканирования клавиатуры (это допустимо), но и могут быть замкнуты через клавиши несколько горизонталей (что никак не допустимо). Более подробно об этой проблеме и о способах ее решения можно почитать вот здесь.

Я выбрал «кардинальное решение» проблемы, а именно: решил, что на каждую клавишу в клавиатуре будет поставлено по диоду.

В голове я уже мысленно начал думать, как мне придется перерезать дорожки на плате и ставить в разрыв диод в SMD корпусе. Залез в свои запасники и увидел, что диодов в SMD корпусе в таком количестве у меня просто нет (не забываем, что все мы сидим на самоизоляции и поход в магазин за радиодеталями не очень возможен – так как это точно не предметы первой необходимости). Немного расстроившись, решил более внимательно посмотреть на плату: может быть есть возможность поставить на часть дорожек выводные диоды (их тоже какое-то количество у меня было). И тут я увидел, что у каждой клавиши, есть перемычка (плата односторонняя) и схема сделана так, что вместо этой перемычки можно поставить по диоду. Сразу же подумалось – даже и ничего резать не надо, надо только везде поставить вместо перемычек выводные диоды. Такого количества выводных диодов у меня тоже не было. В голове мелькнула мысль: «а может быть поставить светодиоды»? Работа схемы идет на уровне +5V и если поставить красные светодиоды, у которых минимальное падение напряжения (среди светодиодов), то в итоге должно хватать логического уровня для правильного определения: нажата клавиша или нет.


С этой мыслью я снова полез в свои запасы и выгреб откуда только можно было красных светодиодов. Их оказалось ровно столько, сколько клавиш на клавиатуре! Это знак, подумал я, и впаял для пробы несколько светодиодов вместо перемычек. Результаты тестирования показали, что решение рабочее. После этого запаял остальные светодиоды вместо перемычек. Тестовая программа показала, что можно нажать хоть все клавиши одновременно, и они все считываются правильно.


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

Настало время разобраться с тем, как сделать, чтобы это устройство виделось в компьютере как MIDI-клавиатура и в каком формате нужно отправлять данные.

Информация, найденная в интернете, говорила мне о том, что можно из Arduino сделать MIDI-клавиатуру очень легко и просто, если залить в нее прошивку, которая заставит компьютер видеть ее не как COM-порт, а именно как MIDI-клавиатуру. Изначально я на это решение и ориентировался, особо не вдаваясь в то, как оно реализовано.

Теперь, когда я добрался до него и внимательно прочитал, то понял, что моя плата Arduino NANO не подойдет для этого решения, так как у нее COM порт был реализован на базе микросхемы CH340. Для использования прошивки по ссылке выше подойдут только те платы, где USB-порт уже есть на контроллере (например: AtMega32u4) или же общение по COM-порту сделано не на микросхемах преобразования типа FT232RL и им подобным, а на микроконтроллерах AtMega. Поэтому прошивка в плате должна отдать данные в формате MIDI в COM порт, а на компьютере придется установить и настроить программное обеспечение, которое будет эти данные перехватывать и передавать в виртуальный MIDI-порт.
Алгоритм считывания клавиш и формирования MIDI-команд у меня получился следующий:


Программа для контроллера Arduino NANO выглядит сейчас так.

Нет смысла расписывать подробно, как работать с MIDI данными, потому что это можно прочитать здесь.

Остановлюсь чуть более подробно на программном обеспечении для компьютера и тех проблемах, с которыми я столкнулся. Проблемы возникли, просто из-за отсутствия нормальной документации на это программное обеспечение. Итак, для того, чтобы компьютер успешно мог принимать MIDI-данные с такого устройства как у меня, понадобится две программы: loopMIDI и Serial-Midi Converter. Для программы Serial-MIDI Converter дополнительно нужно установить Java, если на компьютере она не установлена.

Запускаем программу loopMIDI и создаем два виртуальных порта. Я назвал их «Arduino IN» и «Arduino OUT». Эта программа как раз и будет виртуальным MIDI-устройством.


Далее запускаем Serial-MIDI Converter и при запуске проходим процесс ее настройки. К сожалению, это приходиться делать каждый раз при запуске, но это не очень страшно, делается буквально в четыре нажатия на клавиатуре. Номер COM-порта может быть другой, он появляется на компьютере при подключении платы Arduino NANO. Скорость порта задается в прошивке Arduino NANO. Красными стрелками обозначены мои параметры, при которых у меня все работало.


Собственно на этом процесс настройки завершен и можно уже использовать какое-либо программное обеспечение, которое будет воспроизводить звуки, принимая нажатия клавиш от устройства. В настройках программного обеспечения необходимо выбрать в качестве входа «Arduino_OUT». На картинке ниже пример настройки Kontakt Player.


Работает в конечном итоге это вот так:

Что дальше? А дальше все произошло именно так, как я и ожидал – игрушка остается игрушкой ровно со всеми теми недостатками, о которых я упоминал в самом начале. Наверное, ребенку поиграть на таком будет в кайф, но вот взрослому человеку, после нормальных клавишных инструментов… Проще купить достаточно дешево любую MIDI-клавиатуру б/у и она будет на порядок лучше этой игрушки. Я решил оставить эту игрушку как она есть, но сделать некоторые модификации с ней:

  1. Оставить оригинальный корпус.
  2. Поставить исправные динамики и сделать усилитель для них.
  3. Сделать так, чтобы она работала в режиме «детской игрушки» без подключения к компьютеру, то есть, чтобы сама могла играть звуки.
  4. Сделать возможность подключения FootSwitch (та самая педаль на пианино внизу), чтобы можно было сделать удержание звука после отпускания клавиш, как на нормальном инструменте.
  5. Добавить в прошивке поддержку клавиш, которые сейчас не опрашиваются и не задействованы.
  6. Подключить в схему переменный резистор, который остался физически на панели игрушки-синтезатора, и добавить его функциональность в прошивку.

Реализацию большинства пунктов, пока все мы дружно «сидим дома», сделать не могу, так как у меня дома просто нет всех требуемых компонентов для этого.

Для реализации пункта 3 в интернете было найдено решение под названием SamplerBox. Суть проекта в том, что можно подключать любую MIDI-клавиатуру к плате Raspberry Pi, которая обрабатывает MIDI-команды с клавиатуры и воспроизводит звуки или переключает инструменты и т.д. Остается только поставить плату Raspberry Pi внутрь корпуса игрушки, без возможности замены SD-карты (не разбирая корпус), настроить кнопки на корпусе игрушки так, чтобы они переключали инструменты и этого будет достаточно, чтобы оставить этот проект в таком виде.

Читайте также: