El FarmaceuticoPub Date : 2014-09-03DOI: 10.1145/2633638.2633641
Hans Hoglund
{"title":"[Demo abstract] Music suite: a family of musical representations","authors":"Hans Hoglund","doi":"10.1145/2633638.2633641","DOIUrl":"https://doi.org/10.1145/2633638.2633641","url":null,"abstract":"The Music Suite is a collection of Haskell libraries for composition, analysis and manipulation of music. It aims to be open and comprehensive rather than complete.\u0000 Representations can be combined in many ways to form a suitable representation for almost any kind of music. In a sense, the Music Suite describes a family of domain-specific languages. Common Music Notation (CMN) is included as a special case.\u0000 The Music Suite differs from many other music representation systems in that it allows continuous representation of pitch, dynamics and other musical aspects, in addition to the common discrete representations.","PeriodicalId":88474,"journal":{"name":"El Farmaceutico","volume":"104 1","pages":"33-34"},"PeriodicalIF":0.0,"publicationDate":"2014-09-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"80519091","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
El FarmaceuticoPub Date : 2014-09-03DOI: 10.1145/2633638.2633648
Samuel Aaron, Dominic A. Orchard, A. Blackwell
{"title":"Temporal semantics for a live coding language","authors":"Samuel Aaron, Dominic A. Orchard, A. Blackwell","doi":"10.1145/2633638.2633648","DOIUrl":"https://doi.org/10.1145/2633638.2633648","url":null,"abstract":"Sonic Pi is a music live coding language that has been designed for educational use as a first programming language. However, it is not straightforward to achieve the necessary simplicity of a first language in a music live coding setting, for reasons largely related to the manipulation of time. The original version of Sonic Pi used a `sleep' function for managing time, blocking computation for a specified time period. However, while this approach was conceptually simple, it resulted in badly timed music, especially when multiple musical threads were executing concurrently. This paper describes an alternative programming approach for timing (implemented in Sonic Pi v2.0) which maintains syntactic compatibility with v1.0, yet provides accurate timing via interaction between real time and a \"virtual time''. We provide a formal specification of the temporal behaviour of Sonic Pi, motivated in relation to other recent approaches to the semantics of time in live coding and general computation. We then define a monadic model of the Sonic Pi temporal semantics which is sound with respect to this specification, using Haskell as a metalanguage.","PeriodicalId":88474,"journal":{"name":"El Farmaceutico","volume":"43 1","pages":"37-47"},"PeriodicalIF":0.0,"publicationDate":"2014-09-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"79925747","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
El FarmaceuticoPub Date : 2014-09-03DOI: 10.1145/2633638.2633643
Mikael Vejdemo-Johansson, Henrik Bäärnhielm, D. Sundström
{"title":"[Demo abstract] using Haskell as DSL for controlling immersive media experiences: Ludic support and deep immersion in nordic technology-supported LARP","authors":"Mikael Vejdemo-Johansson, Henrik Bäärnhielm, D. Sundström","doi":"10.1145/2633638.2633643","DOIUrl":"https://doi.org/10.1145/2633638.2633643","url":null,"abstract":"For the technology supported Nordic LARP The Monitor Celestra in March 2013, we built a sound system to support deep immersion into the game world using a Haskell-embedded Domain Specific Language to specify soundscapes. The soundscapes helped simulating an operating spaceship using a WW2-era destroyer as the stage.\u0000 The system consisted of 14 loudspeaker stations built on Raspberry Pi, a central game server and local clients running on laptops or desktop computers owned by game directors and game masters.\u0000 In the demo, we describe the design choices and requirements we faced while building the system, how Haskell and Hackage libraries guided and supported the project, describe and show how game designers and game directors used Haskell to influence and steer the game as well as showcase a smaller installation of the complete system.","PeriodicalId":88474,"journal":{"name":"El Farmaceutico","volume":"17 1","pages":"23"},"PeriodicalIF":0.0,"publicationDate":"2014-09-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"88310621","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
El FarmaceuticoPub Date : 2014-09-03DOI: 10.1145/2633638.2633645
José Pedro Magalhães, Hendrik Vincent Koops
{"title":"Functional generation of harmony and melody","authors":"José Pedro Magalhães, Hendrik Vincent Koops","doi":"10.1145/2633638.2633645","DOIUrl":"https://doi.org/10.1145/2633638.2633645","url":null,"abstract":"We present FComp, a system for automatic generation of harmony and accompanying melody. Building on previous work on functional modelling of musical harmony, FComp first creates a foundational harmony by generating random (but user-guided) values of a datatype that encodes the rules of tonal harmony. Then, a melody that fits to the harmony is generated in a compositional sequence: generate all \"possible\" melodies, filter them to remove obvious bad choices, pick one candidate note per chord, and then embellish the resulting melodic line.\u0000 At this very early stage, we aim to define a solid system as a foundation that can be used to further improve upon. We care especially about modularity, so that each individual part of the pipeline can be easily improved, and ease of adaptation, so that users can quickly adapt the generated music to their liking. The resulting system generates simple but harmonious music, and serves as a good case study on how functional programming enables quick and clean prototyping of new ideas, even in the realm of automatic music composition.","PeriodicalId":88474,"journal":{"name":"El Farmaceutico","volume":"63 1","pages":"11-21"},"PeriodicalIF":0.0,"publicationDate":"2014-09-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"82690883","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
El FarmaceuticoPub Date : 2014-09-03DOI: 10.1145/2633638.2633646
T. Kristensen
{"title":"Exploring melody space in a live context using declarative functional programming","authors":"T. Kristensen","doi":"10.1145/2633638.2633646","DOIUrl":"https://doi.org/10.1145/2633638.2633646","url":null,"abstract":"This paper introduces Composer, a system offering composition capabilities for live performance, requiring no prior experience with composition and programming. Current research in computer assisted composition is focused on offline composition. A composer is seen as a person that composes pieces of music which are then performed at a later date, either by the composer or an artist. There has been work done in computer assisted live performance, but the focus in that field has mainly been on the live generation of synthesizers and novel, virtual instruments and musical interfaces. Unlike existing systems, Composer is intended to be used in a live context for the composition of novel melodies. The system makes no assumptions about the user's existing experience as a composer or a programmer. Instead of giving the user unbounded freedom, the system only allows the user to manipulate key properties of the desired melodies. The constraints the user can put on the melodies are the scale or mode in which the melody is set; the tonic note of the scale or mode; the cadence of the melody; the tempo of the melody; and the relative gap-size between notes in the melody. These rules are modelled using a declarative programming model that also supports automatic enumeration of the space of valid melodies. As complete enumeration of this search space is infeasible in a live context, experiments have been performed and their results are presented, to limit the size of the enumerated space while still yielding sufficient variation in the composed pieces. Furthermore, the general system design is presented and it is discussed how choices concerning the inter-communication between components in the system helps the system to be responsive and usable in a live composition context.","PeriodicalId":88474,"journal":{"name":"El Farmaceutico","volume":"1 1","pages":"25-31"},"PeriodicalIF":0.0,"publicationDate":"2014-09-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"86498917","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
El FarmaceuticoPub Date : 2014-09-03DOI: 10.1145/2633638.2633647
Alex McLean
{"title":"Making programming languages to dance to: live coding with tidal","authors":"Alex McLean","doi":"10.1145/2633638.2633647","DOIUrl":"https://doi.org/10.1145/2633638.2633647","url":null,"abstract":"Live coding of music has grown into a vibrant international community of research and practice over the past decade, providing a new research domain where computer science blends with the performing arts. In this paper the domain of live coding is described, with focus on the programming language design challenges involved, and the ways in which a functional approach can meet those challenges. This leads to the introduction of Tidal 0.4, a Domain Specific Language embedded in Haskell. This is a substantial restructuring of Tidal, which now represents musical pattern as functions from time to events, inspired by Functional Reactive Programming.","PeriodicalId":88474,"journal":{"name":"El Farmaceutico","volume":"2010 1","pages":"63-70"},"PeriodicalIF":0.0,"publicationDate":"2014-09-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"86290002","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
El FarmaceuticoPub Date : 2014-09-03DOI: 10.1145/2633638.2633644
B. T. Widemann, M. Lepper
{"title":"[Demo abstract] Sound and soundness: practical total functional data-flow programming","authors":"B. T. Widemann, M. Lepper","doi":"10.1145/2633638.2633644","DOIUrl":"https://doi.org/10.1145/2633638.2633644","url":null,"abstract":"The field of declarative data-stream programming (discrete time, clocked synchronous, compositional, data-centric) is divided between the visual data-flow graph paradigm favored by domain experts, the functional reactive paradigm favored by academics, and the synchronous paradigm favored by developers of low-level systems. Each approach has its particular theoretical and practical merits and target audience. The programming language Sig has been designed to unify the underlying paradigms in a novel way. The natural expressivity of visual approaches is combined with the support for concise pattern-based symbolic computation of functional programming, and the rigorous, elementary semantical foundation of synchronous approaches. Here we demonstrate the current state of implementation of the Sig system by means of example programs that realize typical components of digital sound synthesis.","PeriodicalId":88474,"journal":{"name":"El Farmaceutico","volume":"33 13 1","pages":"35-36"},"PeriodicalIF":0.0,"publicationDate":"2014-09-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"90150741","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
El FarmaceuticoPub Date : 2014-09-03DOI: 10.1145/2633638.2633640
Gabriel Alejandro Sanchez Fernandez
{"title":"[Demo abstract] Scripthica: a web environment for collective algorithmic composition","authors":"Gabriel Alejandro Sanchez Fernandez","doi":"10.1145/2633638.2633640","DOIUrl":"https://doi.org/10.1145/2633638.2633640","url":null,"abstract":"This paper presents the initial design and development work done on a new open source computer-aided music composition web environment for collective algorithmic music composition. Scripthica is envisioned as a web environment where users can compose and share algorithmic music compositions created with the JavaScript and Scheme programming languages.","PeriodicalId":88474,"journal":{"name":"El Farmaceutico","volume":"12 1","pages":"9-10"},"PeriodicalIF":0.0,"publicationDate":"2014-09-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"79159002","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
El FarmaceuticoPub Date : 2014-09-03DOI: 10.1145/2633638.2633642
Phil Jones
{"title":"[Demo abstract] Patterning: repetitive and recursive pattern generation using clojure and quil","authors":"Phil Jones","doi":"10.1145/2633638.2633642","DOIUrl":"https://doi.org/10.1145/2633638.2633642","url":null,"abstract":"We describe work-in-progress on \"Patterning\", a Clojure library designed to work with Quil, that generates repetitive visual patterns inspired by traditional textile and wallpaper designs.\u0000 Patterning uses function composition, recursion and lazily evaluated lists to allow short, elegant descriptions of complex, recursive and repetitive patterns. It is being developed to support a number of the author's ongoing art projects.","PeriodicalId":88474,"journal":{"name":"El Farmaceutico","volume":"36 1","pages":"71-72"},"PeriodicalIF":0.0,"publicationDate":"2014-09-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"91164889","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
El FarmaceuticoPub Date : 2014-09-03DOI: 10.1145/2633638.2633650
Davide Della Casa, G. John
{"title":"LiveCodeLab 2.0 and its language LiveCodeLang","authors":"Davide Della Casa, G. John","doi":"10.1145/2633638.2633650","DOIUrl":"https://doi.org/10.1145/2633638.2633650","url":null,"abstract":"We present LiveCodeLab 2.0, a web-based livecoding framework, and its language LiveCodeLang. We describe its operation, its connection with other livecoding frameworks, and its aspects related to functional programming.","PeriodicalId":88474,"journal":{"name":"El Farmaceutico","volume":"9 1","pages":"1-8"},"PeriodicalIF":0.0,"publicationDate":"2014-09-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"90826696","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}