The Haskell School of Music



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 contents

  • Computer 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
Pages : 441
Size : 4.1 MB
File type : PDF
Downloads: 39
Created: 2022-02-03
License: CC BY
Author(s): Paul Hudak, Donya Quick
The Haskell School of Music

Warning: Trying to access array offset on false in /home/tutovnfz/public_html/article.php on line 233

Others Haskell Tutorials

Haskell Tutorial for C Programmers

Haskell: Functional Programming with Types

Haskell tutorial for professionals

Download Haskell PDF Tutorial

Happy Learn Haskell Tutorial

Others related eBooks about The Haskell School of Music

Foundations of Software Science and Computation Structures

Download free course Foundations of Software Science and Computation Structures, pdf file on 586 pages by Christel Baier, Ugo Dal Lago....

Visual Studio 2019 Succinctly

Download free course Visual Studio 2019 Succinctly, pdf file on 91 pages by Alessandro Del Sole....

Software Above the Level of a Single Device

Download free course Software Above the Level of a Single Device, pdf file on 18 pages by Tim O'Reilly....

Programming Persistent Memory

Beginning and experienced programmers will use this comprehensive guide to persistent memo..., download free Memory tutorial in PDF (438 pages) created by Steve Scargall ....

Entity-Oriented Search

Download free course Entity-Oriented Search, pdf file on 351 pages by Krisztian Balog....

Enhanced Living Environments

Download free course Enhanced Living Environments, pdf file on 339 pages by Ivan Ganchev, Nuno Garcia, Ciprian Dobre, Constandinos Mavromoustakis, Rossitza Goleva....

Introduction to CNTK Succinctly

Download free course Introduction to CNTK Succinctly, pdf file on 124 pages by James McCaffrey....

Think Bayes: Bayesian Statistics in Python

If you know how to program with Python and also know a little about probability, you're ready to tackle Bayesian statistics. With this book, you'll learn how to solve statistical problems with Python code instead of mathematical notation, and use discrete probability distributions instead of conti...

Robotic Process Automation Succinctly

Download free course Robotic Process Automation Succinctly, pdf file on 94 pages by Ed Freitas....

Tutorial Cryptography for Beginners

This tutorial is intended to novice who wants to be familiar with lattice based cryptography and cryptosystem....