CDj DOberMAN

Якщо Ви пишете музику на комп'ютері, і Вам потрібна проста і недорога MIDI-клавіатура до улюбленого секвенсора, то ця програма для Вас.

Відразу хочу сказати, що я не програміст, і якби мені нещодавно не знадобилася б простенька MIDI-клава (збирати її на мікросхемах було ліньки), я б ніколи не став займатися програмуванням. Власне кажучи, я був упевнений, що така чи подібна програма/драйвер вже давно існує (а може, я просто погано шукав:).

Принцип дуже простий (все одно не вірю, що ніхто раніше не здогадався до такого). У відповідь на замикання пари пінів LPT-порту генерується відповідна команда "Note On", на розмикання - "Note Off". Все, що потрібно - це будь-яка піано-клавіатура з контактами, малопотужні діоди (за кількістю клавіш) та кабель до LPT-порту комп'ютера.

Окремі параметри, такі, як MIDI channel, Velocity On/Off, Patch Number, Bank Number, вибираються на панелі (хоча все це можна керувати в секвенсорі, але і тут не завадить про всяк випадок). Передбачена також можливість транспонування півтонами і октавами (раптом теж знадобиться).

LPT-порту

Піни порту розділені на дві групи: одна група визначає октаву, друга - ноту у цій октаві. Так як LPT-порт має 17 програмованих пінів (наскільки я знаю), і 12 з них ми відводимо для визначення ноти, залишається 5 для номера октави, що дає нам діапазон в п'ять октав.

У принципі, наявність у LPT-порту 17-ти програмованих пінів дозволяє досягти діапазону 8х9=72 ноти, що відповідає 6-ти октавам, але, мабуть, тут п'яти октав більше, ніж достатньо. Клавіатури з діапазоном більше 5-ти октав зазвичай мають стандартний MIDI-вихід, тому власнику подібної клавіатури дана програма звичайно ж, не потрібна.Як я вже сказав, вона для тих, хто взагалі не має MIDI-клави, але є будь-яка піано-клавіатура з контактами, комп'ютер і бажання створювати музику з його допомогою.

Піано-клавіатура підключається до LPT-порту як матриця 5х12 (див. рисунок). Діоди - будь-які малопотужні кремнієві (КД 521,522 та ін.)

Для полегшення процесу розпаювання контактів до LPT-порту передбачено LPT-монітор, який показує, які піни замкнуті зараз, та номер відповідної ноти.

Якщо раптом виявиться, що Ваша піано-клавіатура вже має іншу розрядність матриці (наприклад, нещодавно я робив MIDI-клаву на базі вбитого ЕМІ "Альтаїр", там контакти розведені як матриця 6x8), просто напишіть мені, і я надішлю варіант проги, заточений під необхідну розрядність.

Деякі піано-клавіатури мають не дуже якісні контакти, тому при використанні може виникати т.зв. "брязкіт", тобто. замість однієї ноти раптом звучатиме "кулеметна черга". Для усунення брязкоту непогано підключити паралельно до кожної пари контактів конденсатори ємністю порядку 0,033-0,1 мкф.

Навіть якщо у Вас поки що немає піано-клавіатури, тим не менш, Ви вже можете випробувати програму в роботі. Просто підключіть LPT-кабель, візьміть шматок дроту або металеву скріпку і спробуйте замкнути наприклад піни 1 і 12. При цьому LPT-монітор покаже замкнені піни, а вибраний міді-пристрій (MIDI Output Device) повинен відтворити ноту #60 (C5).

Для роботи з секвенсором потрібно будь-який MIDI-роутер (Sonic Foundry Virtual MIDI Router, MIDI Yoke, тощо), який слід вибрати як MIDI Output Device, а в секвенсорі - як вхідний MIDI-пристрій.

Установка:1. Розпакуйте архів у будь-яке місце на Вашому вінчестері. 2. Запустіть install.bat або скопіюйте файл вручнуvicprt00.vxd до папки C:\WINDOWS\SYSTEM. 3. Запустіть файл lpt2midi.exe та працюйте.

Системні вимоги:Тестувалося тільки на PI-166MMX, PII-400, PIII-800, Celeron 1700 і Celeron-400 під Windows 98 SE, Windows 2000, Windows XP, чи працюватиме з іншими системами - Не можу знати, спробуйте самі. Також не пробував на машинах із двома і більше LPT-портами.

На старих машинах також не пробувалося. Взагалі, програма вийшла досить громіздкою та повільною, бо писана на Delphi 5. (Як я вже казав, я не програміст:). Якщо у когось з'явиться бажання переписати її на Сі + + або на Ассемблері - будь ласка, можу вислати всі вихідники. Але не знаю, чи є в цьому сенс, оскільки MIDI-інтерфейс сам собою - штука досить повільна.

Бажаю всім творчих успіхів.Андрій Антонов, м. Севастополь