Jump to content

Язык макросов музыки

(Перенаправлено с языка макросов Музыки )

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

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

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

Вся музыка была проприетарной ( с закрытым исходным кодом ). Выпуск программируемого таймера Intel интервального в 1978 году имел большое значение. Генератор прямоугольных импульсов Intel 8253 Mode 3 использовался для музыки в комплекте компьютера MZ-40K (Microcomputer Doctor ( Maikon Hakase ). BASIC BASIC MASTER использовал 5-битный цифро-аналоговый преобразователь автоматического опорного Микрокомпьютер MB-6880(ja) Master ( BASIC Master , Basic Master ) музыкального сигнала. Также важной была разработка метода генерации с использованием программного обеспечения BASIC . [2] Машина была собрана компанией Hitachi, Ltd. и произведена в Японии в сентябре 1978 года.

МЗ-40К имел открытую архитектуру и исходные коды программ , поэтому был своего рода программным обеспечением с открытым исходным кодом . [3]

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

[ редактировать ]

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

Синтаксис

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

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

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

Длина звука
Ценить Длина
0 1/32
1 1/16
2 пунктир 1/16
3 1/8
4 пунктир 1/8
5 1/4
6 пунктир 1/4
7 1/2
8 пунктир 1/2
9 1

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

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

10 TEMPO 4
20 A$="E5R1E3R0D3R0E3R0E1R0D1R0-G4R1"
30 B$="F3R0F1R0F1R0A3R0F1R0E1R0D1R0D1R0E5R0"
40 C$="C3R0C1R0C1R0E3R0C1R0-B1R0C1R0-B1R0-A1R0-A1-B5R0"
50 D$="E1R0E1R0E1R0E1R0E1R0E1R0D1R0E1R0E1R0E1R0D1R0-A1R0-A1R0B3R1"
60 E$="-A1R0-B1R0C1R0D1R0E1R0F1R0E1R0F3R1A3R1B1R0A1R0F3R0E3R0E1R0E4R0"
100 MUSIC A$+B$+B$
110 MUSIC C$+C$+B$
120 MUSIC C$+D$+E$

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

[ редактировать ]

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

Синтаксис

[ редактировать ]

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

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

  • cdefgab — Буквы a к g соответствуют музыкальной высоте соответствующей ноты и вызывают воспроизведение . Резкие ноты создаются путем добавления + или #и плоские ноты, добавив -. Длина ноты определяется путем добавления числа, представляющего ее длину как часть целой ноты , например: c8 представляет до восьмую ноту , и f+2 полунота F♯ .
  • p Пауза или отдых . Иногда также r, хотя оригинальные IBM и Microsoft BASIC использовали p, [15] как и все клоны (например, акустические устройства Linux и BSD). [16] Длина паузы задается так же, как и длина ноты, например: r1 производит полный отдых .
  • o — Далее следует число, o выбирает октаву, в которой будет играть инструмент.
  • >, < — Используется для повышения или понижения октавы на одну октаву .
  • l — За которым следует число, указывает длину по умолчанию, используемую нотами или паузами, которые не определяют ее явно. Например, l8 g a b g l16 g a b g производит серию из четырех восьмых , за которой следует серия из четырех шестнадцатых .
  • v — За которым следует число, задается громкость инструмента. Допустимый диапазон значений зависит от конкретного используемого звукового оборудования. Некоторые реализации также позволяют огибающую ADSR к амплитуде каждой ноты. применять
  • t — За которым следует число, задает темп в ударах в минуту . На оборудовании с более чем одним звуковым каналом часто можно установить для каждого канала разный темп.

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

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

t104
l4
>
c16f16
a>c8<a c16f16
a>c8<a c8
b-8>c8<b-8 g c8
a8>c8<a8 f c16f16
a>c8<a c16f16
a>c8<a c8
b-8>c8<b-8 g >c8
<f2

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

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

[ редактировать ]
  • Epic Games от ZZT и Super ZZT , а также с открытым исходным кодом клон под названием MegaZeux используют очень компактный вариант MML для команды PLAY, с только одним каналом для динамика ПК.
  • Microsoft QBASIC BASICA , имеют и GW- BASIC PLAY оператор, который принимает строковый аргумент в формате SMX. [19] [20] [21] Название «Музыкальный макроязык» может происходить от GW-BASIC, который предоставлял возможность «воспроизводить музыку путем встраивания музыкального макроязыка в строковый тип данных». [22] Компилятор SBasic из немецкого журнала DOS Extra, выпущенный DMV Widuch, предлагает ту же команду PLAY, а программа BASIC из нескольких строк может быть скомпилирована в небольшой (несколько КиБ) инструмент для воспроизведения любых файлов MML (часто называемых *.PLY). ), заданный в командной строке.
  • Диалект BASIC NEC PC-8801 , N88-BASIC, использовал MML в своем PLAY заявление, как и несколько других реализаций BASIC, производимых или продаваемых NEC . [10] [24]
    • Chiptune Композитор Юзо Косиро создал сильно модифицированную версию. По словам Косиро, «сначала это был скорее язык в стиле BASIC, но я модифицировал его, чтобы он был больше похож на ассемблер . Я назвал его «Music Love». Я использовал его во всех играх Bare Knuckle Games». [25]
  • были написаны различные утилиты MML Для семейства компьютеров NEC PC-9801 , включая PMD (Professional Music Driver). [12] композитор игры Масахиро Кадзихара (наиболее известный как KAJA), [26] который использовался композитором Рю Умэмото для таких игр, как EVE Burst Error и Grounseed , а также разработчиком игр ZUN для большинства его первых пяти игр Touhou Project .
  • Утилиты mck, pmck и ppmck для создания музыки для Nintendo Entertainment System . [11] [27] и ряд других инструментов для создания музыки для другого оборудования, такого как Bandai WonderSwan , NEC PC Engine и Sega Mega Drive . [12]
  • Утилита xpmck для создания музыки для различных систем, включая Master System , Game Gear , Mega Drive , Nintendo Game Boy и Commodore 64 . [28]
  • Некоторые сотовые телефоны используют MML в качестве формата мелодии звонка . [29] Язык рингтонов RTTTL обладает многими характеристиками MML.
  • , Была определена escape-последовательность позволяющая терминальным программам воспроизводить музыку, закодированную в MML. Из-за этого музыку в MML иногда называют ANSI Music. [30]
  • В компьютерной системе MSX встроенный MSX BASIC также использует MML с командой PLAY. Строки, разделенные запятыми, представляют отдельные голосовые каналы. Расширения музыкального оборудования, такие как MSX-Music, MSX-Audio и MSX-MIDI, расширяют команду PLAY, так что через MML можно управлять также FM-чипами и внешними MIDI-устройствами.
  • Музыкальная программа Sharp Pocket для компьютера PLAYX - Мой Архив .Nihongo -> ja:Список продуктов для карманных компьютеров .
  • Macrotune — это бесплатный редактор MML, доступный для Windows и OS X, а также предлагающий общие библиотеки для разработчиков программного обеспечения и игр.
  • FlopPI-Music ( заархивированная старая страница документации ) использует расширенный формат с заголовком файла с метаданными (такими как Автор, Название и т. д.), новой строкой, а затем одной строкой для каждого нотоносца, поддерживая несколько инструментов с тактовыми линиями. Он предназначен для вывода до восьми 3½-дюймовых дисководов для гибких дисков через порты Raspberry Pi GPIO. Он также содержит автономный анализатор MML, библиотеку и утилиту экспортера MusicXML , протестированные с помощью MuseScore , позволяющие легко отлаживать файлы MML с массовым параллелизмом, распечатку протоколов (в идеале после некоторой минимальной постобработки, но значения по умолчанию обычно разборчивы) и т. д. – Floppi-Music и MMLlib — это бесплатное программное обеспечение, написанное на чистом Python.
  • Petit Computer и SmileBASIC предлагают BGMPLAY функции, которые могут принимать либо предустановленный трек MML, либо трек, предоставленный в виде строки.
  • MMO оборудованного под названием Mabinogi позволяет игрокам вводить код MML в свитки с музыкальными партитурами в игре , которые затем можно воспроизводить, чтобы все поблизости могли услышать их с помощью инструмента . Из-за этого социального аспекта пользователи часто создавали свои собственные MML-версии популярных песен и загружали их на фан-сайты . Игра также обучает пользователей синтаксису с помощью книг навыков, которые также служат способом разблокировать более высокий предел размера при написании кода. ArcheAge MMO предоставляет те же возможности.
  • Программа для Windows под названием 3MLE была создана пользователем Mabinogi для помощи в написании свитков MML. Программа функционирует аналогично IDE , позволяя пользователю писать, оптимизировать и тестировать код MML для различных инструментов.

См. также

[ редактировать ]
  1. ^ Составлено « Томохиро Нисикадо » ( Tomohiro Nishikado/Tomohiro Nishikado ), работавшего в Pacific Industrial Co., Ltd. Все составлено самостоятельно.
  2. ^ PDF-файл;Микрокомпьютер BASIC MASTER MB-6880 Музыкальный метод [ постоянная мертвая ссылка ] - Кунихико ( 圀彦 ) , Нагай ( 長井 ) ; Терухиро ( английский ) , Такезава ( английский ) ; Казума ( Смотри ) , Ёсимура ( Смотри ) ; КаЦутоши ( январь ) , Тадзима апреля 26 ( 1979). «Hitachi Hyoron, апрель 1979 г. Особенности: микрокомпьютер, метод применения » digital.hitachihyoron . ХИТАЧИ. Архивировано из оригинала 8 мая. Получено 26 августа.
  3. ^ Остается Apple технология Open, разработанная Стивом Возняком в 1977 году, как и Apple Red book Apple Computers .
  4. ^ «Сабвуфер для монитора SHARP MZ.org MZ-80K $0030» . 20 сентября 2012 г. Архивировано из оригинала 26 сентября 2015 г. Проверено 19 сентября 2012 г.
  5. ^ ЦП - Z-80 Zilog. лицензированный вторичный источник
  6. ^ Нобуаки Охиши (20 сентября 2012 г.). "Лаборатория Nibbles. Музей SHARP, Фото и каталог МЗ-80К" .
  7. ^ SHARP Corporation; nagusa_kei (1978). Руководство MZ-80 BASIC SP-5030 , стр. 110. -Документ (проверка) Верхняя версия SP-5030. «Твиттер oec_Nibbleslab» . 22 сентября 2012 г. - «Твиттер PlayTrueName» . 22 сентября 2012 г. Проверено 22 сентября 2012 г. «twitter(twilog) PlayTrueName» . 22 сентября 2012 г. Проверено 28 декабря 2012 г. Корпорация SHARP (1978 г.) Базовое руководство корпорации SHARP.
  8. ^ «Сабвуфер для монитора SHARP MZ.org MZ-80K $0030» . 20 сентября 2012 г. Архивировано из оригинала 26 сентября 2015 г. Проверено 19 сентября 2012 г. / «SHARP MZ.org Мониторный сабвуфер MZ-700 $0030» . 20 сентября 2012 г. Архивировано из оригинала 9 мая 2015 г. Проверено 19 сентября 2012 г.
  9. ^ Мотои, Кенкичи. «Точка зрения. Она сказала: «Ты играешь». Я плачу / Офис Авамомо» . Архивировано из оригинала 18 февраля 2013 г. Проверено 20 сентября 2012 г. Запрограммировано и организовано Мотои, Кенкичи. «Twitter @PlayTrueName Σ:D『Так долго просыпались с◎Программированием под звуки музыки» . Проверено 22 сентября 2012 г. Лицензия #AAAP (включая лицензию Creative Commons CC-BY-SA и текст лицензии на бесплатную документацию GNU ).
  10. ^ Jump up to: а б с д и ж Селфридж-Филд, Элеонора (1997). За пределами миди: Справочник музыкальных кодов . Кембридж: MIT Press . ISBN  0-262-19394-9 .
  11. ^ Jump up to: а б «Интернет-энциклопедия Chiptune VORC — mck» . Архивировано из оригинала 3 января 2008 г. Проверено 13 февраля 2008 г.
  12. ^ Jump up to: а б с «Интернет-энциклопедия Chiptune VORC — MML» . Архивировано из оригинала 23 ноября 2007 г. Проверено 13 февраля 2008 г.
  13. ^ «VORC: VGM или Chiptune 2001 года» . 31 декабря 2001 г.
  14. ^ Джонсон, Джеремия . «Руководство для начинающих MCK/MML» . Архивировано из оригинала 14 декабря 2007 г. Проверено 13 февраля 2008 г.
  15. ^ «Руководство по IBM BASIC, второе издание (май 1982 г.), версия 1.10» (PDF) . Архивировано из оригинала (PDF) 15 июня 2015 г. Проверено 26 марта 2016 г.
  16. ^ Документация по устройству динамика MirBSD
  17. ^ Страница руководства по динамику FreeBSD (4)
  18. ^ Jump up to: а б страница руководства динамика(4)
  19. ^ «Базовое руководство по QBasic». Корпорация Майкрософт. 1991. {{cite journal}}: Для цитирования журнала требуется |journal= ( помощь )
  20. ^ «Руководство IBM Personal Computer BASIC». Корпорация IBM. 1982. {{cite journal}}: Для цитирования журнала требуется |journal= ( помощь )
  21. ^ «Руководство БАЗИКА». Корпорация Майкрософт. 1982. {{cite journal}}: Для цитирования журнала требуется |journal= ( помощь )
  22. ^ «Руководство GW-BASIC». Корпорация Майкрософт. 1987. {{cite journal}}: Для цитирования журнала требуется |journal= ( помощь )
  23. ^ Раймонд, Эрик (7 мая 1995 г.). «Работы Эрика Рэймонда с открытым исходным кодом» . Домашняя страница Эрика С. Рэймонда . Проверено 3 июля 2020 г.
  24. ^ Косиро, Юзо . «Интервью Юдзо Косиро» (Интервью). Беседовал Kikizo Games . Проверено 13 февраля 2008 г.
  25. ^ Щепаньяк, Джон. «Японские ретро-компьютеры: последний рубеж игр» . Хардкорные игры 101 . Проверено 29 марта 2011 г. Перепечатано с Ретро-геймер , 2009
  26. ^ «Инструментальная комната» (на японском языке) . Проверено 1 декабря 2019 г. .
  27. ^ «Интернет-энциклопедия Chiptune VORC — ppmck» . Архивировано из оригинала 12 октября 2006 г.
  28. ^ Свимм, Питер (21 декабря 2009 г.). «XPMCK — обновлен кроссплатформенный музыкальный компилятор» . Настоящий чип до смерти . Проверено 29 декабря 2011 г.
  29. ^ «Пришло время снова создавать свои собственные рингтоны? Преобразование MIDI-файлов и WAV-файлов в рингтоны». г. Проверено 13 февраля 2008 .
  30. ^ «ANSI Music — Технические подробности» . Проверено 16 января 2009 г.
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 20551c6940df29e10d3c76d5592088a9__1722862380
URL1:https://arc.ask3.ru/arc/aa/20/a9/20551c6940df29e10d3c76d5592088a9.html
Заголовок, (Title) документа по адресу, URL1:
Music Macro Language - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)