NNdef: livecoding digital musical instruments in SuperCollider using functional reactive programming

M. Negrão
{"title":"NNdef: livecoding digital musical instruments in SuperCollider using functional reactive programming","authors":"M. Negrão","doi":"10.1145/3242903.3242905","DOIUrl":null,"url":null,"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 hot-swap 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.","PeriodicalId":199077,"journal":{"name":"Proceedings of the 6th ACM SIGPLAN International Workshop on Functional Art, Music, Modeling, and Design","volume":"41 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2018-09-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"5","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 6th ACM SIGPLAN International Workshop on Functional Art, Music, Modeling, and Design","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3242903.3242905","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 5

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 hot-swap 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.
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
NNdef:在SuperCollider中使用函数式反应式编程对数字乐器进行实时编码
SuperCollider音频合成环境允许定义Synths,即使用相互连接的单元生成器图形生成声音的数字仪器。在SuperCollider中,Synth的定义主要是声明性的,另一方面,使用音乐控制器控制Synth参数的逻辑通常是在使用回调和显式状态的不同上下文中实现的。本文提出了一种不同的方法,其中使用功能反应性编程(FRP)来定义乐器的控制逻辑,从音乐控制器,移动应用程序或图形用户界面(GUI)小部件获取输入,并将输出发送到音频图形。音频和FRP图在相同的上下文中定义并同时编译,避免了音频和控制逻辑之间的硬划分。在NNdef类中使用FRP实现来实现音频和FRP代码的实时编码,并使用热插拔允许交互式工作流。还包括一个在FRP网络中持久化状态的系统,以便在以后保存和召回仪器。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
Compositional computational constructive critique: or, how my computer learned to appreciate poetry Programming-by-example for audio: synthesizing digital signal processing programs FARM 2018 demo summary NNdef: livecoding digital musical instruments in SuperCollider using functional reactive programming Abstract nonsense
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1