Introduction to signal processing
Introduction to signal processing
A digital signal processing primer, with applications to digital audio and computer music
A digital signal processing primer, with applications to digital audio and computer music
Generating power of lazy semantics
Theoretical Computer Science - Special volume on computer algebra
Real Sound Synthesis for Interactive Applications
Real Sound Synthesis for Interactive Applications
Advanced Functional Programming, Second International School-Tutorial Text
Teaching of image synthesis in functional style
Proceedings of the 2005 workshop on Functional and declarative programming in education
Switched-On Yampa: declarative programming of modular synthesizers
PADL'08 Proceedings of the 10th international conference on Practical aspects of declarative languages
Hi-index | 0.00 |
We present an application of functional programming in the domain of sound generation and processing. We use the lazy language Clean to define purely functional stream generators, filters and other processors, such as reverberators. Audio signals are represented (before the final output to arrays processed by the system primitives) as co-recursive lazy streams, and the processing algorithms have a strong dataflow taste. This formalism seems particularly appropriate to implement the ‘waveguide’, or ‘physically-oriented’ sound models. Lazy programming allocates the dynamical memory quite heavily, so we do not propose a real-time, industrial strength package, but rather a pedagogical library, offering natural, easy to understand coding tools. We believe that, thanks to their simplicity and clearness, such functional tools can be also taught to students interested in audio processing, but with a limited competence in programming.