Skip to main content

Functional Framework for Sound Synthesis

  • Conference paper
Practical Aspects of Declarative Languages (PADL 2005)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 3350))

Included in the following conference series:

Abstract

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Strutt, J.W. (Lord Rayleigh): The Theory of Sound (1877)

    Google Scholar 

  2. Hudak, P., Makucevich, T., Gadde, S., Whong, B.: Haskore Music Notation – an Algebra of Music. J. Func. Prog. 6(3), 465–483 (1996); Hudak, P.: Haskore Music Tutorial. In: Advanced Functional Programming, pp. 38–67 (1996), The system is maintained at http://www.haskell.org/haskore/

  3. Boulanger, R.: The Csound Book (2000), See also the site, http://www.csounds.com

  4. Smith, J.O.: Center for Computer Research in Music and Acoustics (CCRMA), Stanford University (2003), Web publications at http://www-ccrma.stanford.edu/~jos/ ; Also: Physical modelling using digital waveguides, Computer Mus. Journal 16, 74–87 (1992)

  5. Chowning, J.: The Synthesis of Complex Audio Spectra by Means of Frequency Modulation. Journal of Audio Eng. Soc. 21(7) (1973)

    Google Scholar 

  6. Karplus, K., Strong, A.: Digital Synthesis of Plucked Strings and Drum Timbres. Computer Mus. Journal 7(2), 43–55 (1983); See also: Jaffe, D.A., Smith, J.O.: Extensions of the Karplus-Strong Plucked String Algorithm. Comp. Mus. Journal 7(2), 56–69 (1983)

    Google Scholar 

  7. Bill Schottstaedt and others, Common Lisp Music, site http://ccrma-www.stanford.edu/software/clm/

  8. Dannenberg, R.B.: Nyquist Reference Manual, http://www-2.cs.cmu.edu/~rbd/doc/nyquist/

  9. Thielemann, H.: Audio Processing Using Haskell. In: Proc. 7th Int. Conf. on Digital Audio Effects (DAFx 2004), Naples, pp. 201–206 (2004)

    Google Scholar 

  10. Donadio, M.: HaskellDsp sources, site, http://haskelldsp.sourceforge.net

  11. Cook, P.: site, http://www-ccrma.stanford.edu/CCRMA/Software/STK/ , See also the book: Real Sound Synthesis for Interactive Applications, A.K. Peters (2002)

  12. Plasmeijer, R., van Eekelen, M.: Clean Language Report, version 2.1., site www.cs.kun.nl/~clean/

  13. Tammelin, O., Buzz, J.: Modular software music studio, see e.g. www.buzzmachines.com/ or http://www.jeskola.net/

  14. Puckette, M.: Pure Data: PD, Documentation, http://crca.ucsd.edu/~msp/Pd_documentation/

  15. Déchelle, F.: Various IRCAM free software: jMax and OpenMusic, Linux Audio Developers Meeting, Karlsruhe, (2003), See also http://freesoftware.ircam.fr/

  16. Wang, G., Cook, P.: ChucK: a Concurrent, On-the-fly, Audio Programming Language. In: Intern. Comp. Music Conf., Singapore (2003), See also: http://chuck.cs.princeton.edu/

  17. Steiglitz, K.: A DSP Primer: With Applications to Digital Audio and Computer Music. Addison-Wesley, Reading (1996)

    Google Scholar 

  18. Karczmarczuk, J.: Generating power of Lazy Semantics. Theor. Comp. Science 187, 203–219 (1997)

    Article  MATH  MathSciNet  Google Scholar 

  19. Hänninen, R., Välimäki, V.: An improved digital waveguide model of a flute with fractional delay filters. In: Proc. Nordic Acoustical Meeting, Helsinki, pp. 437–444 (1996)

    Google Scholar 

  20. Orphanidis, S.: Introduction to Signal Processing. Prentice-Hall, Englewood Cliffs (1995)

    Google Scholar 

  21. Thiran, J.P.: Recursive digital filters with maximally flat group delay. IEEE Trans. Circuit Theiry 18(6), 659–664 (1971)

    Article  MathSciNet  Google Scholar 

  22. Schroeder, M.R., Logan, B.F.: Colorless artificial reverberation. IRE Transactions AU-9, 209–214 (1961)

    Google Scholar 

  23. Smith, J.O.: A new approach to digital reverberation using closed waveguide networks. In: Proceedings, ICMC (1985)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2005 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Karczmarczuk, J. (2005). Functional Framework for Sound Synthesis. In: Hermenegildo, M.V., Cabeza, D. (eds) Practical Aspects of Declarative Languages. PADL 2005. Lecture Notes in Computer Science, vol 3350. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-30557-6_3

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-30557-6_3

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-24362-5

  • Online ISBN: 978-3-540-30557-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics