HMusic: A domain specific language for music programming and live coding

Andre Rauber Du Bois, and Rodrigo Geraldo Ribeiro

Proceedings of the International Conference on New Interfaces for Musical Expression

Abstract:

This paper presents HMusic, a domain specific language based on music patterns that can be used to write music and live coding. The main abstractions provided by the language are patterns and tracks. Code written in HMusic looks like patterns and multi-tracks available in music sequencers and drum machines. HMusic provides primitives to design and compose patterns generating new patterns. The basic abstractions provided by the language have an inductive definition and HMusic is embedded in the Haskell functional programming language, programmers can design functions to manipulate music on the fly.

Citation:

Andre Rauber Du Bois, and Rodrigo Geraldo Ribeiro. 2019. HMusic: A domain specific language for music programming and live coding. Proceedings of the International Conference on New Interfaces for Musical Expression. DOI: 10.5281/zenodo.3673003

BibTeX Entry:

  @inproceedings{RauberDuBois2019,
 abstract = {This paper presents HMusic, a domain specific language based on music patterns that can be used to write music and live coding. The main abstractions provided by the language are patterns and tracks. Code written in HMusic looks like patterns and multi-tracks available in music sequencers and drum machines. HMusic provides primitives to design and compose patterns generating new patterns. The basic abstractions provided by the language have an inductive definition and HMusic is embedded in the Haskell functional programming language,  programmers can design functions to manipulate music on the fly.},
 address = {Porto Alegre, Brazil},
 author = {Andre Rauber Du Bois and Rodrigo Geraldo Ribeiro},
 booktitle = {Proceedings of the International Conference on New Interfaces for Musical Expression},
 doi = {10.5281/zenodo.3673003},
 editor = {Marcelo Queiroz and Anna Xambó Sedó},
 issn = {2220-4806},
 month = {June},
 pages = {381--386},
 publisher = {UFRGS},
 title = {HMusic: A domain specific language for music programming and live coding},
 url = {http://www.nime.org/proceedings/2019/nime2019_paper074.pdf},
 year = {2019}
}