ABC-нотация — это сокращенная форма музыкальной нотации для компьютеров. В базовой форме она использует буквенную нотацию с a
– g
, A
– G
, и z
, для представления соответствующих нот и пауз , а также другие элементы, используемые для придания им дополнительной ценности — диез, бемоль , повышенная или пониженная октава , длина ноты , тональность и орнаментация . Эта форма нотации началась с комбинации нотации высоты тона Гельмгольца и использования символов ASCII для имитации стандартной музыкальной нотации (тактовые черты, отметки темпа и т. д.), что могло бы облегчить обмен музыкой в Интернете, а также добавило новый и простой язык для разработчиков программного обеспечения , мало чем отличающийся от других нотаций, разработанных для простоты, таких как табулатура и сольфеджио .
Более ранняя нотация ABC была построена, стандартизирована и изменена Крисом Уолшоу для лучшего соответствия клавиатуре и набору символов ASCII с помощью и при участии других. Первоначально разработанная для кодирования народных и традиционных западноевропейских мелодий ( например , из Англии, Ирландии и Шотландии), которые обычно являются одноголосными мелодиями, которые могут быть записаны в стандартной нотации на одной линейке нотного стана, расширения Уолшоу и других открыли ее с увеличенным списком символов и заголовков в синтаксисе, который также может поддерживать метаданные для каждой мелодии. [1]
Поскольку нотация ABC основана на ASCII , для создания и редактирования кодировки можно использовать любой текстовый редактор. Тем не менее, сейчас доступно множество пакетов программного обеспечения для нотации ABC, которые предлагают широкий спектр функций, включая возможность читать и обрабатывать нотацию ABC в файлах MIDI и в виде стандартной «точечной» нотации. Такое программное обеспечение доступно для большинства компьютерных систем, включая Microsoft Windows , Unix / Linux , Macintosh , Palm OS и веб-ориентированных. [2]
Более поздние сторонние программные пакеты обеспечили прямой вывод, минуя наборщик TeX, [3] и расширили синтаксис для поддержки текста, выровненного с нотами, [4] многоголосной и многонотной нотации, [5] табулатуры , [6] и MIDI . [7]
Нотация ABC широко использовалась в преподавании ирландской традиционной музыки в конце 1970-х годов и, скорее всего, гораздо раньше. В 1980-х годах Крис Уолшоу начал записывать фрагменты народных / традиционных мелодий, используя буквы для представления нот, прежде чем он изучил стандартную западную музыкальную нотацию. Позже он начал использовать ее MusicTeX
для записи французской волыночной музыки. Чтобы уменьшить утомительность написания MusicTeX
кода, он написал интерфейс для генерации команд TeX , который к 1993 году превратился в abc2mtex
программу. [8] Более подробную информацию см. в краткой истории ABC Криса Уолшоу [9] и хронологии нотации и программного обеспечения ABC Джона Чемберса. [10]
Самый последний стандарт для ABC был выпущен 21 декабря 2011 года. [11] Это текстовое описание синтаксиса ABC, устраняющее многие двусмысленности проекта стандарта 2.0 , который, в свою очередь, был создан на основе Руководства пользователя версии 1.6 оригинальной программы Криса Уолшоу 1996 года. В 1997 году Хенрик Норбек опубликовал форму Бэкуса–Наура (BNF). [12]"abc2mtex".
В 1997 году Стив Аллен зарегистрировал тип носителя text/vnd.abc
MIME в Internet Assigned Numbers Authority (IANA), [13] но регистрация в качестве типа MIME верхнего уровня потребовала бы формального запроса на комментарии (RFC). [14] В 2006 году Фил Тейлор сообщил, что довольно много веб-сайтов по-прежнему обслуживают файлы ABC как text/plain
. [15]
В 1999 году Крис Уолшоу начал работу над новой версией спецификации ABC для стандартизации расширений, разработанных в различных сторонних инструментах. После долгих обсуждений в списке рассылки пользователей ABC, в августе 2000 года был в конечном итоге выпущен проект стандарта (номинальная версия 1.7.6), но официально он так и не был выпущен. [16] После этого Крис на несколько лет отошел от активной разработки ABC. [17]
Гвидо Гонзато позже скомпилировал новую версию спецификации и опубликовал проект версии 2.0. Эта спецификация в настоящее время поддерживается Ирвином Оппенгеймом. Хенрик Норбек также опубликовал соответствующую спецификацию BNF. [18]
После всплеска возобновившегося интереса к прояснению некоторых неясностей в проекте 2.0 и предложений по новым функциям, серьезное обсуждение нового (и официального) стандарта возобновилось в 2011 году, завершившись выпуском ABC 2.1 в качестве нового стандарта в конце декабря 2011 года. Крис Уолшоу снова принял участие и координирует усилия по дальнейшему улучшению и прояснению языка, планируя темы, которые будут рассмотрены в будущих версиях, известных как ABC 2.2 и ABC 2.3.
Ниже приведен пример использования нотации ABC в MediaWiki .
<score lang= "ABC" > Х:1T: Наследие ДжигМ:6/8Д:1/8R:джигКГGFG BAB | gfg gab | GFG BAB | d2A AFD |GFG BAB | gfg gab | age edB |1 дБА AFD :|2 дБА ABd |:эфе edB | дБА АБд | эфе edB | ГБД АБД |efe edB | d2d def | gfe edB |1 дБА ABd :|2 дБА AFD |] </score>
Строки в первой части нотации мелодии, начинающиеся с буквы, за которой следует двоеточие, указывают различные аспекты мелодии, такие как индекс, когда в файле более одной мелодии ( X:
), название ( T:
), тактовый размер ( M:
), длина ноты по умолчанию ( L:
), тип мелодии ( R:
) и тональность ( K:
). Строки, следующие за обозначением тональности, представляют мелодию. Этот пример можно перевести в традиционную нотную запись с помощью одного из инструментов преобразования ABC. Например, код расширения Score (использующий LilyPond ) abc2ly
для программного обеспечения MediaWiki отображает это как:
В то время как программное обеспечение abcm2ps выдает вывод, который выглядит следующим образом:
Больше примеров можно найти на странице примеров ABC Криса Уолшоу [19] , где подробно представлены большинство основных функций ABC, за исключением пауз, которые обозначаются как z
.
Недавно ABC был реализован как средство сочинения и редактирования музыки в совместных средах. Некоторые среды Wiki, которые были адаптированы для использования ABC:
Score
для MediaWiki . Он использует GNU LilyPond в качестве базового движка рендеринга. LilyPond поставляется в комплекте со скриптом abc2ly
, который преобразует нотацию ABC в LilyPond. Расширение вызывает abc2ly, а затем LilyPond.MusicWiki
, реализация плагина Python для вики MoinMoinAbcMusic
для отображения ABC-нотации в PmWikiAbcMusic
плагинаgabc
, разработанная в рамках проекта Gregorio для транскрипций партитур григорианских песнопенийabcm2ps
в качестве движка рендеринга. Он опционально использует abc2MIDI
(доступно из проекта ABC Plus) для создания MIDI-аудиовывода.EasyABC
— ABC-редактор, поддерживающий экспорт MIDI и рендеринг SVG.abcjs
плагин для отображения нотации ABC на любой веб-странице. Это позволяет хранить ABC как текст на сервере и отображать на стороне клиента.ABC
— это приложение для Android , объединяющее abcm2ps
, abc2midi
, и немного , abc4j
в инструмент для сочинения музыки.