Патворена МИДИ клавијатура

ПМК је програмски сваралац и пријемник МИДИ-догађаја

VMPK 0.3.0VMPK 0.3.0

Увод

Програм Патворена МИДИ-клавијатура, или краће, ПМК, је програмски сваралац и пријемник МИДИ-догађаја. Сам програм не ствара било какав звук, већ се користи као побуђивач неког од МИДИ-синтисајзера (било стварних или програмских, унутрашњих или спољашњих). За свирање, у овом програму можете да користите рачунарске тастатуру или миш. ПМК можете да користите и за пријем и приказивање МИДИ-нота које свира неки други инструмент или МИДИ-свирач. Да би сте то омогућили повежите МИДИ-излазни порт другог програма или инструмента на МИДИ-улазни порт програма ПМК.

Гимнопедија број 1 Ерика Сатија (1866-1925) изведена на ГНУ/Линкс систему уз употребу програма ПМК и Мјуз-Скор

ПМК проверено ради на ГНУ/Линукс, виндоуз и мек ос-икс рачунарским системима. Можда можете да га изградите и на другим системима, а ако то и урадите, пошаљите писмо аутору преко система е-поште.

У стварању програма, аутор је био инспирисан радом Такашија Ивеја, „Патворена клавијатура“ (енг. „The Virtual Keyboard“ — vkeybd, Takashi Iway), чаробним ‘комадићем’ софтвера који нас је служио годинама. Хвала Такаши!

ПМК је изграђен помоћу КјуТ програмских библиотека издања 5.х одличних особина и ефикасности и програма Драмстик-Рт који омогућава извођење улазно-излазних МИДИ-рутина. Обоје су слободни и платформски независни програми, доступни за ГНУ/Линукс, виндоуз и мек ос-икс оперативне системе.

Алфанумеричко мапирање тастатуре се може извести у графичком окружењу програма, а подешавања се чувају у ИксМЛ датотекама („.xml“ датотеке). Нека мапирања (за шпански, немачки и француски) распореда тастатура приложена уз програм су преведена из оних коришћених у програму „Патворена клавијатура“.

ПМК може да шаље поруке о промени програма и контролера МИДИ-синтисајзеру. Дефиниције за различите стандарде и уређаје су омогућене преко датотека дефиниција инструмената („.ins“ датотеке). Ову врсту датотека је осмислило предузеће Кејквоук, а користи се и у програмима Кју-Трактор, ТСЕ3 и Сонар.

Овај програм је у раном, развојном стадијуму. Погледајте „TODO“ датотеку за додатне информације. Имате сву слободу да се јавите аутору програма и поставите му питање везано за ПМК програм, да пријавите уочене грешке у раду са програмом, као и да затражите увођење нових функционалности и сл. За ову намену, можете користити систем праћења развоја програма на Сорсфорџ страницама програма.

Ауторска права: 2008-2015. — Педро Лопез Кабанилас <plcl AT users.sourceforge.net> и сарадници.

Патворена МИДИ-клавијатура је слободан софтвер лиценциран под условима ГНУ Опште Јавне Лиценце издања 3.

ПМК на ГНУ/Линукс систему ПМК на мек ос-икс систему ПМК на виндоуз систему Велики ПМК на ГНУ/Линукс систему Велики ПМК на виндоуз систему

Галерија снимака екрана

Укратко...

МИДИ начела

Израз МИДИ (енг. „MIDI“) је скраћеница од енг. „Musical Instrument Digital Interface“ (дигитално сучеље музичких инструмената). МИДИ је прерастао у индустријски стандард за повезивање музичких инструмената, и друге МИДИ-опреме. То је ‘језик’ (протокол) помоћу којег могу да разговарају инструменти међусобно, или са другим електронским уређајима (синтисајзери, програмски синтисајзери и друго). Музички инструменти опремљени МИДИ-везом најчешће поседују два ДИН прикључка означених са „MIDI IN“ и „MIDI OUT“. Може се наћи у употреби и трећи прикључак, означен као „MIDI THRU“ (МИДИ-превоз), који омогућава да се било који МИДИ-догађај примљен на улазу пренесе на излаз у неизмењеном облику. За повезивање једног МИДИ-инструмента (уређаја...) на други користе се МИДИ-провдници (кабло). Повезивање се обавља тако што се МИДИ-излаз уређаја који шаље поруке спаја са МИДИ-улазом уређаја који ће те поруке примати. На интернету се може пронаћи доста упутстава и података на ову тему, а ми Вам препоручујемо интернет адресу са насловом „What is MIDI?“ (Шта је то МИДИ?).

За рачунаре као и за сл. уређаје, одавно постоје физички МИДИ-интерфејси који омогућавају МИДИ-улазе и МИДИ-излазе за повезивање рачунара са спољним МИДИ-инструментима и уређајима. Без обзира да ли поседујете на рачунару ове физичке МИДИ-интерфејсе, рачунар се може користити и за покретање и употребу МИДИ-софтвера (програма), а један такав пример је и наш програм ПМК. Он обезбеђује програмске МИДИ-улазе и МИДИ-излазе (погледајте у менију програма Уреди->МИДИ-везе), а који се, као што можда претпостављате, повезују патвореним (нестварним, виртуелним), програмерским МИДИ-проводницима на МИДИ-улазе или МИДИ-излазе других МИДИ-програма или МИДИ-уређаја спојених на физичке МИДИ-улазе или МИДИ-излазе (о овоме ћемо детаљније говорити касније). Уобичајено, МИДИ-излаз ПМК програма ћете повезивати на МИДИ-улаз неког синтисајзера, а он ће из примљених порука стварати звук. Други, чест пример, је повезивање са МИДИ-монитором, који преводи МИДИ-догађаје у читљив текст. Ово може да помогне у бољем разумевању МИДИ-протокола. Ако користите ГНУ/Линукс оперативни систем, препоручујемо да испробате програме КМидимон или ГМиди-монитор, а на виндоуз систему испробајте МидиОИкс програм.

Програм ПМК не може сам да ствара звук, већ шаље МИДИ-поруке до неког МИДИ-синтисајзера који ствара (генерише) звук који чујемо. Од квалитета тих синтисајзера (и квалитета употребљених звучних фонтова у њима) зависи и квалитет звука који чујемо. Препоручујемо Вам Флуид-синт програмски синтисајзер, а као његово графичко сучеље програм Кју-синт (већ локализован за српски језик). На виндоуз системима можете да употребите и уграђени мајкрософтов „ГС вејвтејбл св-синт“, а на мек ос-икс системима поменути Флуид-синт. У сваком случају, спољашњи стварни МИДИ-синтисајзер је најбоље решење.

Мапе дирки и дефиниције инструмената

ПМК може да се користи и за промену звука МИДИ-синтисајзера али само онда када му учините доступне дефиниције за звукове синтисајзера. Ове дефиниције су обичне текстуалне датотеке са наставком „.ins“ у називу датотеке. Оне су једноставног облика, а њихов садржај можете прегледавати или уређивати у било ком уреднику обичних тестуалних датотека. Ове дефиниције инструмената користе и други програми, као нпр. Кју-Трактор.

Када по први пут покренете ПМК, ваљало би да припремите програм за употребу. Да би сте то урадили, најпре у менију програма покрените „Уреди->Поставке“. Када се прикаже прозорче поставки, под „Датотека инструмента“, кликом на „Учитај...“ одаберите дефиниције инструмента, а затим , под „Инструмент“, из падајуће листе одаберите одговарајући назив инструмента за претходно одабране дефиниције инструмента. Једна датотека са дефиницијама инструмента („gmgsxg.ins“) долази уз сам програм ПМК и смештена је у његовом директоријуму са подацима (најчешће у директоријуму „/usr/share/vmpk“ на ГНУ/Линукс системима, или, у директоријуму „C:\Program Files\VMPK“ на виндоуз системима). Ова датотека садржи дефиниције инструмента за Џенерал МИДИ, Роланд ГС и Јамаха ИксГ стандарде. Додатне дефиниције инструмената можете пронаћи и на кејквоук ФТП послужитељу.

ПМК (0.2.5 и новија издања) омогућава увоз датотека звучних фонтова („.sf2“ или „.dls“ врсте датотека) као дефиниција инструмената, одабиром ставке у изборнику „Датотека->Увези звучни фонт...“

Измена мапирања дирки програма остварена је уграђеним „Уредником мапа дирки“ (у изборнику погледајте „Уреди->Мапе дирки“). Подразумевана мапа дирки (две и по октаве) је она која се користи за алфанумерички распоред тастатуре (QWERTY), а доступне су и друге датотеке са мапама дирки за ПМК у његовом директоријуму са подацима. Оне су прилагођене другим међународним распоредима за рачунарске тастатуре. Ако већ нису, ускоро ће бити доступне мапе дирки и за познате јуникод распореде српске тастатуре. У „Уреднику мапа дирки“ можете створити и сопствене мапе дирки ако то желите, а које можете сачувати или учитавати по потреби (ИксМЛ врста датотека). Последња употребљена мапа дирки пре затварања програма ће се користити и при поновном покретању програма. Али не само мапа дирки, већ и сва друга подешавања у програму.

МИДИ-везе и патворени МИДИ-проводници

На виндоуз систему, ПМК ће се сам повезати на подразумевани МИДИ-излаз, а то је најчешће мајкрософтов „ГС вејвтејбл св-синт“, доступан у свим виндоуз издањима. Овај синтисајзер ствара звук веома лошег квалитета и огромна кашњења у преносу. Постоје бројни, квалитетнији синтисајзери, као нпр. Кулсофт виртуал МИДИ-синт.

За повезивање једног МИДИ-инструмента (уређаја...) на други користе се стварни МИДИ-провдници (кабла), а за повезивање МИДИ-програма патворени МИДИ-проводници. На виндоуз систему можете да употребите Миди-јоук, Мејпл, Лупби1, Сонијев патворени МИДИ-рутер или Лупмиди.

Инсталацијом Миди-јоук програма поставља се драјвер и програмче контролне табле за промену доступних МИДИ-прикључака (за ову радњу, неопходно је поново покретање система). Миди-јоук шаље сваки МИДИ-догађај са ИЗЛ прикључка на одговарајући УЛ прикључак. Тако нпр., ПМК може повезати излаз на прикључак 1, а други програми као нпр. Кју-синт могу ослушкивати исте догађаје са прикључка 1.

Употребом програма МидиОИкс се може остварити већи број веза између Миди-јоук прикључака и системских МИДИ-прикључака. Програм МидиОИкс нуди и бројне, друге могућности (свирање МИДИ датотека...).

На ГНУ/Линукс систему, имате програм АЛСА секвенцер који омогућава повезивање патвореним МИДИ-проводницима. При покретању програма МИДИ-портови се динамички стварају па их може при сваком новом покретању програма бити различит број, а повезивање се обавља преко аконект (aconnect) програма. Поред овог програма који се покреће из терминала (конзола), постоје бројни програми за рад у графичком окружењу, а један од њих је Кју-Џек-контрол (енг. QJackCtl). Већина програма ове намене се користи за контролу и управљање Џек или АЛСА звучним посредницима. Поред ових, МИДИ-веза, ови програми омогућавају и повезивање разних аудио-програма преко патворених аудио-проводника.

Кју-Џек-контрол сучеље

Патворене везе на ГНУ/Линукс систему — Кју-Џек-контрол

Често постављана питања

Како да видим 88 дирки?

Од издања ПМК-0.6.0, у поставкама програма можете да подесите приказ од 1 до 121 дирке, као и почетну ноту.

Зашто не чујем тонове?

ПМК не може сам да ствара звук, већ шаље МИДИ-поруке до неког синтисајзера који ствара звук на основу инструкција из МИДИ-порука. Проверите да ли је покренут неки од синтисајзера. Такође, проверите да ли сте повезали МИДИ-излаз програма на МИДИ-улаз одговарајућег синтисајзера. Уколико користите посебне распореде тастатуре на систему, покушајте да учитате одговарајуће мапе дирки за тај распоред, или користите изворне мапе дирки. Ако и даље нема звука, прочитајте доступну документацију за програм још једном.

Неке дирке су нечујне?

Одабиром МИДИ-канала број 10 (по МИДИ-стандарду, канал резервисан за „Ударачке инструменте“) на стандардном МИДИ-синтисајзеру, омогућено је свирање преко многих али не свих тастера-дирки. Ово је присутно и код МИДИ-канала за остале инструменте (изузев канала 10), јер се тонови различитих музичких инструмената налазе у различитом звучном (чујном) опсегу фреквенција. Ово је познато у музици као тонски распон или Теситура (на енглеском).

Назив МИДИ-програма не одговара стварном звуку инструмента?

Неопходно је да учитате одговарајућу „.ins“ датотеку са дефиницијама инструмената, а која мора да у потпуности одговара текућим звучним сетовима или звучним фонтовима у синтисајзеру. Укључена „gmgsxg.ins“ датотека садржи дефиниције инструмента на енглеском језику само за инструменте одређене Џенерал МИДИ, Роланд ГС и Јамаха ИксГ стандардима. Уколико звучни сетови или звучни фонтови МИДИ-синтисајзера не одговарају у потпуности овој датотеци, неопходно је учитати другу, одговарајућу, „.ins“ датотеку са дефиницијама инструмената. Уколико је тренутно немате можете је и сами створити.

Каква је синтакса „.ins“ датотеке дефиниција инструмената?

Једно од објашњења ове врсте датотека можете погледати на страницама ТСЕ3 програма.

Могу ли да се прекодирају дефиниције инструмената из „vkeybd“ програма у „.ins“ датотеке?

Могу. За ову намену, можете да користите програмску скрипту „txt2ins.awk“, а уколико имате инсталиран и „vkeybd“ програм, можете да користите његову алатку „sftovkb“ за стварање „.ins“ датотеке из било које „.sf2“ датотеке звучног фонта. У ПМК програму је доступна опција за увоз назива инструмената из „.sf2“ или „.dls“ датотека.

$ sftovkb ИМЕ_ДАТОТЕКЕ.sf2 | sort -n -k1,1 -k2,2 > ИМЕ_ДАТОТЕКЕ.txt
$ awk -f txt2ins.awk ИМЕ_ДАТОТЕКЕ.txt > ИМЕ_ДАТОТЕКЕ.ins

Програмску скрипту „txt2ins.awk“ која долази уз ПМК програм, можете пронаћи у његовом директоријуму са подацима.

Преузимање

За преузимање су доступне датотеке са изворним кôдом и инсталациони пакети за виндоуз и мек ос-икс системе преко Сорсфорџ страница пројекта.

Android app on Google Play VMPK for Android (free)

Уколико сте изградили посебне пакете програма за неку ’дистрибуцију‘, обавестите ме, а ја ћу додати везу до ваших страница преко којих их представљате.

Инсталација помоћу изворног кôда програма

Преузмите архиву са изворним кôдом програма са Сорсфорџ страница пројекта. Распакујте архиву изворног кôда у Ваш лични директоријум. Ако већ нисте у емулатору терминала, покрените га и идите у директоријум где сте распаковали архиву изворног кôда.
Следи пример са ГНУ/Линукс система (неопходно је најпре инсталирати одговарајуће развојне библиотеке).
Као обичан корисник, куцајте у емулатору терминала:

$ cd vmpk-x.y.z

За припрему превођења и инсталације програма можете користити програме Ц-мејк (CMake) или Кју-мејк (Qmake). Кју-мејк се не препоручује осим уколико желите да га испробате и побољшате његов рад. Дакле, препоручујемо употребу Ц-мејк програма.

$ cmake .
или
$ ccmake .
или
$ qmake

После ове радње, следи превођење програма:

$ make

Уколико је превођење програма било успешно, можете га инсталирати куцајући у емулатору терминала:

$ su
$ make install

или, Уколико користите судо систем за добијање администраторских дозвола:

$ sudo make install

Системски захтеви

Да би сте превели ПМК програм и створили његове инсталационе пакете потребне су вам КјуТ библиотеке издања 5.1 или новијег. Инсталирајте развојне КјуТ библиотеке на вашем систему („*-devel package“), или преузмите цео „КјуТ пакет — издање отвореног изворног кôда“ са адресе qt-project.org/downloads.

За све подржане системе неопходан је и програм Драмстик-Рт. Он користи АЛСА секвенцер на ГНУ/Линукс системима, ВинММ на виндоуз системима и КореМИДИ на мек ос-икс системима. Ово су и природни МИДИ-системи за ове подржане платформе.

Примрема за превођење програма је заснована на Ц-мејк програму.

За само превођење, потребан вам је и ГЦЦ Ц++ преводилац (На виндоуз системима можете користити МинГВ).

Опционо, за стварање инсталационог пакета на виндоуз системима, потребан је програм НСИС.

За виндоуз кориснике

Инсталација помоћу изворног кôда програма на виндоуз систему подразумева преузимање архива изворног кôда („.bz2“ или „.gz“ датотеке) и њихово распакивање програмом који подржава ове врсте датотека, као што је, нпр. „ 7-зип“ програм.

За подешавање изворног кôда неопходан је или Кју-мејк (из КјуТ5 програма) или Ц-мејк, а морате подесити и „PATH“ променљиву окружења тако да укључује путање до извршних датотека програма из пакета КјуТ, МинГВ и Ц-мејк. Програм Ц-мејк-ГУИ („CMakeSetup.exe“) је графичко издање програма Ц-мејк за виндоуз системе.

Неке напомене о употреби програма на виндоуз систему су приказане у одељку МИДИ-везе.

За мек ос-икс кориснике

Већ спремљен за употребу, програм ПМК (са укљученим КјуТ5 извршним библиотекама) се може преузети са Сорсфорџ страница пројекта. За инсталацију помоћу изворног кôда програма неопходни су Ц-мејк или Кју-мејк, а они ће обезбедити стварање програмског пакета који употребљава системске библиотеке (динамичко повезивање). Може се користити КјуТ5 са адресе „qt-project.org“ или пакет који обезбеђује Хоумбрју пројекат.

Систем за припрему, превођење и инсталацију је подешен за стварање тзв. универзалног извршног програма (икс86+ппс) у програмски пакет. За ову радњу су неопходни, како Еплови развојни алати и програми, тако и КјуТ5 библиотеке.

За превођење уз употребу „Makefiles“ створених Кју-мејк програмом, урадите:

$ qmake vmpk.pro -spec macx-g++
$ make
... и опционо:
$ macdeployqt build/vmpk.app

За превођење уз употребу „Makefiles“ створених Ц-мејк програмом, урадите:

$ cmake -G "Unix Makefiles" .
$ make

За стварање „Xcode“ датотека пројекта, урадите:

$ qmake vmpk.pro -spec macx-xcode
... или:
$ cmake -G Xcode .

Уколико Вам је неопходан и синтисајзер, погледајте Флуид-синт, Симпл-синт, МИДИ Печ-беј...

Програмски пакери и напредни корисници

При припреми за превођење и код самог превођења можете да користите и нека прилагођења. Постоје два начина да то урадите, а први је употреба преддефинисаних типова за изградњу програма.

$ cmake . -DCMAKE_BUILD_TYPE=Release

Ц-мејков „Release“ тип ће користити параметре за преводилац: „-O3 -DNDEBUG“. Други преддефинисани типови при изградњи су „Debug“, „RelWithDebInfo“, и „MinSizeRel“. Други начин је да самостално изаберете параметре за преводиоца.

$ export CXXFLAGS="-O2 -march=native -mtune=native -DNDEBUG"
$ cmake .

Не заборавите да у примеру изнад прилагодите „CXXFLAGS“ параметре вашем систему.

Да би сте инсталирали програм на произвољно место (подразумевано је у „/usr/local“), можете користити следећу опцију за Ц-мејк:

$ cmake . -DCMAKE_INSTALL_PREFIX=/usr

Захвалнице

У стварању овог програма, поред поменутих, коришћени су и следећи слободни пројекти.

Све најбоље. Хвала вам!

VMPK logo. Drawing by Theresa Knott

Доступни језици


Садржај


You can support Virtual MIDI Piano Keyboard by adding it to your stack at Ohloh


Везе пројекта



Android app on Google Play

Занимљиви програми (више-платформски)


Занимљиви ГНУ/Линукс програми


Занимљиви виндоуз програми


Занимљиви мек ОС-Икс програми


Преузмите ПМК са Сорсфорџ страница пројекта

Пројекат је змештен на Сорсфорџ послужитељу


Погледајте ГНУ ОЈЛ издања 3