# Notación musical Abc

La notación musical Abc es un lenguaje para escribir música que utiliza el conjunto de caracteres ASCII. Fue inicialmente creado por Chris Walshaw. Si bien es un lenguaje musical basado en ordenadores, uno de los principales objetivos ha sido que pueda ser leído con facilidad por los humanos. Inicialmente fue desarrollado para ser utilizado con composiciones folk y melodías tradicionales provenientes del oeste de Europa (inglesas, irlandesas, escocesas) que por lo general son melodías de una sola voz que pueden ser escritas en un solo pentagrama en notación estándar. La sintaxis también permite utilizar metadata para cada tono.
Dado que el sistema abc está basado en los caracteres ASCII, se puede utilizar cualquier editor de texto para editar música. Sin embargo, existen varios paquetes de software con diversas facilidades que permiten leer y procesar música escrita en sistema abc. La mayoría de este software es de distribución libre o shareware, y se encuentran disponibles para los diversos sistemas operativos existentes tales como Microsoft Windows, Unix/Linux, Macintosh, PalmOS, y aquellos que soportan la web.
Posteriormente otros paquetes de software han provisto salida directa (evitando la tipografía TeX), y han extendido la sintaxis para permitir la presentación de la letra de la canción alineada con las notas, múltiples voces y notación con múltiples pentagramas, tablatura, y MIDI.

## Historia

Hacia la década de 1980 Chris Walshaw comenzó a escribir fragmentos de melodías folklóricas y tradicionales utilizando letras para representar a las notas antes de aprender la notación musical occidental estándar. Posteriormente comenzó a utilizar MusicTeX para escribir música para gaita francesa. Para simplificar la complejidad de escribir código MusicTeX, él escribió un traductor automático para producir los comandos TeX, lo cual hacia 1993 dio lugar al programa abc2mtex. Para más detalles consultar la Breve historia del abc escrita por Chris, y la Cronología de la notación ABC y el software escrita por John Chambers.

### El estándar abc

El estándar oficial se denomina abc standard v1.6. Es una descripción textual de la sintaxis abc y fue tomado de la guía de usuario de 1996 de la versión 1.6 del programa abc2mtex original de Chris Walshaw. En 1997, Henrik Norbeck publicó una Descripción del estándar abc v1.6 utilizando notación de Backus-Naur.
En 1997, Steve Allen registró el text/vnd.abc MIME media type con la IANA. Pero el registro como un tipo MIME de alto nivel hubiera requerido una Petición de Comentarios de amplio espectro. En el 2006 Phil Taylor indicaba que unos pocos sitios web todavía soportaban archivos abc como texto/base.
En 1999, Chris Walshaw comenzó a trabajar en una nueva versión de la especificación abc para estandarizar las extensiones que habían sido desarrolladas en varias herramientas de otras compañías (third-party). Luego de numerosas discusiones en la Lista de discusión de usuarios de abc, en agosto del 2000 se consolidó una estándar borrador - versión 1.7.6, aunque nunca fue liberado en forma oficial. A partir de dicho momento Chris se desvinculó del desarrollo activo del abc.
Posteriormente Guido Gonzato compiló una versión nueva de la especificación y publicó una versión 2.0 borrador. Esta especificación es mantenida por Irwin Oppenheim como borrador IV fechada el 14 de agosto de 2003. Henrik Norbeck también publicó la especificación BNF correspondiente.

## Ejemplo

El siguiente ejemplo ilustra el uso de la notación musical abc
Las líneas en la primera parte de la notación de la melodía, que comienzan con una letra seguida por el signo de dos puntos, indican diversos aspectos de la melodía tales como el index, cuando hay más de una melodía en un archivo (X:), el título (T:), el tipo de melodía (R:), el compás (M:), la duración por omisión de las notas musicales (L:) y la clave (K:). Las líneas que siguen a la indicación de la clave con la melodía propiamente dicha. Este ejemplo puede ser traducido a notación musical tradicional utilizando una de las herramientas de conversión abc existentes. Por ejemplo, el software abcm2ps produce una salida que es similar a la que se muestra en la imagen a continuación: