Switched-On Yampa Declarative Programming of Modular Synthesizers

Switched-On Yampa Declarative Programming of Modular Synthesizers
复制标题

模块化合成器的打开 Yampa 声明式编程

DOI:
--
复制
发表时间:
2007
期刊:
影响因子:
--
通讯作者:
H. Nilsson
H. Nilsson
中科院分区:
--
文献类型:
--
作者:
George Giorgidze;H. Nilsson

文献摘要

被引文献

相似文献

在本文中,我们使用Yampa在Haskell中实现了一个模块化合成器。合成器,无论是硬件仪器还是纯软件实现,如果它提供了可以任意方式连接的声音产生和声音塑造组件,则被称为模块化。Yampa是一个嵌入haskell的函数式响应式编程实现,支持灵活的、纯声明式的混合系统构造。由于音乐是连续时间和离散时间的混合现象,因此Yampa非常适合此类应用程序,与大多数针对音乐或音频应用程序的语言相比,它提供了一些独特的可能性。通过我们的合成器应用程序的演示,我们演示了这一点,并深入了解了Yampa编程反应式混合系统的方法。我们逐渐开发合成器,从基本的合成器组件开始,并以能够将标准MIDI文件渲染为具有可观性能的音频的应用程序结束。
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.