Page:ABC tech pages.djvu/1: Difference between revisions

Find traditional instrumental music
 
No edit summary
Page body (to be transcluded):Page body (to be transcluded):
Line 1: Line 1:
ABC with a UNIX Flavor  
'''ABC with a UNIX Flavor'''
Bruno M. Azevedo and José João Almeida  
{{break|2}}
Departmento de Informática, Universidade do Minho  
''Bruno M. Azevedo and José João Almeida''
{{break|2}}
Departmento de Informática, Universidade do Minho
Campus de Gualtar, 4710-057 Braga, Portugal  
Campus de Gualtar, 4710-057 Braga, Portugal  
pg19819@alunos.uminho.pt, jj@di.uminho.pt  
pg19819@alunos.uminho.pt, jj@di.uminho.pt  
Abstract  
{{break|2}}
abc is a simple, yet powerful, textual musical notation. This paper presents abc::dt, a  
--Abstract------------
ABC is a simple, yet powerful, textual musical notation. This paper presents abc::dt, a  
rule-based domain-specific language (Perl embedded), designed to simplify the creation of abc  
rule-based domain-specific language (Perl embedded), designed to simplify the creation of abc  
processing tools. Inspired by the Unix philosophy, those tools intend to be simple and compos-  
processing tools. Inspired by the Unix philosophy, those tools intend to be simple and compos-  
Line 23: Line 26:
example of abc notation and figure 1 its corresponding score.  
example of abc notation and figure 1 its corresponding score.  
Listing 1 Verbum caro factum est: Section 1; Part 1 - Soprano.  
Listing 1 Verbum caro factum est: Section 1; Part 1 - Soprano.  
<pre>
X:101  
X:101  
T:Verbum caro factum est  
T:Verbum caro factum est  
Line 32: Line 36:
G4G2|G4F2|A4A2|B4z2|:B3AGF|E2D2EF|G4F2|G6!fine!:|  
G4G2|G4F2|A4A2|B4z2|:B3AGF|E2D2EF|G4F2|G6!fine!:|  
w: Ver− bum|ca− ro|fac− tum|est|Por − que ∗|to − dos ∗|hos sal−|veis  
w: Ver− bum|ca− ro|fac− tum|est|Por − que ∗|to − dos ∗|hos sal−|veis  
Verbum caro factum est
</pre>
Anonimous, 16th century
{{break|2}}
Soprano
 
Ver bum ca ro
fac tum est
Por
que to
dos hos sal
veis
4
3
FINE
Figure 1 Verbum caro factum est Score: Sections 1: Part 1 - Soprano.  
Figure 1 Verbum caro factum est Score: Sections 1: Part 1 - Soprano.  
© Bruno M. Azevedo and José João Almeida;  
© Bruno M. Azevedo and José João Almeida;  

Revision as of 09:35, 5 June 2019

This page has been proofread

ABC with a UNIX Flavor

Bruno M. Azevedo and José João Almeida

Departmento de Informática, Universidade do Minho Campus de Gualtar, 4710-057 Braga, Portugal pg19819@alunos.uminho.pt, jj@di.uminho.pt

--Abstract------------ ABC is a simple, yet powerful, textual musical notation. This paper presents abc::dt, a rule-based domain-specific language (Perl embedded), designed to simplify the creation of abc processing tools. Inspired by the Unix philosophy, those tools intend to be simple and compos- itional in a Unix filters’ way. From abc::dt’s rules we obtain an abc processing tool whose main algorithm follows a traditional compiler architecture, thus consisting of three stages: 1) abc parser (based on abcm2ps’ parser), 2) abc semantic transformation (associated with abc attributes), 3) output generation (either a user defined or system provided abc generator). 1998 ACM Subject Classification H.5.5 Sound and Music Computing, D.3.4 Processors - Com- pilers Keywords and phrases Music Processing, ABC Notation, Unix, Scripting, Compilers Digital Object Identifier 10.4230/OASIcs.SLATE.2013.203 1 Introduction As computers were introduced to the world of music, a variety of file formats and tex- tual notations emerged in order to describe music, such as, abc [23], LilyPond [20] or MusicXML [17]. abc is used as the base notation throughout all of this paper. Listing 1 illustrates an example of abc notation and figure 1 its corresponding score. Listing 1 Verbum caro factum est: Section 1; Part 1 - Soprano.

X:101 
T:Verbum caro factum est 
C:Anonimous , 16th century 
M:3/4 
L:1/8 
K:G 
V:1 clef=treble −1 name="Soprano" sname="S . " 
G4G2|G4F2|A4A2|B4z2|:B3AGF|E2D2EF|G4F2|G6!fine!:| 
w: Ver− bum|ca− ro|fac− tum|est|Por − que ∗|to − dos ∗|hos sal−|veis 



Figure 1 Verbum caro factum est Score: Sections 1: Part 1 - Soprano. © Bruno M. Azevedo and José João Almeida; licensed under Creative Commons License CC-BY 2nd Symposium on Languages, Applications and Technologies (SLATE’13). Editors: José Paulo Leal, Ricardo Rocha, Alberto Simões; pp. 203–218 OpenAccess Series in Informatics Schloss Dagstuhl – Leibniz-Zentrum für Informatik, Dagstuhl Publishing, Germany