Our systems are now restored following recent technical disruption, and we’re working hard to catch up on publishing. We apologise for the inconvenience caused. Find out more

Recommended product

Popular links

Popular links


The Haskell School of Music

The Haskell School of Music

The Haskell School of Music

From Signals to Symphonies
Paul Hudak
Donya Quick, Stevens Institute of Technology, New Jersey
October 2018
Hardback
9781108416757
£47.99
GBP
Hardback
USD
eBook

    This book explores the fundamentals of computer music and functional programming through the Haskell programming language. Functional programming is typically considered difficult to learn. This introduction in the context of creating music will allow students and professionals with a musical inclination to leverage their experience to help understand concepts that might be intimidating in more traditional computer science settings. Conversely, the book opens the door for programmers to interact with music by using a medium that is familiar to them. Readers will learn how to use the Euterpea library for Haskell (http://www.euterpea.com) to represent and create their own music with code, without the need for other music software. The book explores common paradigms used in algorithmic music composition, such as stochastic generation, musical grammars, self-similarity, and real-time interactive systems. Other topics covered include the basics of signal-based systems in Haskell, sound synthesis, and virtual instrument design.

    • Teaches functional programming languages through music, an accessible and engaging setting
    • Teaches the Haskell programming languages, a powerful tool for applied mathematics and rapid prototyping
    • Introduces music representation and algorithmic composition

    Reviews & endorsements

    'The selection of material is coherent and satisfying, and the book would be suitable for anyone with an interest in computer music, regardless of programming background.' Henrik Nilsson, University of Nottingham

    'Paul Hudak was both a world-leading functional programmer, and skilled jazz musician. This book brings together his two passions, by using Haskell as a domain-specific language for describing music. The result is a fascinating study in how computer science can illuminate art, and art can illuminate computer science.' Simon Peyton Jones, Microsoft Research

    'This book is a joy. It should be in the library of every Haskell programmer and every musicologist interested in the underlying mathematics of music. Conceived and written by Paul Hudak, it was brought to fruition by Donya Quick. A fitting tribute to Paul and his lifetime's interests in both Haskell and music.' Richard Bird, University of Oxford

    'Programming is the most direct and unrestricted way to tell computers how to behave and what to produce. With this book, the reader will not only learn, step by step, a modern programing language in Haskell, but will also understand how such a language can be tuned towards application in music. This legacy of Paul Hudak is one of the most vibrant and decisive calls for popularizing programming techniques as a new and powerful medium for the arts.' David Janin, University of Bordeaux

    See more reviews

    Product details

    October 2018
    Hardback
    9781108416757
    398 pages
    235 × 156 × 26 mm
    0.68kg
    Available

    Table of Contents

    • 1. 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 and type classes
    • 8. From music to MIDI
    • 9. Interpretation and performance
    • 10. Self-similar music
    • 11. Proof of induction
    • 12. An algebra of music
    • 13. L-Systems and generative grammars
    • 14. Random numbers … and Markov chains
    • 15. Basic input/output
    • 16. Higher-order types and monads
    • 17. Musical user interfaces
    • 18. Sound and signals
    • 19. Euterpea's signal functions
    • 20. Spectrum analysis
    • 21. Additive and subtractive synthesis
    • 22. Amplitude and frequency modulation
    • 23. Physical modeling.