{"title":"HMusic: A domain specific language for music programming and live coding","authors":"A. R. D. Bois, R. Ribeiro","doi":"10.5281/zenodo.3673003","DOIUrl":null,"url":null,"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, drum machines and DAWs. 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, hence programmers can design functions to manipulate music on the fly. The current implementation of the language is compiled into Sonic Pi [10] and can be downloaded from [9].","PeriodicalId":161317,"journal":{"name":"New Interfaces for Musical Expression","volume":"43 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2019-06-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"3","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"New Interfaces for Musical Expression","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.5281/zenodo.3673003","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 3
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, drum machines and DAWs. 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, hence programmers can design functions to manipulate music on the fly. The current implementation of the language is compiled into Sonic Pi [10] and can be downloaded from [9].