Как из детского синтезатора сделать миди клавиатуру. Динамическая MIDI клавиатура на PIC16F84. История создания устройства

Мне давно хотелось разбудить в себе композитора и начать творить свою собственную электронную музыку. Однако я был (мягко говоря) обескуражен высокими ценами на MIDI контроллеры. Но порыскав по просторам интернета у меня появилась задумка создать собственный контроллер, используя для этого Arduino Uno и токопропроводящие краски!

Давайте начнём)

Шаг 1: Подбор деталей

Вы можете слегка отойти от изложенного материала и собранный вами MIDI контроллер все равно будет работать (под «слегка отойти» имею ввиду, что можете установить резистора с чуть-чуть другим номиналом или оставить один из выводов отключенным).

С электроники нам понадобится:

  • 1 Arduino Uno с usb кабелем;

  • 1 баночка токопроводящей краски;

  • 1 монтажная плата размерами 5×7 см;

  • 3 кнопки;

  • резисторы с сопротивлением 2.2 кОм;

  • 1 светодиод;

  • резисторы с сопротивлением 10кОм;

  • 1 LDR сенсор;

  • резисторы с сопротивлением 4.7кОм;

  • 1 перемычка;

  • 12 шт 2.7 MОм резисторов;

  • 30 прямых штырей;

  • 12 согнутых штырей;

  • 12 переходников;

  • 12 скрепок.

Кроме электроники, также потребуются следующие инструменты:

  • Паяльник и припой;
  • Кусачки;
  • Подставка для пайки деталей (третья рука);
  • Мультиметр;
  • Несколько проводов и/или тонкая металлическая проволока.

Шаг 2: Припаиваем штыри

Создание платы начнём с припаивания штырей. Разместим согнутые штырьки в центре первого ряда на плате. Они в последующем будут служить «чувствительными» выводами, к которым будет подсоединяться клавиатура.

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

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

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

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

Шаг 3: Напаиваем перемычки

Теперь удалим плату с Arduino и перевернём её на обратную сторону. Напаяем перемычки, на которые в дальнейшем будут крепится компоненты. Есть два способа сделать это:

  • Заполнить все необходимые отверстия припоем, а после соединить их друг с другом.
  • Использовать тонкую проволоку.

Советую использовать второй метод, поскольку он проще и быстрее. Если вы выберете этот метод, расположите проволоку на плате, как на изображении.

  • Красная точка означает — припаиваем провод в отверстие.
  • Желтая точка — соединяем тонкую проволоку со штырём на другой стороне платы (как на третьем изображении).

Как вы можете видеть, немного испортил нижний левый угол, когда нанёс слишком много припоя, поэтому будьте внимательны!

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

Шаг 4: Припаиваем сенсорно-ёмкостные резисторы

Устанавливаем компоненты, а именно 2.7 MОм резисторы , которые будут выполнять сенсорно-ёмкостные функции.

Примечание: Если вы хотите узнать больше о теоретических основах и практическом применении сенсорно-ёмкостных датчиков, советую ознакомится со следующими ссылками:

Расположим один 2.7 MОм резистор снизу самого правого согнутого штыря и протолкнём ножки через отверстия (как на первом изображении). Теперь перевернём плату и протолкнём один вывод резистора обратно в следующее отверстие (как показано на втором изображении). Припаяем нижнюю ногу резистора к отверстию, а верхнюю ногу резистора к выводу штыря. После чего прикрепим 7 cm провод на этот штырь (как видно с третьего изображения).

Повторим процесс со всеми резисторами и проводами, припаяв их на места. Нижнее ножки резисторов должны сформировать одно длинное соединение.

Совет : Выбирайте чередующееся цвета для проводов — это позволит проще производить соединение в последующих шагах.

Шаг 5: Припаиваем кнопки

Начнём с размещения кнопок и резисторов на плате, как на первом и втором изображениях. В моём случае использовал 2.2 кОм резисторы , но можно использовать любой резистор со значением между 2кОм и 10кОм.

Перевернём плату и припаяем всё на свои места. Изображение 3 объясняет, какие различные соединения вам нужно будет сделать:

  • синяя точка – обозначает ножку кнопки, что необходимо припаять на плату;
  • розовaя точка – обозначает ножку резистора, которую необходимо припаять на плату;
  • красная линия означает — вам следует спаять две точки в одно соединение;
  • чёрная линия обозначает провод, что будет идти от одной ножки кнопки через отверстие в плате, что потом соединится со штырём на другой стороне.

Если всё спаяно правильно, две самые левые кнопки позволят изменять октавы , в то время как самая правая кнопка позволит включать LDR сенсор.

Шаг 6: Припаиваем LDR и LED

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

Совет: Любой резистор в интервале между 330 Ом и 5 кОм будет хорошим решением для 5 mm LED.

Теперь расположим LED, LDR и резисторы (4.7 K для LDR ) в нужных местах. Перевернём плату и припаяем всё. Третье изображение пояснит, какие различные соединения следует выполнить:

  • коричневые точки – выводы LDR, что следует припаять на плату;
  • розовая точка – ножка резистора, что следует припаять на плату;
  • оранжевые точки – выводы LED, что необходимо припаять на плату;
  • красная полоса – вам нужно спаять две точки в одно соединение;
  • чёрная полоса – провод, что будет идти от вывода резистора через отверстие платы, что потом будет соединяться со штырём.

Примечание: Перед припаиванием LED, убедитесь в том, что полярность светодиода верная. Положительный вывод LED следует соединить с резистором, а отрицательный вывод с землей.

Шаг 7: Тестируем все соединения

Сейчас хорошее время протестировать удачно ли пропаяны соединения кнопок, LDR и LED. Это последняя возможность исправить ошибки, советую вам загрузить прикрепленный код и запустить программу. и загрузите Arduino_Test_Fixture_Code на плату Arduino.

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

Шаг 8: Завершение работы с платой

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

Перевернём плату и отрежем провода нужной длины. Припаяем их к штырям, что заходят в разъемы Arduino. Прежде чем начать использовать MIDI контроллер, сначала нужно протестировать его соединения с помощью тестового скетча . Загрузите скетч, откройте последовательный порт и прикоснитесь к «чувствительным» штырям на плате. Если вы увидите текст ‘Note x is active’ для каждого штыря, во время касания, все выводы работают корректно.

Шаг 9: Преобразуем Arduino в MIDI устройство

После того, как плата готова, пришло время преобразовать Arduino в MIDI контроллер, который будет распознаваться музыкальными программами, такими как Ableton и Fl Studio или даже другими MIDI устройствами. Процесс состоит из двух шагов:

  1. Изменить текущие встроенные программы на Arduino Uno на MIDI совместимые программы;
  2. Загрузить MIDI скетч на Arduino.

Начнём с первого пункта. По условию в Arduino загружена прошивка usb-последовательный порт , что позволяет Arduino обмениваться сообщениями с ПК и Arduino IDE. С новой программой DualMoco , добавиться второй режим, что позволит Arduino выступать в роли MIDI устройства .

Будем использовать программу FLIP и следуя инструкции изменим прошивку Arduino. Работоспособный файл вы найдете в архиве в папке Firmware — файл DualMoco.hex.

После загрузки новой прошивки, переподключите Arduino к ПК. Если всё пройдёт успешно, Arduino не должен будет обнаруживаться Arduino IDE, потому что новая программа находится в режиме (MIDI mode ). Откройте музыкальную программу, что способна записывать MIDI и проверьте, чтобы Arduino с именем MIDI / MOCO for LUFA отображалась над MIDI настройками, как вы можете видеть на 1-ом изображении.

Шаг 10: Производим последнее приготовления

Особенность DualMoco в том, что у неё есть второй режим — usb-последовательный порт , что позволяет загружать скетчи с Arduino IDE, точно также, как при обычной прошивке. Чтобы перевести Arduino во второй режим, соедините два ISCP вывода вместе, как показано на 1 и 2 изображении. Вы можете либо использовать кусочек провода или маленькую перемычку, как показано на изображениях. Теперь отключите USB кабель на несколько секунд от Arduino и переподключите его, Arduino должен обнаружится в Arduino IDE.

Примечание: Когда вы захотите переключится из режима usb- последовательный порт в MIDI режим, удалите перемычку с ISCP выводов, как показано на третьем изображении и переподключите Arduino к ПК.

Пришло время загрузить действующий скетч в Arduino, Arduino_ Final_ Code . Скачайте его, переведите Arduino в usb последовательный порт режим и загрузите код. Если необходимо точная настройка пороговой величины, поэкспериментируйте со значениями THRESHOLD и RES . После того, как все заработает, как и ожидалось, поменяйте текущую строку 17, с:

boolean midiMode = false; // if midiMode = false, the Arduino will act as a usb-to-serial device

boolean midiMode = true; // if midiMode = true, the Arduino will act as a native MIDI device.

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

  1. Загрузим финальный код в Arduino.
  2. Извлечем USB кабель с Arduino.
  3. Переключим Arduino в МIDI режим удалив перемычку с выводов ISCP.
  4. Установим USB кабель в Arduino.

Если всё прошло успешно, откройте музыкальную программу и начните прикасаться к штырькам. Магические звуки должны зазвучать….

Шаг 11: Припаиваем скрепки на джампепы

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

Процесс припайки скрепок к проводам довольно прост:

  1. Отрезаем штекер с одной стороны провода;
  2. Зачищаем провод от изоляции на 5 мм;
  3. Припаиваем зачищенный провод к скрепке;
  4. Повторяем для всех 12 скрепок.

Примечание: Скрепки не должны быть покрыты никаким покрытием (краской или пластиком).

Шаг 12: Закрашиваем шаблон

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

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

Спасибо за внимание!)

Так как и я, и моя жена были в детстве обучены нажимать на клавиши, то дома явно не хватало некоего устройства с черными и белыми клавишами для передачи опыта нажатия на оные подрастающему поколению. Увы в маленькой "однушке" не то что "Стенвею" - простому "Красному октябрю" не было места. Выход был найден - MIDI клавиатура! Тем более, что попытки сделать самому нечто подобное предпринимались еще на заре моего "радиогубительства". Опять же из за нехватки места было решено ограничиться для начала 4 октавами. Да и финансы не позволяли прикупить какой нибудь "Роланд".

Немного поискав в интернете я наткнулся на объявление о продаже за 50 вечнозеленых девайса под названием Fatar 49. Поискав все в той же паутине нашел описание этого чуда.

MIDI клавиатура Fatar StudioLogic CMK 49

  • 4-октавная, полноразмерная, динамическая (чувствительная к скорости нажатия), невзвешенная; 49 клавиш
  • Разъемы MIDI выход, к нему подключается штекер с надписью "IN"
  • Питание Адаптер питания может не входить в комплект поставки.
  • Нужный адаптер питания - 9В, 0.5А. Внутренний контакт "+", внешний "-".
  • Размеры внешние 75.2 х 15 х 8 см
  • Вес 2 кг

Семейный совет постановил - БЕРЕМ!!! Прежний владелец продемонстрировав что она работает даже приложил к ней адаптер питания. MIDI шнурок у меня уже был (запас давно как чуствовал). И вот привезя домой и подключив ее к компьютеру, я наконец смог вспомнить детство. И... понять что за 15 лет все забыто почти полностью.

В просторах сети была добыта очень интересная программа "Play Piano" компании Midisoft. Она может практически любого научить играть. Она следит за правильностью игры и указывает на ваши ошибки, как хороший преподаватель. Жаль только что за это время так и не удалось найти чего-нибудь похожего, но поновее (программка 96-го года).

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

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

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

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

Работа

Конфигурация получилась самая что ни на есть примитивная для нынешних времен:

  • CPU: Pentium MMX 166 MHz разогнаный до 200
  • RAM: SDRAM PC100 128 Mb
  • HDD: Coner 340 Mb
  • VIDEO: TRIDENT
  • AUDIO: Onboard Yamaha OPL3
Но для обработки MIDI слабое место здесь только звуковая карта. Для корпуса пришлось прикупить 4 мебельных щита 800х200х20.

Потратив половину выходного дня получил вот такой агрегат:

Сверлим отверстия для кнопки включения и индикаторов "Power" и "HDD".

Вставляем клавиатуру.

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

Все пустые гнезда шасси закрываем красивыми блестящими заглушками.

Прикручиваем корзину HDD c диском к корпусу.

Подключаем блок питания и все остальные шлейфы и провода

Операционка была установлена заранее. На такой объем удалось поставить только Win98. Подключаем монитор, клавиатуру и мышь. Убеждаемся, что все работает.

Теперь переходим к акустике. Раньше все шло через компьютер, который был подключен к хорошему усилителю и который, в свою очередь, был подключен к приличным колонкам. В объем нового устройства все это не впихнешь. Да и нет смысла. Для такой звуковой карточки хватит чего-нибудь попроще. Опять ныряем в запасники и достаем вот такую (если можно так сказать) акустическую систему:

Разбираем ее и видим внутри:

Да уж, но на безрыбье и рак рыба. Надо будет съездить на дачу, там где-то лежат неплохие динамики и спаянный мной лет 12 назад усилок на К174УН7 - все же мощности у него побольше будет.

Подключаем этот "Звук".

Ну вот... что получилось.

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

В процессе перетыкания туда-сюда клавиатуры одна из клавиш стала звучать только при сильном нажатии. Пришлось все разобрать и напоить родимую C 2 H 5 OH. Каждую клавишу, каждую резиночку протер, высушил и поставил обратно. Заодно щелкнул фотиком внутреннее устройство.

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

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

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

Наконец-то все завершено!!!

P.S. Не прошло и месяца после окончания сборки как стараниями юных музыкантов в клавиатуру попала газировка. Пришлось опять разбирать и отпаивать горемычную спиртиком.



Клавиатура предназначена для подключения к внешнему саунд-модулю или компьютеру (при наличии соответствующего интерфейса) с использованием MIDI протокола – для записи музыки в секвенсерную программу или живого исполнения. Количество клавиш в предложенном варианте 48, может быть увеличено без переделки схемы до 64. Отличительной особенностью предлагаемой клавиатуры является чувствительность к силе удара по клавише.

История создания устройства

Некоторое время назад в связи с покупкой квартиры я вынужденно лишился шикарного инструмента, выполнявшего у меня роль MIDI клавиатуры – это была легендарная YAMAHA DX-7. Когда печаль поутихла, во всей остроте и неприглядности встал вопрос: а на чем же работать? Именно в этот момент стараниями моего приятеля в мои загребущие ручонки попала полусобранная схема на КР1816ВЕ39 (по супостатски этот процессор зовется 8048). Схема проста и в сборке, и в наладке, и, главное, подвернулась под руку в нужное время. Клавиатуру я собрал в виде матрицы 8×6, применив КР1533ИД7 и КР1533КП7. Не обошлось и без ложки дегтя – два недостатка этой схемы насмерть убивают все ее достоинства: отсутствие чувствительности к скорости нажатия клавиши (динамики) и колеса PITCH WEEL. Ну, я когда-то программировал на Z-80 (и даже сделал работающий секвенсор) и решил тряхнуть стариной. Z-80 как CPU я решительно отмел, как морально устаревший. Кроме того, не хотелось много паять, и я решил взять за основу этот самый девайс на КР1816ВЕ39, оснастив его еще одним мультиплексором для размыкающих (верхних) контактов клавиш. Я отыскал документацию (вы не поверите – в библиотеке, книга «Проектирование цифровых устройств на однокристальных микропроцессорах») на ассемблер КР1816ВЕ39 и накарябал программу… И тут выяснилось, что у приятеля сдох программатор ПЗУ, и зашить программу просто нечем… От горя я совсем потерял разум и решил переписать тот же алгоритм под PIC. За полдня был спаян программатор (LUDIPIPO), затем макет из панельки, КР1533ИД7 и пары КР1533КП7, а весь монтаж сделан МГТФом без всякой печатки. И процесс пошел…

Сначала был запущен нединамический вариант программы (его я тоже привожу для тех, у кого клавиатура имеет один контакт на клавишу). Потом запустилась динамическая версия. И тут созрела мысль добавить кнопки и индикатор. Дело в том, что у меня без дела давно валялась платка WAVEBLASTER (дочерний wavetable синтезатор для очень старых звуковух). Подключивши ее к моему творению, я получил нечто, на чем можно играть (в меру сил и таланта) без компьютера, что иногда довольно удобно. Это и определило набор функций на кнопках – он может пригодиться при подключении к звуковым модулям при “живой” игре. Функции кнопок легко изменить, написав свои обработчики и используя мои процедуры опроса и индикации. Кое-как собранная в железном корпусе клавиатура оказалась удобнее, чем YAMAHA PSS (все же полноразмерные клавиши, педаль и, главное, динамика!). В разгаре творческого процесса возникло труднопреодолимое желание сделать версию MIDI клавиатуры чисто для компьютера – индикатор и кнопки необязательны, но нужны колеса PITCH WEEL и MODULATION. Некоторое время я с ним боролся, но, в конце концов, сдался и снова включил паяльник. Электронику собрать несложно, с механикой – несколько сложнее, и я начал морщить лоб над устройством колеса. Поразмыслив, я решил отказаться от второго колеса – все равно я никогда не кручу их сразу оба, обычно сначала пишу ноты и pitch, затем дописываю modulation. Не последним соображением было и уменьшение в два раза объема столь любимых мною механических работ. Для менее ленивых я ниже объясню, как почти не усложняя схему сделать два колеса. Чтобы все-таки иметь возможность писать modulation, я решил организовать три режима работы колеса: pitch на 2 полутона, pitch на 1 полутон (удобно), и modulation. Переключать это все можно одной кнопкой, а индицировать режим – парой светодиодов. Чтобы упростить схему, остальные кнопки и индикаторы я ликвидировал, для работы с современными программами-секвенсорами это все не нужно.

Колесо, конечно же, должно быть надето на ось потенциометра, это-то понятно, а вот к чему его подключить? Первой мыслью было использовать одновибратор на таймере 555. Но расчет показал, что будет трудно добиться точности и стабильности измерения длительности импульса при попытке обеспечить приемлемую частоту опроса колеса, ведь процессор в основном занят измерением времени переключения клавиатурных контактов. Остался путь использования аналого-цифрового преобразователя (АЦП). Поскольку у меня использовался Pic16F84 без встроенного АЦП, я вспомнил инженерное прошлое (и родной завод) и сделал АЦП из нескольких резисторов с компаратором (и куска программы). Получилось просто, дешево и довольно точно.

Я привожу обе схемы – и с кнопками, и с колесом, а также программы для них. При желании обе схемы можно легко совместить, слегка изменив адреса внешних устройств, нужно только помнить, что режим CHORUS (STEREO) использует pitch для получения расстройки и его нужно или убрать, или озаботится передачей pitch с расстройкой по каналам.

Итак – собственно клавиатура

Схема устройства

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

Я использовал PIC16F84 в качестве процессора из нескольких соображений: эта микросхема доступна, дешева и удобно программируется, кроме того – именно она оказалась у меня под руками. Внимание: PIC16C84 не годится – у него ОЗУ всего 36 ячеек и программа не будет работать. Впрочем, схема с колесом использует меньше ячеек ОЗУ и ее программу можно втиснуть и в PIC16C84, сократив еще пару ячеек, например MIDCH (присвоив постоянный MIDI канал всем передаваемым данным).

Схема динамической клавиатуры с индикацией приведена ниже:

Схема во многом традиционна – трудно изобрести велосипед без педалей и колес.J Порт B работает на передачу – младшие 7 бит выводят адрес клавиши в матрице или данные для внешних устройств (индикатор и ЦАП колеса). Старший бит используется для вывода MIDI данных последовательным кодом – преобразование и вывод сделаны программными. Поэтому кварц должен быть на 4 MHz, если вы не хотите переписывать процедуру вывода байта по MIDI. Два младших бита порта A работают на прием – на них поступают сигналы с мультиплексоров “отпущенных” и “нажатых” контактов клавиш, а три старших бита определяют адрес внешнего устройства (через еще один дешифратор КР1533ИД7). В схеме с колесом от дешифратора адреса внешнего устройства я отказался для упрощения схемы и освобождения старшего бита порта PA4 для ввода данных с компаратора, поэтому адреса клавиатуры и кнопок другие. При совмещении схем эту микросхему придется вернуть, для дешифрации адреса использовать биты порта PA2 и PA3,и адресовать 4 устройства: клавиатуру, кнопки, регистр данных динамической индикации и регистр знакоместа динамической индикации. Индикацию режимов колеса придется переписать.

Схема с колесом PITCH WEEL / MODULATION выглядит так:

На каждую клавишу ставится один диод для развязки. Резисторы на входах мультиплексоров не должны быть более 8k, иначе возможны глюки из-за емкости монтажа. Индикатор – любой с общим анодом на 3 разряда, если выводы сегментов каждого разряда выведены отдельно, выводы одноименных сегментов нужно объединить – индикация динамическая и разряды зажигаются последовательно. Кнопки любые, без фиксации, дребезг контактов давится программно. Светодиоды установлены возле одноименных кнопок и индицируют включение соответствующих режимов, кнопки «+» и «- » светодиодов не имеют. Транзисторы на индикаторе любые маломощные высокочастотные обратной проводимости. Два регистра КР1533ИР23 использованы для поочередного защелкивания адреса и кода текущего разряда индикатора (светодиоды тоже сгруппированы в два квазиразряда). У меня использована стандартная клавиатура от еще советских электроорганов на 48 клавиш (она выпускалась и отдельно как радиоконструктор «СТАРТ», и довольно широко распространена). Чтобы уменьшить высоту клавиатуры и толщину инструмента, из шести контактных групп под каждой клавишей оставлено две, и все это обрезано и переклеено. Вообще достаточно одной переключающей группы на клавишу, но так было удобней клеить. Сборные шины “отпущенных” и “нажатых” контактов имеют длину 8 клавиш. При желании можно использовать и клавиатуру, где вместо переключающей группы контактов используется две пары замыкающих контактов – одна пара замыкается в начале движения клавиши, другая в конце (как на инструментах YAMAHA). В этом случае сигнал на PA0 нужно подавать с инверсного выхода мультиплексора (вывод 6). Без изменений в схеме можно использовать клавиатуру на 64 клавиши (стандарт – 61, т.е. 5 октав). При необходимости число клавиш может быть увеличено хоть до 127, для этого в схему нужно ввести еще один дешифратор КР1533ИД7.

Очень важно хорошо отстроить механику – верхние контакты ОБЯЗАТЕЛЬНО должны замыкаться при отпускании клавиш. Если этого не сделать, программа считает такие клавиши нажатыми и пытается их обрабатывать, поэтому повторное нажатие этих клавиш звука не дает. Кроме того, максимальное количество одновременно звучащих нот – 10 (если у кого-нибудь на руках выросло больше пальцев, это количество легко изменить), и не отпущенные клавиши уменьшают это количество. Из этих же соображений число клавиш, указанное в процедуре опроса клавиатуры, должно ОБЯЗАТЕЛЬНО совпадать с количеством реальных клавиш. Дребезг контактов давится программно.

Для резистивной матрицы R-2R АЦП желательно подобрать резисторы с точностью 1–2%, причем абсолютные значения могут быть и другие, важно отношение. Впрочем, сильно увеличивать номинал не стоит, это увеличит время преобразования из-за входной емкости компаратора. Я использовал SMD резисторы без подбора, хотя измерения показали, что в одной монтажной полоске резисторы обычно согласованы с точностью выше 1%. Я уверен, что схема будет работать и с неточными резисторами, но линейность характеристики ухудшится. Само колесо сделано из ручки от старого телевизора и имеет пружинку на оси потенциометра, возвращающую его в среднее положение. Для удобства настройки механики, при включении питания с нажатой кнопкой режима, включается отладочная программа, зажигающая светодиод, когда колесо находится в среднем положении, это позволяет точно настроить нулевой положение колеса на оси потенциометра. Если есть потребность и желание сделать отдельное колесо MODULATION, его нужно подключить к свободному элементу компаратора (их там четыре), причем матрица R-2R у обоих колес общая. Для коммутации выходов компараторов лучше применить дополнительную микросхему, а в качестве управляющего сигнала использовать PA2.

При желании можно собрать динамический вариант клавиатуры и без индикации, кнопок и колеса PITCH WEEL / MODULATION – просто не собирая неиспользуемую часть схемы. Все изменяемые параметры будут установлены по умолчанию при включении питания…

Питать это все можно от чего угодно, ток потребления зависит от конкретного индикатора и не превышает 100 mA. У меня прямо на плате стоит стабилизатор 7805 без радиатора (его хорошо видно на фотографии). Небольшой радиатор нужен, если на него подавать более 9v. Компаратор питается напряжением 9 – 12 v, желательно стабилизированным. Да, я использовал микросхемы советского производства из старых запасов – существует большое количество их современных аналогов, замена возможна и даже желательна – современные аналоги имеют меньшее потребление.

Программа

Алгоритм обработки нажатых клавиш происходит от предложенного в журнале «Микропроцессорные средства и системы» №5 за 1986г. Именно эта публикация (а точнее, ошибка в предложенной программе) и побудила меня к изучению ассемблера. Собственно, оттуда взята лишь идея записывать номер каждой нажатой клавиши в специально выделенную область ОЗУ (CHAN), чтобы при повторном опросе клавиатуры не обрабатывать снова уже обработанную клавишу. У меня под каждую из нажатых клавиш (всего не более 10) отведено две ячейки ОЗУ: в первой записывается номер нажатой клавиши, во второй – ее VELOCITY (скорость нажатия). Повторюсь – этих ячеек всего 20 и начальный адрес задан именем CHAN. Признаком свободной пары является установленный старший бит первой ячейки. Установленный старший бит второй ячейки означает, что NOTE ON для этой клавиши уже передано и в дальнейшей обработке она не нуждается.

Подробно описывать всю программу я не буду, исходник изобилует комментариями и для подготовленного человека вполне доступен. Для остальных я даю сразу готовые прошивки в файле Dinamic.hex и Pitchmod.hex. Поясню только некоторые неочевидные моменты. Ну, прежде всего о динамике: в момент размыкания верхних контактов клавиши ее номер записывается в первую ячейку первой же свободной пары из области CHAN, одновременно сбрасывая признак свободной пары. Во вторую ячейку записывается начальное значение VELOCITY = 127. Чувствительность клавиатуры определяется частотой следования прерываний, так как обработка прерывания уменьшает значения VELOCITY для всех клавиш, NOTE ON которых еще не передано. Прерывания вызываются встроенным таймером. В момент замыкания нижних контактов клавиши в соответствующей ячейке CHAN устанавливается признак «переданности» и передается NOTE ON с текущей VELOCITY. Для улучшения кривой чувствительности уменьшение значений VELOCITY идет по логарифмическому закону: из текущего значения VELOCITY вычитается 1/16 его часть, уменьшенная на 1. Таким образом, во время движения клавиши от верхнего контакта к нижнему значение VELOCITY в соответствующей ячейке CHAN уменьшается по логарифмическому закону, и чем быстрее движется клавиша, тем больше VELOCITY в момент замыкания нижних контактов клавиши и передачи NOTE ON. Прерывания также управляют динамической индикацией, это сделано для устранения мерцания индикатора.

Функции кнопок: TRANSPOSE – все тональности приводятся к любимому ля-минору: диапазон +/- 15 полутонов. PRG назначает тембр (инструмент) для заданного пресета (UP1-UP5), а VOL – его громкость. Текущий параметр выводится на индикатор и может изменяться кнопками «+» и «-».TWIN выводит «двойной» тембр – звучат одновременно один из пресетов (UP1-UP5) и, одновременно пресет LOWER. STEREO выводит звук текущего пресета в правый и левый стереоканалы с небольшой «расстройкой» (эффект «хорус»). Кнопка SPLIT не задействована. Педаль SUSTAIN схемотехнически выполнена, как одна из кнопок, емкость ее провода не должна быть очень большой. Адреса обработчиков кнопок собраны в таблицу в начале программы, при изменении функций кнопок можно подставить свои.

АЦП колеса наполовину программный, работает по алгоритму последовательных приближений, матрица R-2R выполняет преобразование “цифра – аналог”. Вначале на матрицу R-2R подается 1 в старшем разряде, и компаратор определяет, много это или мало. Если мало, в старшем разряде остается 1, если много – 0.Далее то же самое происходит с каждым следующим младшим разрядом (всего 6 шагов) и мы получаем шестибитное число, соответствующее углу поворота колеса. Такая точность мне представляется достаточной, но можно добавить еще один бит, увеличив матрицу и программу преобразования.

Конструкция

В качестве собственно клавиатуры я использовал конструктор «Старт» советского производства, сейчас, пожалуй, легче найти старую неработоспособную Ямаху или Касио, это решит и проблему изготовления корпуса – если он конечно у старого инструмента относительно цел…

Печатная плата не разрабатывалась – я посчитал нецелесообразным для изготовления единичного экземпляра устройства тратить время на разводку и изготовление платы, а макет был изготовлен на монтажной плате с помощью перемычек из МГТФа. В качестве разъема и шлейфа к клавиатуре был использован шлейф от флоппи-дисководов из компьютера с соответствующим разъемом с каждой стороны – это облегчает сборку/разборку готового устройства.

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

Ну вот, вкратце, и все. Творческих успехов!

Думаю, что те, кто пытался работать со звуком на компьютере, наверняка слышали о таких устройствах, как midi-контроллеры. Да и многие люди, далёкие от создания музыки имели возможность лицезреть артистов на выступлениях с разнообразными «крутилками» и «нажималками» за баснословную цену. Как же заиметь такую полезную штуку, не потратив ни копейки? Достойный вариант – это самодельная MIDI-клавиатура.

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

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

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

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

Главная проблема данного класса «примочек», для начинающего музыканта, состоит в их высокой цене: средняя стоимость полноценного нового клавишного MIDI-инструмента составляет 7 тысяч. Сумма, конечно, смешная, если вы где-то работаете и неплохо зарабатываете. (Ведь в России зарплата на душу населения составляет 28 тысяч, считая рабочим населением младенцев и пенсионеров).

Но если вы, к примеру, студент, то для вас такой ценник будет «кусачим». Из-за этого аспекта, использование самодельной MIDI-клавиатуры становится оптимальным решением проблемы.

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

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

  1. Вам нужно скачать и установить Vanilin MIDI Keyboard. Найти программу можно на её официальном сайте.
  2. Допустим, что вы уже установили это (или подобное) приложение, теперь вернитесь на рабочий стол – там должен появиться ярлык. С помощью этого ярлыка запускаете эмулятор и заходите в настройки.
  3. Если на компьютере стоит стандартная звуковая карта, встроенная в чипсет, то после клика на пункт меню «Device» вы должны увидеть два подпункта: «Устройство переназначения MIDI» и «Программный синтезатор звуковой». Кликните на «Устройство переназначения MIDI».
  4. Сверните программу. В правом нижнем углу панели задач (где-то рядом с часами) должен появиться уже знакомый вам значок программы.
  5. Запустите секвенсор. Выберите меню опций («Options») и кликните на подпункт настроек MIDI («MIDI settings»)
  6. В строке выходов MIDI («Output») выберите «Устройство переназначения MIDI»

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

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

Олег Якубов

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

Схему миди-клавиатуры я, выбрал из журнала Радио за 1997 год № 3, 4. Если кто действительно хочет собрать себе хороший инструмент, то рекомендую сходить в библиотеку и взять там журналы, ну а для тех, кому не хочется бегать и тратить время, я отсканировал полностью эту статью (думаю, не в ущерб автору). Миди-клавиатурой я очень доволен. Проблем со сборкой не было в общем-то никаких, за исключением некоторых опечаток в схеме (допущенных, наверное, редакцией при верстке статьи). Я перед сканированием сделал поправки, это можно увидеть при внимательном изучении схемы. Прошу обратить внимание: при "прошивке" ПЗУ не делайте ошибок при введении кодов, иначе инструмент или вообще не заиграет, либо будет работать неправильно. Особую благодарность я хотел бы передать самому автору этой статьи, за распечатку контрольных кодов таблицы ПЗУ, так как без ошибок трудно ввести все символы, и при вводе я сам ошибся в двух местах, и благодаря контрольным суммам я быстро нашел у себя ошибки. Так же в отсканированной мною таблице, я выделил те места, где автором указывается в случае замены двух символов. Это на случай, если клавиатура начинается не с ноты Фа, а с ноты До. Все детали и узлы устройства, я смонтировал на монтажной плате, а соединения между выводами микросхем, я распаял тонким проводом во фторопластовой оплетке, только между клавиатурой и платой, я распаял плоским кабелем. Единственно, что я сделал, так это увеличил емкость конденсатора С1, так как не запускался процессор. Миди-клавиатура работает очень устойчиво, и никаких проблем я не испытываю до сих пор!!! Если для кого-то эта схема покажется очень сложной, тогда попробуйте собрать другую схему, напечатанную так же в журнале Радио за 1993 год № 11. Но в этой схеме, нет таких возможностей, как в схеме, о которой я только что писал. Поэтому рекомендую запастись небольшим терпением и собрать схему из журнала Радио за 1997 год № 3, 4. Отсканированная статья находится ниже. Если все же у кого-то возникнут проблемы со сборкой, обращайтесь ко мне, может что-нибудь посоветую. Единственный недостаток этой схемы, я считаю, это неудобство быстрого выбора инструмента, и так же маленькая возможность эффекта "PITCH". Обычно на клавиатурах стоит этот эффект в виде колеса с левой стороны клавиатуры.

Желаю приятной сборки!!!

MIDI-КЛАВИАТУРА ДЛЯ МУЛЬТИМЕДИА-КОМПЬЮТЕРОВ И MIDI-СИНТЕЗАТОРОВ

С. Кононов, г. Тула

Разработанная автором этой статьи MIDI-клавиатура относится к электронно-музыкальным инструментам повышенной сложности и адресуется, прежде всего, читателям, имеющим определенные знания и опыт конструирования подобной аппаратуры. Поэтому и описание конструкции дается в кратком изложении. Редакция полагает, что содержание этой публикации привлечет внимание и тех, кто вообще интересуется электронной музыкой и, возможно, собирается заняться конструированием современной аппаратуры. Для них полезно будет познакомиться со статьями А. Студнева "Что такое MIDI?" и "MIDI-клавиатура", опубликованными в январском и ноябрьском номерах "Радио" за 1993 г., а также статьей К. Быструшкина "Мультимедиа придет в каждый дом" ("Радио", 1996, № 3).

Рекомендуемая MIDI-клавиатура представляет собой "глухой" клавишный инструмент, основное назначение которого - совместная работа с персональными компьютерами, оснащенными музыкальными картами Creative, Sound Blaster, Gravis, YAMA-HA и другими, имеющими midi-вход. Он, кроме того, позволяет работать и с внешними синтезаторами, тон генераторами и любой аппаратурой, также имеющими midi-вход.При разработке сервисных функций MIDI-клавиатуры образцами для "подражания" были изделия итальянской фирмы "MASTER STAR". Сначала я сконструировал универсальный MIDI-пульт для баяна и аккордеона, который был представлен на выставке MUSIKMESSE-95 (Франкфурт-на-Майне). Именно тогда возникла мысль превратить это конструктивно сложное устройство в более простую MIDI-клавиатуру, доступную для повторения читателями журнала "Радио". Инструмент располагает солидным сервисом. В частности, он позволяет каждой клавишей управлять двумя MIDi-каналами, задавая каждому из них собственные программы (тембры), и запоминать их вместе с уровнем громкости каждого канала в памяти устройства. Таким образом, можно произвольно комбинировать и наслаивать любые два образца звуков из имеющихся в подключенном к клавиатуре тон генераторе. В "крутых" аппаратах этот режим называют "COMBY".Клавиатура позволяет также изменять строй инструмента на одну октаву вверх или вниз, назначать до 127 программ, управлять большим числом MIDI-каналов (от 1 до 16), контролировать звуковые эффекты PITCH BEND, VOLUME, MODULATION, SUSTAIN и многое другое. Темп исполняемого произведения - от 20 до 240 ударов в мин. Граница деления клавиатуры на два мануала произвольная.Инструмент, схема , состоит из трех функционально законченных частей: блока процессора (А1), пульта управления (А2) и блока клавиатуры (A3). Комплект используемых в них микросхем аналогичен комплектующим таких устройств, как Спектрум и АОН, так что любители конструирования ЭМИ не будут испытывать затруднений в поисках элементной базы.Блок процессора по схемотехнике похож на процессор АОНа. На логических элементах DD1.1 - DD1.3 и кварцевом резонаторе ZQ1 собран задающий генератор процессора Z80 (DD2). Собственная частота кварцевого резонатора должна быть 4 МГц, иначе изменится скорость передачи MIDI-информации со старшего разряда регистра С микросхемы DD6 через буферный элемент DD1.4.На транзисторах VT1, VT2 собран узел, обеспечивающий сигнал сброса на входе RES (RESET - вывод 26) микросхемы DD2 при включении/выключении источника питания, когда его напряжение не превышает +4,5 В. Это повышает надежность хранения информации в энергонезависимой памяти микросхемы DD5 в момент включения или выключения питания. Батарея GB1 совместно с конденсатором C3, резистором R8 и диодом VD2 поддерживает питание микросхемы DD4 для долговременного хранения в ней информации при отключенном общем источнике питания инструмента.Микросхемы DD7 и DD8 панели управления обеспечивают опрос кнопок SB1-SB19 пульта управления, динамическую индикацию четырехразрядного семиэлементного дисплея, образованного индикаторами HG1, HG2, и оцифровку единственной аналоговой части устройства - регулятора громкости R40 "Volume". Для дисплея я применил очень удобные, на мой взгляд, яркие сдвоенные индикаторы VQE14 (старое название КИПЦ09И), установленные в телевизорах "Горизонт" 4-го и 5-го поколений. Включение индикатора HQ2 аналогично показанному на схеме включению индикатора HG1.

Блок клавиатуры образуют пяти-октавная (61 клавиша) музыкальная клавиатура, начинающаяся с ноты "Фа", микросхемы D09, DD10 и разъемы Х1-ХЗ для подключения к инструменту ао двух внешних MIDI-приемников и педали "SUSTAIN". Каждая клавиша клавиатуры оснащена парой нормально разомкнутых контактов, которые объединены в матрицу 8х8 с диодной (VD14-VD74) развязкой. На схеме символом SA1 обозначена крайняя левая клавиша, символом SA61 - крайняя правая. Опрос матрицы обеспечивают микросхемы DD9 и DD10. Если музыкальная клавиатура, используемая для конструируемого инструмента, начинается с ноты "До", то строй матрицы необходимо сместить на семь клавиш. Для этого в ПЗУ нужно увеличить на семь единиц код в ячейках, с адресами 025FH и 0268Н (см. таблицу программирования ПЗУ КР573РФ5 ) , т. е. вместо кода "05" записать "ОСН". Блок питания клавиатуры представляет собой микросхемный стабилизатор напряжения КР142ЕН5В, на вход которого подают от внешнего источника постоянное напряжение 9 В. Таким источником может быть любой малогаборитный сетевой блок питания, в том числе импортный, обеспечивающий ток нагрузки не менее 500 мА. Конденсаторы С6-С9 на выходе стабилизатора - блокиривочные для цепей питания микросхем.Детали и узлы устройства смонтированы на четырех печатных платах, которые соединены между собой плоскими кабелями и размещены под лицевой панелью корпуса клавиатуры. Нажимные кнопки переключателей SB1-SB19, индикаторы HG1, HG2 и вал переменного резистора R40, пропущенные через отверстия в панели, образуют пульт управления MIDI-клавиатуры.Педаль SUSTAIN может быть любой конструкции с парой нормально разомкнутых контактов. Ее подключают к инструменту через разъем Х3 типа Джек (1/4 JACK), расположенный на задней панели инструмента. Внешний вид МIDI-клавиатуры и схема размещения на ее панели управления дисплея (индикаторы HG1, GH2), регулятора громкости (резистор R40 "VOLUME") и кнопок (SB1 - SB19) показаны на рис. Пользуясь ими, музыкант может выполнять все необходимые MIDI-опeрации по выбору тембров, номера каналов, перераспределению голосов и т. д., а также управлять внешними ритм-компьютером или секвенсером. Оцифрованными кнопками, находящимися справа от дисплея, вводят соответствующие номера программы, MIDI-канала, темпа, а функциональными кнопками слева от дисплея управляют различными параметрами клавиатуры. При последовательном нажатии на кнопку "PROG" (программа) дисплей индицирует параметры клавиатуры: -тип трека и номер звуковой программы этого трека. Буквы в левой части дисплея обозначают: А - левый (нижний) мануал, В - правый (верхний) мануал, С - дополнительное midi-устройство. За буквой следует трехзначный номер (000-127) звуковой программы, присвоенной данному треку;

- контроль темпа для генератора ритма; при этом на дисплее, индицируется буква Т и трехзначное число, характеризующее частоту ударов (сильных долей) в минуту, а запятые на дисплее создают эффект "бегущих огней"" для визуального контроля скорости генератора темпа. Диапазон перестройки темпа - от 20 до 240; - режим каналов и номер собственной программы инструмента: в этом случае буква Р в левой части дисплея означает, что вся клавиатура "сидит" а треке *А*. буква U - информация с клавиатуры передается одновременно и в трек "В" (режим "COMBY"), буква L - левый мануал, т. е. трек "А" (правый мануал - "В"). За буквой на дисплее индицируется двузначный номер (00-99) собственной программы, хранящейся в памяти ОЗУ DD5. Собственная программа инструмента характеризует номера звуковых программ и MIDI-каналов для треков, а также следующую информацию: PITCH - скорость тональной перестройки, MODULATION - уровень глубины модуляции, VOLUME - уровень громкости, SPUT - граница разделения мануалов, MODE-режим каналов (Р. U, L), Ost A - +/- октава для левого мануала, Ost В - +/- октава для правого мануала. Кнопки "-1" и +1 обеспечивают уменьшение (увеличение) числовых данных на дисплее. Кнопка "MIDI" служит для назначения MIDI-канала каждому треку, а последовательным нажатием на нее выбирают трек. На дисплее при этом отображаются трек Ac (Bc, Сс) и номер (1-16) MIDI-канала. Кнопкой "START" запускают или останавливают (вторым нажатием) внешний ритм-компьютер или сeквенсер - на дисплее на пару секунд высвечиваются соответственно "Strt" или "Stop". У кнопки "WHITE" два функциональных назначения. Если все выбранные параметры клавиатуры удовлетворяют и их необходимо запомнить под текущим номером собственной программы, дважды нажимают на эту кнопку. При первом нажатии дисплей высветит четыре черточки, приглашая устройство к режиму программирования. При втором нажатии происходит запоминание всех режимов и параметров в памяти собственных программ устройства, а дисплей индицирует текущий номер собственной программы. Второе назначение кнопки "WRITE" - работа с устройством в режиме программирования функций. Этот режим включают первым нажатием на кнопку "WRITE". На дисплее появляются четыре черточки, символизирующие приглашение к режиму программирования. Оцифрованные кнопки при этом начинают выполнять функции программаторов следующих режимов: - PITCH - скорость тональной перестройки. Дисплей высвечивает "РЬ" (PITCH BEND) и цифру (1-4). Индикация "РЬ" соответствует минимальной, "РЬ4" - максимальной скоростям изменения этого параметра; - MODULATION - глубина модуляции 25, 50, 75 и 100%. Индицируется буквами LF (LONG FREQUENCY) и цифрами 1. 2, 3 и 4 соответственно; - VELOCFTY - скорость нажатия клавиши - фиксированная для всей клавиатуры. На дисплее индицируется трехзначным числом (000-127); - VOLUME - уровень громкости (О- 15). На дисплее отображается двумя цифрами: слева - для левой части клавиатуры (трек А) в режиме разделения мануалов, справа - для правой части (трек В): - SPLIT - граница разделения клавиатуры на два мануала. Дисплей высвечивает "SP" (SPLIT) и двузначный номер клавиши, последней для левой части клавиатуры; - MODE - программирование режима каналов (Р, U, L). Дисплей высвечивает "Рг" - соответствующую режиму каналов букву (Р, U, L); - TRANSPORT - транспонирование, т. е. изменение высоты тона клавиатуры на 12 полутонов вниз или на столько же полутонов вверх. Режим транспонирования вниз дисплей индицирует двузначным числом 01-12 со знаком "-", транспонирования вниз - без знака. Число 00 обозначает отсутствие транспонирования; - Ost A - +/- октава для левого мануала. Это значит, что строй клавиатуры трека А может быть сдвинут на октаву вниз или на октаву вверх. Дисплей высвечивает "Ао"-1", "Ao-0", "Aо-1, что означает соответственно сдвиг на октаву вниз, отсутствие сдвига и сдвиг на октаву вверх: - Ost В - +/- октава для правого мануала. Дисплей соответственно индицирует "Во -1, "Во 0" и "Во 1"; - PAUSE - размер паузы между MIDI-посылками. Дисплей высвечивает "РА" и двузначное число 01-50, означающее размер паузы в условных единицах.

К сожалению, некоторые музыкальные карты а мультимедиа-компьютерах при смене зеуковой программы "буксуют", т. е. останавливают прием MIDI-сообщеиий на время загрузки новой звуковой программы, что приводит к потере принимаемой информации. Например, карта YAMAHA SW20 меняет звуки за 0.5...1 с, a GRAV1S ULTRASOUND загружает звуковые программы с жесткого диска, на что уходит еще больше времени. Для четкой работы звуковой карты YAMAHA SW20 размер паузы соответствует 16. Для дешевых же карт типа SOUNDBLASTER и для музыкальных инструментов с MIDI-входом PAUSE=1. " Параметры перечисленных функций можно изменять кнопками "-1" и "+1". При повторном нажатии на кнопку "WRITE" в память собственных программ устройства вводятся звуковая программа трека А(0-127), звуковая программа трека В (0-127), звуковая программа трека С (0-127), номер MIDI-канала A (1-16), номер MIDI-канала В (1-16), номер MIDI-канала С (1-16), громкость трека А (0-15), громкость трека В (0-15), октава А (-1,0,1),октава В (-1, 0. 1),режим работы мануалов (Р, U, L), уровни, модуляции (1-4), скорость PITCH BEND (1-4). Независимо от порядковой нумерации собственных программ описываемого инструмента в его памяти хранятся также граница раздела SPLIT (1-61), смещение высоты тона TRANSPORT (-12, 0, +12), скорость нажатия VELOCITY (0-127), темп исполняемой композиции (2&-240). Регулятор "VOLUME" и кнопки "PITCH-", "Р1ТСН+", "MOD" на пульте MlDI-клавиа-туры относятся к органам оперативного контроля. Первым из них регулируют громкость внешнего устройства. Если клавиатура обслуживает два MIDI-канала (режимы U, L), значит и регулятор обслуживает эти каналы, но по очереди. К какой части клавиатуры (мануалу) в последний момент прикасалась рука человека, по такому MIDI-каналу и будут передаваться параметры регулятора громкости. Нагляднее это можно сделать, выйдя в режим программирования функций - нажать на кнопку "WRITE" и кнопкой "4" включить функцию VOLUME. При плавном вращении ручки резистора R40 по часовой стрелке дисплей должен отобразить 16 градаций уровня от 0 до 15. Если работаем на левой части клавиатуры, то регулятор будет действовать только на громкость канала "А", а уровень громкости покажет левая часть дисплея. При работе на правой части клавиатуры регулятор будет влиять Кнопки "PITCH-" и "PITCH+"" обеспечивают удобство имитации работы колеса-регулятора PITCH BEND с плавным смещением тона вниз / вверх и обратно. В режиме программирования функций можно ускорить или замедлить работу имитатора PITCH BEND. выбрав одну из четырех скоростей изменения высоты тона. Кнопка "MOD" - орган контроля четырех уровней модуляции (25, 50, 75 и 100%). При нажатии и удержании ее в таком положении включается по MIDI модуляция тона. При отпускании кнопки модуляция отключается. Владельцам компьютеров, оснащенных звуковыми картами с MIDI-интерфейсом, понадобится еще переходник (MIDI-адаптер), необходимый для гальванической развязки между MIDI-входом инструмента и ТТЛ midi-входом звуковой карты компьютера. Его схема приведена на рис. 2.

Развязку обеспечивает оптрон АОТ127А (U1). Питание переходника осуществляется через разъем звуковой карты (выводы 1,8 и 9 - +5 В, выводы 4 и 5 - общий). Входы "MIDI THRU- и "MIDI OUT" предназначены для подключения синтезаторов, тон генераторов и других внешних MIDI-приемников, не встроенных в компьютер. При налаживании MIDI-клавиатуры особое внимание следует уделить настройке узла R38-R40 аналого-цифрового преобразования уровня регулятора громкости. Делайте это на отлаженном и полностью функционирующем инструменте в таком порядке. Включите инструмент, нажмите кнопку "WRITE" на пульте и тут же кнопкой "4" включите функцию VOLUME. При плавном вращении ручки резистора R40 по часовой стрелке дисплей должен отобразить все шестнадцать градаций уровня - от 0 до 15. Если диапазон регулировки смещен или узок, нормальной работы аналого-цифрового преобразования добивайтесь подбором резистора R38.

Наличие midi-посылок контролируйте следующим образом. К выводу 5 разъема "MIDI OUT подключите щуп входа осциллографа, нажмите на педаль "SYS-TAIN" или соедините (временно) входы РСО и PC1 микросхемы DD6 с общим проводником, после чего включите питание инструмента. При таком соединении работает циклическая программа вывода MIDI-кода 55Н. На экране осциллографа это выглядит как последовательность пачек из пяти импульсов. Длительность каждого бита кодовой посылки равна 32 мне, что соответствует 31250 бит/с-скорости передачи MIDI-сообщений.

Поделиться