Back to Search Start Over

Switched-On Yampa.

Authors :
Hutchison, David
Kanade, Takeo
Kittler, Josef
Kleinberg, Jon M.
Mattern, Friedemann
Mitchell, John C.
Naor, Moni
Nierstrasz, Oscar
Pandu Rangan, C.
Steffen, Bernhard
Sudan, Madhu
Terzopoulos, Demetri
Tygar, Doug
Vardi, Moshe Y.
Weikum, Gerhard
Hudak, Paul
Warren, David S.
Giorgidze, George
Nilsson, Henrik
Source :
Practical Aspects of Declarative Languages (978-3-540-77441-9); 2008, p282-298, 17p
Publication Year :
2008

Abstract

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. [ABSTRACT FROM AUTHOR]

Details

Language :
English
ISBNs :
9783540774419
Database :
Complementary Index
Journal :
Practical Aspects of Declarative Languages (978-3-540-77441-9)
Publication Type :
Book
Accession number :
34019451
Full Text :
https://doi.org/10.1007/978-3-540-77442-6_19