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: 62
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

Happy Learn Haskell Tutorial

Download Haskell PDF Tutorial

Haskell tutorial for professionals

Others related eBooks about The Haskell School of Music

The DSC Book

Download free course The DSC Book, pdf file on 12 pages by Don Jones, Steve Murawski....

The Deno Handbook

Deno is a runtime for JavaScript and TypeScript that is based on the V8 JavaScript engine ..., download free Deno tutorial in PDF (46 pages) created by ....

Think Complexity, 2nd Edition

Complexity science uses computation to explore the physical and social sciences. In Think ..., download free Complexity tutorial in PDF (200 pages) created by ....

Essential Bash

This book written to provide clear and concise explanation of topics for programmers both starting to learn the Bash programming as well as those diving in more complex topics. Most examples are linked to online playground that allows you to change the code and re-run it....

Building Secure and Reliable Systems

Download free course Building Secure and Reliable Systems, pdf file on 557 pages by by Betsy Beyer, Piotr Lewandowski, Ana Oprea, Paul Blankinship, Heather Adkins, Adam Stubblefield....

Logical Reasoning

The goal of this book is to improve your logical-reasoning skills. Your logical-reasoning skills are a complex weave of abilities that help you get someone's point, generate reasons for your own point, evaluate the reasons given by others, decide what or what not to do, decide what information to ...

Machine Learning for Cyber Physical Systems

This Open Access proceedings presents new approaches to Machine Learning for Cyber Physical Systems, experiences and visions. It contains some selected papers from the international Conference ML4CPS – Machine Learning for Cyber Physical Systems, which was held in Karlsruhe, October 23-24, 2018. ...

An Introduction to Combinatorics and Graph Theory

Combinatorics is a branch of mathematics concerning the study of finite or countable discrete structures. Aspects of combinatorics include counting the structures of a given kind and size (enumerative combinatorics), deciding when certain criteria can be met, and constructing and analyzing objects...

Ernst Denert Award for Software Engineering 2019

Download free course Ernst Denert Award for Software Engineering 2019, pdf file on 142 pages by Michael Felderer, Wilhelm Hasselbring, Heiko Koziolek, Florian Matthes, Lutz Prechelt, Ralf Reussner, Bernhard Rumpe, Ina Schaefer....

Lightweight Systems for Realtime Monitoring

Download free course Lightweight Systems for Realtime Monitoring, pdf file on 27 pages by Sam Newman....