Publication
NNdef: livecoding digital musical instruments in SuperCollider using functional reactive programming
| datacite.subject.fos | Engenharia e Tecnologia | |
| datacite.subject.sdg | 09:Indústria, Inovação e Infraestruturas | |
| dc.contributor.author | Negrão, Miguel Cerdeira | |
| dc.date.accessioned | 2025-12-04T14:54:06Z | |
| dc.date.available | 2025-12-04T14:54:06Z | |
| dc.date.issued | 2018 | en_US |
| dc.date.updated | 2025-12-03T10:21:33Z | |
| dc.description | Conference name 6th ACM SIGPLAN International Workshop on Functional Art, Music, Modeling, and Design, FARM 2018, co-located with ICFP 2018, St. Louis, MO, USA, 29 September 2018. | |
| dc.description | Conference code - 140500. | |
| dc.description.abstract | The SuperCollider audio synthesis environment allows the definition of Synths, digital instruments which generate sound using a graph of interconnected unit generators. In SuperCollider the definition of a Synth is mostly declarative, on the other hand the logic for controlling parameters of a Synth using musical controllers is usually implemented in a different context using callbacks and explicit state. This paper presents a different approach where functional reactive programming (FRP) is used to define the control logic of the instrument, taking inputs from musical controllers, mobile apps or graphical user interface (GUI) widgets and sending outputs to the audio graph. Both audio and FRP graphs are defined in the same context and compiled simultaneously avoiding a hard division between audio and control logic. An FRP implementation is used in the NNdef class to enable livecoding of both audio and FRP code, with hotswap allowing an interactive workflow. Also included is a system to persist the state in the FRP network in order to save and recall the instrument at a later time. | eng |
| dc.description.sponsorship | Part of this material is based upon work supported by the Foundation for Scienceand Technology Portugal under Grant No. SFRH/BD/76694/2011. | |
| dc.description.version | N/A | |
| dc.identifier.citation | Miguel Cerdeira Negrão. 2018. NNdef: livecoding digital musical instruments in SuperCollider using functional reactive programming. In Proceedings of the 6th ACM SIGPLAN International Workshop on Functional Art, Music, Modeling, and Design (FARM 2018). Association for Computing Machinery, New York, NY, USA, 1–8. https://doi.org/10.1145/3242903.3242905 | |
| dc.identifier.doi | 10.1145/3242903.3242905 | en_US |
| dc.identifier.isbn | 978-145035856-9 | |
| dc.identifier.slug | cv-prod-2635015 | |
| dc.identifier.uri | http://hdl.handle.net/10400.8/14874 | |
| dc.language.iso | eng | |
| dc.peerreviewed | yes | |
| dc.publisher | Association for Computing Machinery (ACM) | |
| dc.relation.hasversion | https://dl.acm.org/doi/10.1145/3242903.3242905 | |
| dc.rights.uri | N/A | |
| dc.subject | Digital musical instrument | |
| dc.subject | Functional reactive programming | |
| dc.subject | Livecoding | |
| dc.title | NNdef: livecoding digital musical instruments in SuperCollider using functional reactive programming | eng |
| dc.type | conference paper | en_US |
| dspace.entity.type | Publication | |
| oaire.citation.conferenceDate | 2018-09 | |
| oaire.citation.conferencePlace | St. Louis, Missouri. EUA | |
| oaire.citation.endPage | 8 | |
| oaire.citation.startPage | 1 | |
| oaire.citation.title | FARM 2018 - Proceedings of the 6th ACM SIGPLAN International Workshop on Functional Art, Music, Modeling, and Design, , co-located with ICFP 2018 | |
| oaire.version | http://purl.org/coar/version/c_970fb48d4fbd8a85 | |
| person.familyName | Cerdeira Negrão | |
| person.givenName | Miguel | |
| person.identifier.ciencia-id | 3B1A-36E2-B96B | |
| person.identifier.orcid | 0000-0002-6540-3164 | |
| person.identifier.rid | ABH-7711-2020 | |
| rcaap.cv.cienciaid | 3B1A-36E2-B96B | Miguel Cerdeira Marreiros Negrão | |
| rcaap.rights | openAccess | en_US |
| relation.isAuthorOfPublication | 27585414-d859-4dc0-9cac-72e03a4407a5 | |
| relation.isAuthorOfPublication.latestForDiscovery | 27585414-d859-4dc0-9cac-72e03a4407a5 |
