Download free course The Haskell School of Music, pdf file on 441 pages by Paul Hudak, Donya Quick.
This free 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 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.
This 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.
Table of contentsComputer Music, Euterpea, and Haskell
Simple Music
Polymorphic & Higher-Order Functions
A Musical Interlude
Syntactic Magic
More Music
Qualified Types and Type Classes
Interpretation and Performance
Self-Similar Music
Proof by Induction
An Algebra of Music
L-Systems and Generative Grammars
Random Numbers ... and Markov Chains
From Performance to Midi
Basic Input/Output
Higher-Order Types and Monads
Musical User Interface
Sound and Signals
Euterpea's Signal Functions
Spectrum Analysis
Additive and Subtractive Synthesis
Amplitude and Frequency Modulation
Physical Modelling
Sound Effects
The PreludeList Module
Haskell's Standard Type Classes
Built-in Types Are Not Special
Pattern-Matching Details
Others related eBooks about The Haskell School of Music
Access Control and internet Filtering
Looking for an insightful guide to the growing trend of internet filtering, censorship, and online surveillance around the world? Look no further than Access Controlled, a free 635-page PDF file offered by MIT Press....
802.11ac: A Survival Guide
Download free course 802.11ac: A Survival Guide, pdf file on 154 pages by O'Reilly Media....
Code: The Hidden Language of Computer Hardware and Software
What do flashlights, the British invasion, black cats, and seesaws have to do with computers? In CODE, they show us the ingenious ways we manipulate language and invent new means of communicating with each other. And through CODE, we see how this ingenuity and our very human compulsion to communic...
New Frontiers in Graph Theory
Nowadays, graph theory is an important analysis tool in mathematics and computer science. Because of the inherent simplicity of graph theory, it can be used to model many different physical and abstract systems such as transportation and communication networks, models for business administration, po...
HoloLens Succinctly
Download free course HoloLens Succinctly, pdf file on 85 pages by Lars Klint....
Modern C
Download free course Modern C, pdf file on 324 pages by Jens Gustedt....
Certified Programming with Dependent Types
The technology of mechanized program verification can play a supporting role in many kinds..., download free Certified Programming tutorial in PDF (368 pages) created by Adam Chlipala ....
Learning Go
Download free course Learning Go, pdf file on 109 pages by Miek Gieben....
Advances in Satellite Communications
Satellite communication systems are now a major part of most telecommunications networks as well as our everyday lives through mobile personal communication systems and broadcast television. A sound understanding of such systems is therefore important for a wide range of system designers, engineers ...
Visualising Facebook
Download free course Visualising Facebook, pdf file on 238 pages by Daniel Miller, Jolynna Sinanan....