{"title":"HMusic:用于音乐编程和现场编码的领域特定语言","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":"{\"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}","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}
HMusic: A domain specific language for music programming and live coding
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].