Switched-On Yampa Declarative Programming of Modular Synthesizers
Switched-On Yampa Declarative Programming of Modular Synthesizers
复制标题
模块化合成器的打开 Yampa 声明式编程
DOI:
--
复制
发表时间:
2007
期刊:
影响因子:
--
通讯作者:
H. Nilsson
中科院分区:
文献类型:
--
作者:
George Giorgidze;H. Nilsson
In this paper, we present an implementation of a modular synthesizer in Haskell using Yampa. A synthesizer, be it a hardware instrument or a pure software implementation, as here, is said to be modular if it provides sound-generating and sound-shaping components that can be interconnected in arbitrary ways. Yampa, a Haskell-embedded implementation of Functional Reactive Programming, supports flexible, purely declarative construction of hybrid systems. Since music is a hybrid continuous-time and discrete-time phenomenon, Yampa is a good fit for such applications, offering some unique possibilities compared to most languages targeting music or audio applications. Through the presentation of our synthesizer application, we demonstrate this point and provide insight into the Yampa approach to programming reactive, hybrid systems. We develop the synthesizer gradually, starting with fundamental synthesizer components and ending with an application that is capable of rendering a standard MIDI file as audio with respectable performance.