Haskell School of Music

The Haskell School of Music — From Signals to Symphonies is a textbook on functional programming in Haskell, with a strong focus on computer music concepts and applications. The book describes Euterpea, a computer music library developed in Haskell, that allows programming computer music applications both at the note level and the signal level. The book also teaches functional programming in Haskell from scratch. It is suitable for use in the classroom to teach functional programming concepts, Haskell language details, computer music and audio processing concepts and applications — or all of the above.

The latest version can be downloaded from the Publications page on this website.

Here is the current Table of Contents:

  1. An Overview of Computer Music, Euterpea, and Haskell
  2. Simple Music
  3. Polymorphic and Higher-Order Functions
  4. A Musical Interlude
  5. Syntactic Magic
  6. More Music
  7. Qualified Types
  8. Interpretation and Performance
  9. Self-Similar Music
  10. Proof by Induction
  11. An Algebra of Music
  12. Musical L-Systems
  13. Qualified Types
  14. Random Numbers, Probability Distributions, and Markov Chains
  15. From Performance to MIDI
  16. Basic Input/Output
  17. Musical User Interface
  18. Sound and Signals
  19. Euterpea’s Signal Functions
  20. Spectrum Analysis
  21. Additive Synthesis

Here is a list of chapters that hopefully will be written soon:

  1. Grammar-Based Composition
  2. Chord Spaces
  3. Subtractive Synthesis
  4. Amplitude and Frequency Modulation
  5. Introduction to Filter Design
  6. Physical Modeling
  7. Reverb, Panning, and Special Effects
  8. Higher-Order Types
  9. Implementing Signal Functions