stringtranslate.com

Музыкальный макроязык

Музыкальный макроязык (MML) — это язык описания музыки, используемый для секвенсирования музыки на компьютерных и игровых системах .

Фон

Ранние функции автоматической генерации музыки использовались в аркадных видеоиграх , которые использовали множество компьютерных звуков. Примером ранней популярной аркадной игры с музыкой является The Circus от Exidy Corporation 1977 года.

Расцвет японских видеоигр начался в 1978 году с появления в японских игровых центрах ( залах игровых автоматов ) игры Space Invaders от Taito . [1]

Вся музыка была проприетарной ( с закрытым исходным кодом ). Выпуск программируемого интервального таймера Intel в 1978 году имел большое значение. Генератор прямоугольных импульсов Intel 8253 Mode 3 использовался для музыки в компьютере Kit MZ-40K (Microcomputer Doctor ( Maikon Hakase ,マイコン博士/まいこんはかせ) ) от SHARP Corporation , изготовленный в Японии в мае 1978 года. Еще один микрокомпьютер BASIC MASTER MB-6880(ja) BASIC Master ( BASIC Master ,ベーシックマスター) использовал 5-битный цифро-аналоговый преобразователь автоматического опорного музыкального сигнала. Также важной была разработка метода генерации с использованием программного обеспечения BASIC . [2] Машина была собрана компанией Hitachi и произведена в Японии в сентябре 1978 года. MZ-40K использовал открытую архитектуру и исходные коды программ , поэтому был своего рода программным обеспечением с открытым исходным кодом .

Версии

Классический ММЛ

Первые команды для классического MML появились во внутренней архитектуре операционных систем SP-1002 MONITOR IOCS [3] и SP-5001 BASIC на 8-битном компьютере MZ-80K [4] . Создан корпорацией SHARP в 1978 году в Японии . [5] Он включал в себя аппаратное обеспечение Intel 8253 и отображаемый в памяти ввод-вывод. Звуковыми операторами BASIC были MUSIC, TEMPO и BEEP. [6]

Синтаксис

Открытый отсканированный вариант страницы 110 Руководства по MZ-80 BASIC 1987 года от Sharp Corporation , описывающий происхождение синтаксиса MML.

Классический MML, используемый в BASIC , описан здесь. " Команды MML " поставляются в операторе MUSIC. Ноты указываются в трехоктавном диапазоне. Песня представляет собой последовательность монотонов.

"+" (или в каком-то старом коде " ̄") обозначает верхнюю октаву, "-" (или в каком-то старом коде "_") обозначает нижнюю октаву. Символы "CDEFGAB" соответствуют гамме ("Doremi Faso Lassi"). Полутон обозначается следующим за нотой символом "#". За названиями нот следует длительность тона, обозначенная числом от 0 до 9. Аналогично, R обозначает паузу, а также за ней следует число от 0 до 9, обозначающее длительность. Внутреннее значение длительности звука × значения TEMPO. Длина тона полушестидесятой ноты равна 0 (внутреннее значение SP-1002 равно 1) - целая нота равна 9 (внутреннее значение SP-1002 равно 32). Музыка, проигрываемая по вызову $0030 SP-1002 IOCS подпрограммы. [7]

Утверждения TEMPO n составляет 1–9, самый медленный 1.TEMPO 4 аналогичен T=120.

Пример

Ниже представлена ​​популярная японская песня « tōryanse », написанная с использованием MML на MZ-731 SHARP S-BASIC 1Z-007B (совместима с SP-5001 Upper). [8]

10 ТЕМПО 4 20 A$ = "E5R1E3R0D3R0E3R0E1R0D1R0-B4R1" 30 B$ = "F3R0F1R0F1R0A3R0F1R0E1R0F1R0E1R0D1R0D1R0E4R1" 40 C$ = "C3R0C1R0C1R0E3R0C1R0-B1R0C1R0-B1R0-A1R0-A1R0-B4R1" 50 D$ = "E1R0E1R0E1R0E1R0E1R0E1R0D1R0E1R0E1R0E1R0D1R0-A1R0-A1R0-B4R1" 60 E$ = "-A1R0-B1R0C1R0D1R0E1R0F1R0E1R0F3R1A3R1B1R0A1R0F3R0E3R0E1R0D1R0E4R1" 100 МУЗЫКА A$ + B$ + B$ 110 МУЗЫКА C$ + C$ + B$ 120 МУЗЫКА C$ + D$ + E$             

Современный ММЛ

Современный MML изначально появился в Microsoft BASIC и был распространён в начале 1970-х и 1980-х годов на 8-битных и 16-битных японских персональных компьютерах . NEC PC-6001 включал Microsoft BASIC и Programmable Sound Generator в 1981 году. MML был особенно популярен на персональных компьютерах NEC , таких как NEC PC-8801 . [9] С выпуском в 2001 году программного обеспечения mck (Music Creation Kit) для компиляции MML для воспроизведения музыки на Nintendo Entertainment System , [10] осведомлённость и использование MML возросли. [11] В настоящее время MML популярен среди японских электронных музыкантов [9] и музыкантов, которые создают чиптюны [12] как способ писать музыку для Nintendo Entertainment System .

Синтаксис

Современный MML возник как подъязык BASIC , затем обычно включался в ПЗУ микрокомпьютеров. PLAYОператор использует аргумент для определения строки тонов, которые воспроизводит звуковой чип. Код MML имеет простой текстовый формат, в котором буквы и цифры используются для описания музыкальных нот, которые должны быть воспроизведены. [9] Кроме того, различные реализации MML добавляют системные расширения, позволяющие изменять параметры аудиосинтеза с помощью специализированных команд или упрощать ввод общих музыкальных фигур, таких как арпеджио .

Хотя многие платформы имеют пользовательские расширения, а требования к регистру букв и другие незначительные синтаксические особенности немного различаются в некоторых реализациях, основные правила синтаксиса, команды и особенности, которые определяют MML и присутствуют полностью или частично во всех реализациях, следующие: [9] [13]

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

Пример

Ниже представлена ​​современная транскрипция Танца кукушек на MML (с пробелами для ясности, хотя некоторые интерпретаторы MML требуют их удаления перед воспроизведением).

т104л4>с16ф16а>с8<а с16ф16а>с8<а с8б-8>с8<б-8 г с8а8>с8<а8 ф с16ф16а>с8<а с16ф16а>с8<а с8б-8>с8<б-8 г >с8<ф2

СМХ

Standard Musical eXpression (SMX) — это вариант Modern MML, представленный Microsoft в QBASIC , BASICA и заявлении GW-BASIC . PLAY[ 9] Версия, используемая GW-BASIC, является частью современных BSD, FreeBSD , [16] NetBSD , OpenBSD и MirOS ; см. speaker(4) для получения информации о языке. [17]

Языки, платформы и программное обеспечение

Смотрите также

Ссылки

  1. ^ Составлено Томохиро Нисикадо (西角友宏/にしかどともひろ), работавшим в Pacific Industrial Co., Ltd. Все составлено самостоятельно.
  2. ^ Файл PDF;Микрокомпьютер BASIC MASTER MB-6880 Музыкальный метод [ постоянная мертвая ссылка ‍] - Кунихико (圀彦) , Нагай (長井) ; Терухиро (輝洋) , Такезава (竹澤) ; Кадзума (一馬) , Ёсимура (吉村) ; КаЦутоши (活利) , Тадзима (田島) (26 апреля 1979 г.). «Hitachi Hyoron, апрель 1979 г., особые характеристики: микрокомпьютер, метод применения». digital.hitachihyoron . ХИТАЧИ. Архивировано из оригинала 8 мая 2015 года . Проверено 26 августа 2013 г.
  3. ^ "SHARP MZ.org MZ-80K monitor sub $0030". 2012-09-20. Архивировано из оригинала 2015-09-26 . Получено 2012-09-19 .
  4. ^ ЦП — Z-80 Zilog Licensed Вторичный источник
  5. ^ Нобуаки Охиши (2012-09-20). «Лаборатория Nibbles. Музей SHARP, Фото и каталог MZ-80K».
  6. ^ Корпорация SHARP; нагуса_кей (1978). МЗ-80 БЕЙСИК СП-5030 マニュアル. Корпорация ШАРП. п. 110.-Документ (проверка) Верхняя версия SP-5030 "twitter oec_Nibbleslab". 2012-09-22.- "twitter PlayTrueName". 2012-09-22 . Получено 2012-09-22 ."twitter(twilog) PlayTrueName". 2012-09-22 . Получено 2012-12-28 .Корпорация ШАРП (1978). МЗ-80 БАЗОВЫЙ マニュアル. Корпорация ШАРП. п. 110.
  7. ^ "SHARP MZ.org MZ-80K monitor sub $0030". 2012-09-20. Архивировано из оригинала 2015-09-26 . Получено 2012-09-19 ./ "SHARP MZ.org MZ-700 monitor sub $0030". 2012-09-20. Архивировано из оригинала 2015-05-09 . Получено 2012-09-19 .
  8. ^ Мотои, Кенкичи. "Точка зрения. Она сказала "ты играешь", я плачу/Офис Авамомо". Архивировано из оригинала 2013-02-18 . Получено 2012-09-20 . Программирование и аранжировка: Мотои, Кенкичи. "Twitter @PlayTrueName Σ:D『Так долго просыпаться под◎Программирование под звуки музыки" . Получено 22.09.2012 . Лицензия #AAAP (включая Creative Commons CC-BY-SA и текст GNU Free Documentation License).
  9. ^ abcdef Селфридж-Филд, Элеанор (1997). Beyond Midi: The Handbook of Musical Codes . Кембридж: MIT Press . ISBN 0-262-19394-9.
  10. ^ ab "VORC Internet Chiptune Encyclopedia - mck". Архивировано из оригинала 2008-01-03 . Получено 2008-02-13 .
  11. ^ abc "VORC Internet Chiptune Encyclopedia - MML". Архивировано из оригинала 2007-11-23 . Получено 2008-02-13 .
  12. ^ "VORC: VGM или чиптюн 2001 года". 2001-12-31.
  13. ^ Джонсон, Джеремайя . "MCK/MML Beginners Guide". Архивировано из оригинала 2007-12-14 . Получено 2008-02-13 .
  14. ^ "IBM BASIC manual, Second Edition (May 1982), Version 1.10" (PDF) . Архивировано из оригинала (PDF) 2015-06-15 . Получено 2016-03-26 .
  15. ^ Документация по устройству динамика MirBSD
  16. ^ Страница руководства FreeBSD speaker(4)
  17. ^ ab speaker(4) страница руководства
  18. ^ "Руководство по QBasic". Корпорация Microsoft. 1991. {{cite journal}}: Цитировать журнал требует |journal=( помощь )
  19. ^ "Руководство по IBM Personal Computer BASIC". Корпорация IBM. 1982. {{cite journal}}: Цитировать журнал требует |journal=( помощь )
  20. ^ "Руководство по BASICA". Корпорация Microsoft. 1982. {{cite journal}}: Цитировать журнал требует |journal=( помощь )
  21. ^ "Руководство GW-BASIC". Корпорация Microsoft. 1987. {{cite journal}}: Цитировать журнал требует |journal=( помощь )
  22. ^ Рэймонд, Эрик (7 мая 1995 г.). «Работы Эрика Рэймонда с открытым исходным кодом». Домашняя страница Эрика С. Рэймонда . Получено 3 июля 2020 г.
  23. ^ Косиро, Юдзо . "Интервью с Юдзо Косиро" (Интервью). Интервью взято Kikizo Games . Получено 13 февраля 2008 г.
  24. ^ Щепаниак, Джон. "Ретро-японские компьютеры: Последний рубеж игр". Hardcore Gaming 101. Получено 29.03.2011 .Перепечатано из Retro Gamer , 2009
  25. ^ "ツールのお部屋" (на японском языке) . Проверено 1 декабря 2019 г.
  26. ^ "VORC Internet Chiptune Encyclopedia - ppmck". Архивировано из оригинала 2006-10-12.
  27. ^ Swimm, Peter (21 декабря 2009 г.). "XPMCK - Cross Platform Music Compiler Kit обновлен". True Chip Till Death . Получено 29 декабря 2011 г.
  28. Ссылки ​ITmedia, Inc. 3 апреля 2001 г. Проверено 13 февраля 2008 г.
  29. ^ "ANSI Music - Технические подробности" . Получено 2009-01-16 .