Миди клавиатура своими руками

Добавил пользователь Валентин П.
Обновлено: 04.10.2024

Небольшой ликбез по миди-конроллерам

Midi-контроллер (от английской аббревиатуры “MIDI” – обозначение интерфейса, используемого в программах) – устройство, позволяющее расширить возможности компьютера в плане midi-коммуникации.

Что позволяют делать данные устройства?

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

Что нужно делать, чтобы у вас появилась самодельная миди-клавиатура?

Начнем с того, что на вашем компьютере должен быть установлен секвенсор. (Все нюансы будут рассмотрены на примере секвенсора Fl Studio и программы-эмулятора Vanilin MIDI Keyboard – одной из самых популярных в своем классе).

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

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

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

Как сделать midi клавиатуру

  • Как сделать midi клавиатуру
  • Как использовать midi-клавиатуру
  • Как подключить midi-клавиатуру
  • - компьютерная клавиатура;
  • - неработающий синтезатор/электропианино;
  • - паяльник.

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

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

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

MIDI-клавиатуры, описания которых опубликованы в [1—3], относятся к разряду статических. Они не реагируют на силу нажатия на клавиши исполнителем, что в значительной степени снижает выразительность звучания. Предлагаемая конструкция — динамическая. В ней предусмотрено косвенное измерение силы нажатия — по времени перемещения клавиши из одного положения в другое. Устройство способно обслуживать 16 каналов формирования звука, 128 инструментов. Можно смещать музыкальный строй на три октавы вверх или вниз, управлять громкостью, панорамой и одновременно оперировать тремя различными контроллерами. Клавиатура позволяет посылать команды сброса звучащих нот, контроллеров и всей системы. К ней можно подключить педали "Sustain", "Sostenuto" и "Soft", которые дублированы кнопками на панели управления.

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

Тактовый генератор на 8 МГц выполнен на элементах DD1.1— DD1.3. С выходов двоичного счетчика DD5 синхронизирующие импульсы необходимых частот поступают на микросхемы микропроцессора DD4, адаптера последовательного интерфейса DD9 и контроллера клавиатуры (пульта управления) и дисплея DD10. Микросхема DD8 служит дешифратором адреса. Она формирует сигналы выбора различных периферийных устройств и памяти. Низкий логический уровень на выходе дополнительного дешифратора — микросхемы DD2 — разрешает работу узла опроса состояния клавиш, состоящего из дешифратора DD3 и мультиплексоров DD6 DD7.

Схема одной клавиши показана на рис. 2.

В отличие от большинства других конструкций она снабжена не нормально разомкнутой, а переключающей группой контактов SB1. Это позволяет по размыканию цепи А—В фиксировать начало, а по замыканию цепи А—С — завершение процесса нажатия на клавишу исполнителем. Чем интенсивнее нажатие, тем меньшим будет интервал между этими событиями. Диоды VD1 позволяют микропроцессору избежать логических ошибок при опросе. Хотя программа микропроцессора DD4 рассчитана на обслуживание 64 клавиш, в реальной конструкции их всего 60 и подключены они к выводам микросхем DD3, DD6, DD7 согласно табл. 1.

Клавиши условно объединены в четыре группы, в каждой из которых цепи В и С связаны с одними и теми же выводами микросхем. Это позволило выполнить неподвижные контакты в виде струн, натянутых параллельно вдоль клавиатуры с зазором примерно 4 мм. В результате подвижные контакты всех клавиш при нажатии "проходят" одинаковые расстояния, что важно для точного измерения времени переключения. В исходном режиме работы клавише 1 соответствует нота ДО большой октавы, 60 — СИ третьей октавы.

Узел опроса состояния кнопок управления SB4—SB25 и управления светодиодными индикаторами HG1— HG4 собран на микросхеме К580ВВ79 (DD10), включенной по стандартной схеме. Это освободило микропроцессор DD4 от выполнения многих рутинных операций. Определив, что нажата одна из кнопок SB4—SB8, SB11—SB25, микросхема DD10 сообщает об этом сигналом на своем выходе INT, соединенном со входом В3 мультиплексора DD7. Получив в процессе опроса клавиатуры этот сигнал, микропроцессор считывает из выходного регистра микросхемы DD10 код нажатой кнопки. Считанное значение зависит и от того, была ли нажата одна из функциональных кнопок SB9 " Alt 1" или SB 10 "Alt2".

Диоды VD2—VD5 служат для развязки выходов SO—S3 микросхемы DD10 коммутирующих также анодные цепи индикаторов HG1—HG4. Шинный формирователь DD11 — усилитель сигналов управления катодными цепями этих индикаторов. Выходные сигналы MIDI интерфейса формирует по командам микропроцессора DD4 контроллер последовательного интерфейса DD9, тактируемый частотой 31,25 кГц.

Клавиатуру питают напряжением 5 В от блока, состоящего из понижающего трансформатора мощностью 5. 6 Вт, диодного моста КЦ407А, сглаживающего конденсатора емкостью 1000 мкФ и интегрального стабилизатора КР142ЕН5А, соединенных по стандартной схеме. Потребляемый ток не превышает 0,5 А. Схема цепей питания блока управления клавиатурой показана на рис. 3, причем нумерация элементов на ней продолжает начатую на рис. 1.

Напряжение 5 В от внешнего блока питания через разъем ХР1 подается на все микросхемы, при этом вывод 12 микросхемы ОЗУ DS3 связан с общим проводом через открытый диод VD6 а аккумуляторная батарея GB1 подзаряжается. Ток зарядки ограничен резистором R28. После отключения внешнего источника питания батарея остается соединенной с выводами питания микросхемы DS3, чем гарантируется сохранность находящихся в ней данных. На все остальные микросхемы напряжение батареи не поступает, так как диод VD6 в этом режиме закрыт.

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

Элементы блока управления размещены на трех печатных платах, установленных внутри корпуса. Первая из них — "системная". На ней находятся микропроцессор DD4 с цепями сброса, синхронизации и управления, микросхемы ОЗУ и ПЗУ, контроллер последовательного интерфейса DD10. Розетки XS1 и XS2 выведены на заднюю панель корпуса. Вторая плата — пульт управления с кнопками SB4—SB25, светодиодными индикаторами HG1 — HG4 и микросхемами DD10, DD11. Кнопки SB1—SB3 установлены отдельно. На третьей плате находятся микросхемы DD3, DD6, DD7 и резисторы R7—R14. Она размещена таким образом, чтобы длина проводов, идущих к контактам клавиш, была минимальной. В противном случае неизбежны проблемы с наводками и помехами. Разделительные диоды (VD1 по схеме, приведенной на рис. 2) размещены непосредственно у контактов клавиш. Все узлы соединены между собой с помощью многопроводных плоских шлейфов и разъемов серии IDC.

При повторении устройства транзисторы VT1—VT6 можно заменять любыми маломощными соответствующей структуры, а микросхемы — функциональными аналогами из других серий, в том числе импортными. Например, К580ВВ79 — на i8279. КР580ВВ51 на i8251. К537РУ10 — на 6116, К573РФ5 — на К573РФ2 или 2716. Микросхемы ПЗУ рекомендуется устанавливать в панели. Аккумуляторная батарея GB1 на 3,6 В — от компьютера, но подойдут и три элемента Д-0.06, соединенных последовательно.

После сборки и проверки правильности монтажа необходимо подключить к клавиатуре через миллиамперметр блок питания и убедиться, что потребляемый ток не превышает указанного выше значения. Затем следует проверить работоспособность тактового генератора и измерить частоту импульсов на выходах делителя DD5. При номинальном напряжении питания логический уровень на выводе 26 микросхемы DD4 должен быть высоким, сменяясь низким при уменьшении напряжения примерно до 4,6 В. Когда внешнее питание отключено, а батарея GB1 заряжена, напряжение между выводами 24 и 12 микросхемы DS3 должно составлять 3. 3,6 В, а между выводами питания других микросхем — отсутствовать. В остальных узлах достаточно проверить отсутствие обрывов и замыканий. После того, как устройство заработало и по интерфейсу MIDI пошла информация, поочередно нажимая на каждую кнопку и клавишу, проверяют их работу и при необходимости регулируют контакты.

Перед тем как рассказать о правилах работы с клавиатурой, остановимся на некоторых особенностях программного обеспечения. Микропроцессор, прежде всего, задает начальные значения системных переменных, настраивает контроллеры КР580ВВ51 и К580ВВ79. Затем он проверяет текущий канал формирования звука и передает по MIDI-интерфейсу команды его настройки. На этом инициализация заканчивается и начинается циклический опрос клавиш.

Если зафиксировано изменение состояния (например, размыкание нормально замкнутой цепи какой-либо клавиши), в ОЗУ запоминаются номера клавиши и цикла, в котором это произошло. После замыкания нормально разомкнутой цепи той же клавиши будет вычислена и передана по MIDI интерфейсу пропорциональная скорости нажатия разность номеров циклов. В программе приняты меры, исключающие обработку незавершенных действий, когда, например, клавиша была отпущена, не дойдя до "нажатого" состояния. В каждом цикле опрашиваются все клавиши и проверяются состояния педалей и кнопок пульта управления. При необходимости обрабатываются поступившие команды.

Распределение адресного пространства микроконтроллера следующее: 0000H-07FFH — ПЗУ (DS1); 0800H-0FFFH — ПЗУ (DS2); 1000Н—27FFH — свободно: 2800Н—2FFFH — контроллер последовательного интерфейса (DD9), используются только адреса 2800Н и 2801Н. 3000Н—37FFH — контроллер клавиатуры и дисплея(DD10) используются только адреса 3000Н и 3001Н; 3800Н—3FFFH — ОЗУ (DS3); 4000Н—0FEFFH — свободно; 0FF00H—0FF0FH клавиши; 0FF10H—0FF1FH — педали и сигнал INT DD10; 0FF20H-0FFFFH — не используется.

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

Для выбора команды нажимают на соответствующую кнопку, в некоторых случаях вместе с кнопками SB9 ("Alt1") или SB10 ("Alt2"). Числовые значения вводят, начиная с разряда сотен. В нем могут находиться только цифры 0 или 1. В противном случае в этом разряде светодиодного индикатора (табло) появится знак "-", а значение будет интерпретировано программой как нулевое. После сотен вводят цифры десятков и единиц. Если набранное значение превышает максимально допустимое для большинства команд 127 (исключение — номер канала, который должен находиться в пределах 1 — 16), на табло будет выведено ">127", а нажатие на кнопку SB25 "Enter" не приведет к передаче команды. Ее набор придется повторить с самого начала.

Полный исходный текст программы MlDI-клавиатуры. >
Прошивка ПЗУ >

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

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

5. Итак, запоминаем некоторые важные моменты:

6. Не ленитесь поискать нужную вам информацию. Все зависит от вашего желания и стремления. Если у вас нет оных, вам уже никто не поможет! Перед тем как задать вопрос по работе вашего инструмента, изучите "Руководство пользователя" хотя бы первых три-пять страниц - это будет огромным прорывом к познанию неизведанного! :-) Используйте встроенный поиск на сайте!

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



Рис.2. Схема MIDI-клавиатуры


Рис.3. Пульт управления.

Назначение кнопок:
Кнопка SET - Позволяет загрузить или сохранить в EEPROM состояние инструмента, всего 10 программ. Дисплей индицирует Pr-х, где х это номер программы (0. 9). Выбор программы осущетствляется кнопками +1/-1 Загрузка осуществляется нажатием кнопки SET еще раз, а сохранение нажатием кнопки START, а потом еще раз кнопки SET.
Кнопка START - запускает, а повторным нажатием останавливаем внешний синтезатор. Дисплей высвечивает Strt или StoP.
Кнопка MIDI - Включает режим изменения канала циклически для трека А и трека В. Дисплей высвечивает Acxx или Bcxx, где xx-номер MIDI канала 1-16.
Кнопки -1 и +1 - Увеличивают или уменьшают на единицу значение на дисплее. Не влияют на режим VOLUME и START
Кнопка SPLIT - Позволяет выбрать границу разделения клавиатуры на трек А и В. Дисплей высвечивает SPxx - где хх номер последней клавиши трека А. Чтобы произошло изменение границ не обязательно нажимать кнопки +1/-1, а достаточно нажать клавишу на клавиатуре, эта клавиша и будет последняя в треке А. Дисплей покажет новое значение границы.
Кнопка MOD - Изменяет глубину модуляции (25%,50%,75% и 100%). Дисплей отображает LF и цифры 1-4, 1 соответствует 25%, а 4-100% глубине.
Кнопка PITCH - Изменяет скорость подтяжек Pitch Band. Дисплей высвечивает Pb и числа от 1 до 4. 1-скорость минимальная, 4-максимальная.
Кнопки A VEL и B VEL - Эти кнопки задают силу нажатия на клавишу (можно сказать громкость) для каждого трека соответственно. Дисплей высвечивает Axxx и bxxx, где xxx - число от 0 до 127.
Кнопка VOLUME - На этот режим не влияют кнопки +1/-1. Этот режим служит для индикации уровня громкости. Вращая движок переменного резистора дисплей должен отобразить все 32 уровня (0..31). Громкость изменяется сразу для обоих треков. Дисплей индицирует Ldxx, где хх уровень громкости.
Кнопка COM - Самый "загадочный" и редкий режим для MIDI-клавиатур, режим COMBY. Данный режим позволяет при нажатии клавиши трека А, воспроизводить ноту одновременно из трека А и трека В! Т.е. как бы наслаивать два звуковых образца имеющихся в подключенном синтезаторе. Дисплей индицирует C.-(On/OF) - On - СOMBY включен, OF - выключен. Клавиши "сидящие" в треке В, извлекают звук только трека В и никак не связаны с треком А.
Кнопка TRANS - Транспонирование - смещение строя клавиатуры, дисплей отображает t(-12..0..12) 0-транспонирования нет, знак минуса показывает, что смещение идет вниз, отсутствие знака - вверх. Смещение осуществляется на один полутон, т.е. строй может быть сдвинут на октаву в любую сторону. Смещение происходит сразу обоих треков.
Кнопки OCT A и OCT B - Эти кнопки изменяют строй сразу на октаву, причем в отличии от предыдущей кнопки, независимо для каждого трека. Дисплей отображает Ao или bo и смещение (-1,0,+1). Т.е. смещение может быть на октаву вверх или вниз. Совместно с кнопкой транспонирования строй может быть смещен на 2 октавы вверх или вниз. Кроме кнопок пульта управления в инструменте имеются еще и кнопки оперативного управления: Расположены они слева клавиатуры.
Кнопка MODULATION - включает амплитудную модуляцию звука, действует на оба трека. Модуляция отключается при отпускании этой кнопки.
Кнопки Pitch+ и Pitch- - вызывают плавное смещение строя (подтяжку) вверх или вниз.При отпускании этих кнопок смещение возвращается в исходное состояние. Дополнительно к инструменту можно подключить педаль SUSTAIN, это может быть любая педаль с нормально разомкнутыми контактами. При нажатии на педаль происходит задержка реакции на MIDI-команды Note Off, действует на все звучащие ноты. Аналог педали на обычном фортепиано.


Корпус инструмента (рис.4) изготовлен из выброшенной кем то тумбочки. Как раз она оказалась удачных размеров, что пилить много не пришлось. Внутри жестко закреплена клавиатура, печатные платы, блок питания и гнезда. Соединения между платами и клавишами выполнены монтажным проводом во фторопластовой изоляции. Провода увязаны в жгуты. В качестве панели управления использован кусок оргстекла, в качестве кнопок - светодиоды. На передней панели установлены, пульт управления с дисплеем, кнопки оперативного контроля, регулятор громкости, выключатель питания и индикатор сети. На задней панели гнезда MIDI OUT и педали SUSTAIN, выведен сетевой шнур питания и установлен держатель предохранителя.


Инверторы могут быть любыми из ТТЛ микросхем. Насчет оптронов не знаю, мною проверены АОТ127 и АОТ110.

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