ABC — текстовый язык разметки, по концепции подобный языкам разметки HTML и TeX, предназначенный для разметки, форматирования и записи нот к музыкальным произведениям.
Ноты кодируются своими буквенными обозначениями (C D E F G A B, где «С» = «До», «D» = «Ре», «E» = «Ми» и т. д.). Также в тексте программы существуют специальные управляющие последовательности для кодирования специальных символов (надстрочные знаки, тексты песен, акценты и т. д.), а также информационные поля, определяющие размер, темп, тональность, заголовок композиции и т. д.
Преимущественно язык ABC используется для записи и хранения в компьютерных сетях фолк-музыки, т. н. тюнов (англ. tunes). Для преобразования исходного текста в формате ABC в музыкальный формат MIDI или в графическое представление (PostScript или PDF) используются различные специальные конвертеры, реализованные для платформ MS-DOS, Windows, UNIX, Linux, Mac OS, Mac OS X, Palm OS, а также для кроссплатформенных сред. Подготовка исходных текстов осуществляется с помощью обычных текстовых редакторов. Существуют также специализированные среды (IDE) для подготовки исходных текстов на языке ABC, а также для последующей обработки исходных текстов ABC (преобразования в графику и в MIDI) и просмотра (проигрывания) её результатов.
История языка
Основы языка ABC были разработаны Крисом Уолшо (англ. Chris Walshaw) в конце 1980-х — начале 1990-х годов во время путешествия автостопом по Центральной Европе:
I carried a flute in my rucksack and some tunes in my fingers. Now whilst I can usually remember how they start surrounded by the inspiration of a good session, I find it very difficult to get most tunes going sat on my own. I was musically illiterate at the time and so I resorted to writing the first couple of bars of all the tunes I could think of, using letters to represent notes.
Система записи нот была разработана Крисом Уолшо в личных целях и поначалу не была связана с компьютерными издательскими системами. Однако в 1993 году, играя в ансамбле французских волынщиков и регулярно сталкиваясь с необходимостью частой распечатки различных версий нот для одних и тех же мелодий, Крис Уолшо написал расширение abc2mtex к пакету LaTeX, позволявшее конвертировать ноты, записанные по придуманной Крисом системе, в команды пакета MusicTeX и далее в собственно нотную запись, пригодную для печати с хорошим полиграфическим качеством.
Позже программа и описание языка ABC были опубликованы Крисом Уолшо в ньюс-группе «IRTRAD-L», объединявшей любителей фолк-музыки. Языком ABC заинтересовался Джон Уолш (John Walsh), сотрудник Университета Британской Колумбии, использовавший подобную собственную систему для записи и упорядочивания коллекции народных мелодий. В 1994 году вышла новая версия пакета abc2mtex, дополненная совместно с Джоном Уолшем. В январе 1994 года программа была опубликована в интернете на портале «Ceolas» — одной из крупных интернет-коллекций фолк-музыки.