0.1 Who is this book for?

0.1 Who is this book for?#

At its core, this book on computer music is written from a computer science perspective. It is highly technical, and it is intended to support computer science courses on musical computing, much in the way that established texts support courses on computer graphics. We will assume substantial background experience in programming and mathematics. We will not assume much musical expertise, though musical training will be a helpful bonus for absorbing this material.

You don’t need to be an expert in both music and computing to read this text, but there is an unfortunate asymmetry to be aware of:

  • Students with a strong music background and weak computing background may struggle, and should study introductory computer science and programming first.

  • Students with a strong computing background and weak music background should be fine.

In more detail:

  • Programming: This book assumes substantial familiarity with Python programming and basic computer science (e.g., data structures, Big O notation). If you are unfamiliar with these, you should learn the basics before proceeding.

  • Math: You should be reasonably comfortable with trigonometry, basic calculus, and complex numbers. You won’t have to do much derivation here, but you’ll need to understand these concepts at least at a high level. It’s okay if your skills are rusty — it should be possible to brush the dust off as you go through the book.

  • Music: We aspire to make this book accessible even to those without any formal musical training. However, you will benefit from a basic foundation in musical concepts like pitch, and from an enthusiastic and discerning ear for music.