Це команда abc2midi, яку можна запустити в постачальнику безкоштовного хостингу OnWorks за допомогою однієї з наших численних безкоштовних робочих станцій, таких як Ubuntu Online, Fedora Online, онлайн емулятор Windows або онлайн емулятор MAC OS
ПРОГРАМА:
ІМ'Я
abc2midi - конвертує файл abc у файл(и) MIDI
СИНТАКСИС
abc2midi infile [refnum] [-c] [-v] [-ver] [-t] [-n межа] [-CS] [-тихий] [-тихий] [-Q
темп] [-NFNP] [-NFER] [-NGRA] [-STFW] [-OCC] [-NCOM] [-HARP] [-BF] [-TT] [-o вихідний файл]
-CSM [ім'я файлу]
ОПИС
Дія за замовчуванням — запис MIDI-файлу для кожної мелодії abc
з іменем файлу N.mid, де є стовбуром файлу
файлу abc, а N — контрольний номер мелодії. Якщо -o
використовується параметр, записується лише один файл. Це мелодія
зазначено за контрольним номером або, якщо його немає
дається перша мелодія у файлі.
ВАРІАНТИ
refnum обробити мелодію з номером посилання refnum
-c вибирає лише перевірку
-v n вибирає детальну опцію, де n – рівень (необов’язково)
-вер друкує номер версії та виходить
-t вибирає назви файлів, похідні від назв мелодії
-CS використовуйте 2:1 замість 3:1 для порушених ритмів
-спокійно Пригнічує деякі поширені попередження.
- мовчазний
Пригнічує інші повідомлення.
-n X обмежує довжину стовбура імені файлу до X символів
-Q темп
встановлює темп за замовчуванням у чвертьнотах на хвилину, якщо він не вказано в
заголовок abc.
-NFNP Ігноруйте будь-які динамічні ознаки !f! !ff! тощо
-НФЕР Ігноруйте будь-які ознаки fermata (наприклад, H або !fermata!).
-NGRA Ігноруйте будь-які ласки.
-STFW Помістіть текст лірики в окремі MIDI-треки.
-NCOM Придушити деякі коментарі у вихідному MIDI-файлі.
-OCC Прийміть старий акорд (наприклад, +D2G2+ замість [DG]2).
-BF Режим BarFly: за можливості викликає модель стресу.
-ГАРФА Орнаменти рулону = рулон створюються для арфіста (така ж висота)
-ТТ Змінює настройку з A = 440 Гц.
-o вихідний файл
записати вихід до вихідний файл
-CSM infile
завантажити набір спеціальних режимів стресу з файлу
ОСОБЛИВОСТІ
* Порушені ритми (>, <), акорди, n-кортежів, невиразне мовлення, зв'язки, ноти стакто, повтори, ін-
Підтримуються всі зміни темпу/довжини/тайму.
* R:hornpipe або r:hornpipe розпізнається, і синхронізація нот налаштовується, щоб дати поломку
ритм (ab перетворюється в a>b).
* Більшість помилок у вводі abc створить відповідне повідомлення про помилку у виводі та
конвертер продовжує працювати.
* Коментарі та текстові поля у джерелі abc перетворюються на текстові події в MIDI
вихід
* Якщо присутні гітарні акорди, вони використовуються для створення акомпанементу в MIDI
вихід.
* Якщо в abc є невідповідні знаки повторення, програма намагається виправити їх.
Однак він не намагатиметься зробити це, якщо використано опис мелодії з кількох частин або якщо
використовується кілька голосів.
* MIDI-файли караоке можна створити за допомогою поля w: для включення пісень.
* Нечислові голосові ідентифікатори, напр. V: сопрано, як запропоновано для нового стандарту abc, прийнято.
* Невидимі зупинки, визначені x, обробляються так само, як і звичайні відпочинки (z).
* Прикраси можуть бути вказані за допомогою застарілої позначення (наприклад, !fermata!) або
стандартна нотация версії 2.0 (наприклад, +fermata+).
ОБМЕЖЕННЯ
* Жодне поле не успадковується зверху над полем X: мелодії.
азбука СИНТАКС Розширення
* Є деякі розширення синтаксису abc форми
%%MIDI-канал №
Ці керують вибором каналів і програм, транспонуванням і різними іншими функціями
abc2midi.
Кожен з них повинен з’являтися на рядку окремо. Усі вони дозволені в межах abc
налаштувати тіло. Використовуючи їх у поєднанні з позначенням частини, можна, наприклад,
грати партію, транспоновану або в іншій тональності.
Ідея цього синтаксису полягає в тому, що інші програми розглядатимуть його як коментар і ігнорують
його.
%%MIDI-канал №
вибирає канал мелодії n (у діапазоні 1-16).
%%MIDI програма [c] n
вибирає програму n (у діапазоні 1-128) на каналі c. Якщо c не вказано, програма є
вибрано на поточному каналі мелодії. Більшість сучасних тон-генераторів слідують Загальному
Стандарт MIDI, який визначає тип інструменту для кожного номера програми.
%%MIDI переміг abcn
контролює спосіб вибору швидкості ноти. Перша нота в такті має швидкість а.
Інші «сильні» ноти мають швидкість b, а всі інші мають швидкість c. a, b і c повинні бути
в діапазоні 0-128. Параметр n визначає, які ноти є «сильними». Якщо час
підпис дорівнює x/y, тоді кожній ноті надається номер позиції k = 0, 1, 2 .. x-1 у кожній
бар. Зауважте, що одиниці для n не є одиницею довжини ноти. Якщо k кратне n, то
нота «сильна». Специфікатори обсягу !ppp! до !ffff! еквівалентні наступному
:
!ppp! = %%MIDI-бит 30 20 10 1
!pp! = %%MIDI-бит 45 35 20 1
!p! = %%MIDI-бит 60 50 35 1
!mp! = %%MIDI-бит 75 65 50 1
!mf! = %%MIDI-бит 90 80 65 1
!f! = %%MIDI-бит 105 95 80 1
!ff! = %%MIDI-бит 120 110 95 1
!фффф! = %%MIDI-бит 127 125 110 1
%%MIDI beatmod n
Збільшує на n (або зменшує, якщо n негативне) описані швидкості a, b і c
вище. Інструкції !crescendo(! і !crescendo)! еквівалентні вставці a
%%MIDI beatmod 15, де б вони не зустрічалися. (Крім того, ви можете використовувати !<(! і !<)!.)
Аналогічно інструкції !diminuendo(! і !diminuendo)! еквівалентні %%MIDI
бітмод -15.
%%MIDI дельта-гучність n
де n - невелике додатне число. За замовчуванням інструкції крещендо та зменшення
змінити змінні удару a, b і c на 15 одиниць швидкості. Ця інструкція дозволяє
встановити для цього значення за замовчуванням значення n.
%%MIDI без акцентів
Для таких інструментів, як церковний орган, які не мають сильно підкреслених нот удару, використовується
це змусить використовувати швидкість 'b' (див. %% MIDI-бит) для кожної ноти, незалежно від
положення в барі. Це дозволяє використовувати динаміку (ff, f тощо) у звичайний спосіб.
%%MIDI beataccent
Поверніться до підкреслення нотаток звичайним способом. (за замовчуванням)
%%MIDI-ряд
Це забезпечує альтернативний спосіб визначення місця падіння сильних і слабких напруг
в межах бару. «f» означає швидкість a (звичайно сильна), «m» означає швидкість b (середня
швидкість), а «p» означає швидкість c (м’яка швидкість). Наприклад, якщо тактовий розмір
7/8 з наголосами на першій, четвертій і шостій ноті в такті, ми могли б використовувати
після
%%MIDI рядок ударів fppmpmp
%%MIDI транспонувати n
транспонує вихід на задану кількість півтонів. n може бути позитивним або негативним.
%%MIDI rтранспонувати n
Відносна транспонування за вказаною кількістю півтонів. тобто %%MIDI транспонувати слід
на %%MIDI rtranspose b призводить до транспозиції a+b. %%MIDI транспонування буде результатом b
у транспозиції b півтонів, незалежно від будь-якої попередньої транспозиції.
%%MIDI cn
вказує тон MIDI, який відповідає c. За замовчуванням – 60. Це число повинно
зазвичай кратна 12.
%%MIDI пільги a/b
задає частку наступної ноти, яку займуть граційні ноти. a має бути між 1 і
б-1. Витончені ноти можуть здатися неприродними в такому підході, оскільки довжина
окремі ноти витонченості змінюються залежно від складності витонченості та довжини
наступна примітка. Інший підхід (який зараз є за замовчуванням) передбачає, що благодать
нотатки завжди мають фіксовану тривалість. Щоб використовувати інший підхід, який ви вказали,
%%MIDI-роздільник б
де b визначає, на скільки частин розділити одиницю довжини, задану полем L:
команда. Наприклад, якщо b = 4 і L: = 1/8, то кожна примітка буде 1/(8*4) або a
32-а нота. Час буде вкрадено з ноти, до якої застосовано благодатні ноти. Якщо
ця нота недостатньо довга, щоб впоратися з пільгою, тоді приміткам буде присвоєно 0
тривалість.
%%MIDI назва акорду n1 n2 n3 n4 n5 n6
Визначає, як грати гітарний акорд під назвою "name". n1 зазвичай дорівнює 0, а n2, від n3 до n6 дають
висоти інших нот у півтонах відносно основної ноти. Їх може бути менше
ніж 6 нот в акорді, але не більше. Якщо "ім'я" вже визначено, ця команда повторно
визначає це. На відміну від більшості інших команд, визначення імен акордів залишаються в силі з того місця, де
вони визначаються до кінця файлу abc. Нижче показано, як m, 7, m7 і
maj7 можна було б налаштувати, якщо вони ще не були визначені.
%%MIDI назва акорду m 0 3 7
%%MIDI назва акорду 7 0 4 7 10
%%MIDI назва акорду m7 0 3 7 10
%%MIDI ім'я акорду maj7 0 4 7 11
%%MIDI gchord рядок
налаштовує, як генеруються гітарні акорди. Рядок — це послідовність, що складається з z, c і f
і b для пауз, акордів, основних і фундаментальних плюс акордових нот відповідно.
Це визначає спосіб відтворення кожного такту. Допускається додаткова довжина
z, c, f і b, наприклад, czf2zf3. Якщо abc містить гітарні акорди, то abc2midi
автоматично додає акорди та основи після зустрічі з першим гітарним акордом. Це
продовжує використовувати цей акорд, доки новий акорд не буде вказано в abc. Коли є поле M:
зустрічається в abc, встановлюється відповідний рядок за замовчуванням:
Для 2/4 або 4/4 часу за замовчуванням еквівалентно: %%MIDI gchord fzczfzcz
Для 3/4 часу за замовчуванням еквівалентно: %%MIDI gchord fzczcz
Для часу 6/8 за замовчуванням еквівалентно: %%MIDI gchord fzcfzc
Для часу 9/8 за замовчуванням еквівалентно: %%MIDI gchord fzcfzcfzc
Команда gchord була розширена, щоб дозволити вам грати окремі ноти, що містять
гітарний акорд. Це дозволяє грати ламані акорди або арпеджіо. Нові коди
g,h,i,j, G,H,I,J посилаються на окремі ноти, починаючи з найнижчої ноти акорду
(не обов’язково корінь у випадку інверсій). Наприклад, для акорду до мажор, g
відноситься до C, h відноситься до E, а i відноситься до G. Для команди gchord, наприклад,
%%MIDI акорд ghih
Abc2midi буде арпеджувати акорд до мажор гітари до CEGE. Великі літери G,H,I,
і J відносяться до тих самих нот, за винятком того, що вони транспоновані на одну октаву вниз. Примітка для
перший інверсія до мажорного акорду (позначений "C/E"), ми буде найнижчою нотою, тому g
посилався б на примітку Е.
Як і інші коди gchord, ви можете додати цифру, яка вказує тривалість ноти. The
діють ті ж правила, що й раніше. Ви можете використовувати будь-яку комбінацію кодів gchord,
(fcbghijGHIJz).
%%MIDI chordprog n
Встановлює MIDI-інструмент для акордів на n. Якщо команда містить рядок
октава=n, де n - число від -2 до 2 включно, тоді це змінить висоту звуку
інструмент на n октав. Наприклад %%MIDI chordprog 10 октава=1.)
%%MIDI bassprog n
Встановлює MIDI-інструмент для басових нот на n. Якщо команда містить рядок
октава=n, де n - число від -2 до 2 включно, тоді це змінить висоту звуку
інструмент на n октав. Наприклад, %%MIDI bassprog 10 октава=-1.)
%%MIDI-акорд n
Встановлює гучність (швидкість) акордових нот на n.
%%MIDI басів н
Встановлює гучність (швидкість) басових нот на n. Немає відповідного мелодиву
так як для мелодії є 3 значення швидкості, встановлені за допомогою команди beat.
%%MIDI акорд
Вмикає гітарні акорди (вони ввімкнені за замовчуванням на початку мелодії).
%%MIDI gchordoff
Вимикає гітарні акорди.
%%MIDI дрон
Вмикає безперервний гул (використовується в дудській музиці), що складається з двох нот. За замовчуванням
ноти A і A, грають на фаготі зі швидкістю 80. Це можна налаштувати
за допомогою команди дрона %%MIDI, описаної нижче.
%%MIDI звучання
Вимикає безперервний дрон.
%%MIDI дрон n1 n2 n3 n4 n5
Встановлює параметри дрона, де n1 - це програма MIDI, n2 і n3 визначають висоту звуку MIDI
двох нот в акорді, а n4 і n5 визначають швидкість MIDI двох нот.
Якщо ви не встановите ці параметри, вони за замовчуванням 70 45 33 80 80. Значення нуль або
менше означає, що налаштування цього параметра слід залишити без змін.
%%MIDI барабанна струна [програми ударних] [швидкість ударних]
Це створює шаблон барабана. Струна визначає, коли є барабанний удар і барабан
значення програми визначають, як звучить кожен удар барабана.
наприклад %%MIDI барабан d2zdd 35 38 38 100 50 50
Рядок може містити «d» для удару барабана або «z» для відпочинку. За замовчуванням починається голос
без шаблону ударних і необхідний '%%MIDI drumon', щоб увімкнути гру на барабанах. Барабан
шаблон повторюється під час кожного такту, поки не зустрінеться «%%MIDI drumoff». Барабан %%MIDI
команду можна використовувати в мелодії, щоб змінити паттерн ударних. Ця команда розміщує
барабан звучить на каналі 10 і передбачає, що ваш тон-генератор відповідає стандарту General Midi
стандартний - якщо це не так, то ви можете почути тони замість звуків барабанів.
У командах gchord і drum стандартна довжина ноти однієї ноти f,c,z або d
не встановлюється командою L:. Натомість він налаштовується так, щоб вся струна gchord або
струна барабана вписується точно в один такт. Іншими словами, тривалість кожної ноти поділена
за загальною тривалістю рядка. Це означає, що, наприклад, барабанна струна «dd».
еквівалент барабанної струни "d4d4". Наразі не можна вказувати дроби безпосередньо (наприклад.
C3/2), як це зроблено в тілі музики, але все ще можна виразити складний
ритми. Наприклад, щоб позначити такий ритм, як (3ddd d/d/d/d, ви повинні написати
string "d4d4d4d3d3d3d3".
%%MIDI барабани n
Лінія барабанів %%MIDI може звучати досить монотонно, якщо вона повторюється кожен такт. Щоб обійти
ця проблема розповсюджується нова команда MIDI %%MIDI барабанить n, де n — невелике число
витягніть струну на n послідовних тактах. За замовчуванням для барабанів встановлено значення 1 підтримки
сумісність з існуючими файлами abc. Слід подбати, щоб барабанна струна була рівномірною
ділиться між барабанами. Також розмір часу не повинен змінюватися між тактами
в барабанному блокі. (Зразок файлу abc у документі doc/CHANGES 24 червня 2008 р.)
%%MIDI gchordbars n
Ця команда поширює струну gchord на n послідовних тактів так само, як барабани (вгорі).
(Зразок можна знайти в документі doc/CHANGES 17 березня 2009 року.)
У версії abc1.54midi 4 від 2004 грудня 2 р. ноти в акордах (наприклад, [FAc]) не відтворюються в
той самий момент, але зміщений і скорочений на 10 одиниць часу MIDI. Таким чином, перша нота в
акорд (наприклад, F) грається протягом повного вказаного часу, друга нота (наприклад, A) починається 10
MIDI одиниці пізніше і скорочується на таку ж величину, а третя нота починається ще на 10
MIDI одиниць пізніше і скорочено ще на 10 одиниць. Це вводить "expressivo"
варіант і уникає важкої атаки. (Це не стосується акордів або багатоголосих
акорди.) Величина затримки та скорочення може бути налаштована командою MIDI
%%MIDI chordattack n
де n - мале число. Якщо n дорівнює нулю, то abc2midi має вести себе, як і раніше
версії. Затримка n визначається в одиницях часу MIDI, де в четвертій ноті 480 одиниць
бити. Програма може працювати неправильно, якщо n занадто велике і є короткі акорди.
%%MIDI randomchordattack n
Як і вище, за винятком того, що затримка є випадковою величиною, рівномірно розподіленою між 0 і
п-1.
%%MIDI обрізка x/y
де x і y — два числа. Ця команда керує артикуляцією нот і акордів
шляхом розміщення тихих проміжків між нотами. Довжина цих проміжків визначається x/y
і довжину одиниці, задану командою L:. Ці зазори утворюються шляхом укорочення
купюри на таку ж суму. Якщо нота вже коротша за вказаний проміжок, то
розрив встановлюється на половину довжини ноти. Дріб x/y вказує на тривалість ноти в
так само, як зазначено у файлі abc. Фактична тривалість залежить від одиниці
довжина, задана командою поля L:. Рекомендується, щоб x/y був близьким дробом
до нуля. Обрізання нотаток вимкнено всередині образів, як зазначено в дужках. Можна повернути
вимкніть усі обрізки нот, встановивши x на 0, наприклад 0/1. За замовчуванням обрізання нотаток вимкнено
на початку мелодії або голосової команди.
%%MIDI розгорнути x/y
де x і y — два числа, що визначають дріб, менший за 1. Ця команда керує
артикуляція нот і акордів у зворотному порядку. Від цього ноти подовжуються
дріб, щоб вони перекривали початок наступної ноти.
%%MIDI барабан ноти мідітон
Будь ласка, див. abcguide.txt.
%%MIDI ptstress ім'я файлу
Ця команда завантажує ім’я файлу в abc2midi, який містить наголос Філа Тейлора
параметрів і переводить abc2midi в режим, де він застосовує ці параметри напруги до кожного
Примітка. Ця модель працює в опозиції до стандартної моделі ритму, тому MIDI-бит,
beatstring, команди beatmod стають неефективними. Це також означає, що динамічні
ознаки !f! !pp! тощо більше не працюють.
Існують дві різні реалізації моделі стресу. Модель 1 змінює нотатку
артикуляції та також контролює параметри обрізки MIDI. Щоб повернутися до
стандартної моделі, введіть команду %%MIDI beataccents. Модель 2 змінює як початок, так і
закінчення кожної ноти, що дозволяє музичному ритму розширюватися або звужуватися в часі. Однак,
довжина музичного такту повинна бути збережена. Зверніть увагу, якщо ви використовуєте модель 2, яка
поточного за замовчуванням, ви повинні включити -BF як один із параметрів часу виконання abc2midi.
Модель ділить брус на рівні сегменти. Для кожного сегмента – гучність або швидкість MIDI
вказано і вказано множник тривалості. Якщо примітка потрапляє в конкретну
сегмент, він припускає швидкість цього сегмента, і його тривалість відповідно змінюється.
Якщо примітка перекриває більше ніж один сегмент, то примітка приймає середнє значення цих сегментів
значення сегментів.
У вхідному файлі вказується кількість сегментів, а також множники гучності та тривалості
для кожного сегмента. Файл має наступний формат. Перше значення - це кількість
сегментів і кожна лінія вказує множник швидкості та тривалості специфічного
сегмент. Швидкість обмежена 127, а тривалість — десяткове число. Примітка
тривалість змінюється шляхом зміни проміжку між нотами, тому розширити a неможливо
Примітка. Це зберігає регулярний темп музики. Програма масштабування, тривалість ноти
поділивши його на максимальне значення, яке тут дорівнює 1.4.
%%MIDI стрес-модель n
де n дорівнює 1 або 2, вибирає реалізацію моделі напруги.
були використані інші %%MIDI-команди, такі як bendvelocity, bendstring, controlstring
представлені нещодавно і описані у файлі abcguide.txt.
СУМІСНІСТЬ З ПРОЕКТ STANDARD 2.0
Запропонований стандарт вводить нове поле авторського права з використанням синтаксису
%%abc-copyright (c) Авторське право John Smith 2003
Abc2midi тепер вставляє це в MIDI-файл у вигляді метатекстового тегу авторських прав.
Для обробки авторських прав у функцію event_specific у store.c було внесено зміни
інформації. Він також копіюється в доріжку Караоке (якщо вона створена) як поле @T.
Використовуйте abc2midi онлайн за допомогою служб onworks.net