Creative Coding Strategies for Musicians

Contributing to this Book

This book is in the very early draft stages, so the structure and content may change dramatically until the final release planned for late December 2015. The following sections are some guidelines to stick to when making contributions.

Book Structure

This book is split into three separate “books” concerning Theory, Practice, and Exploration. The first covers base knowledge for the later sections, the second covers practical knowledge, and the third touches upon extended topics that students can explore later on.

The source files for the book are contained with the source folder. Each of the books has their own subdirectory which contains their respective chapter content.

Images related to a particular chapter should be kept in a folder called images in the same directory as the chapter source file. For example, if you were to add an image for a chapter within Book 1: Theory, you would place the image in source/book1_theory/images/new_image.png.

Source Format

ReStructuredText source files should be word-wrapped to 80 characters, which can be easily done in Vim with the following key command: vipgq. This will select the current paragraph the cursor is sitting on and will hard-wrap the paragraph to 80 characters, assuming the property textwidth is set properly.

Use soft-tabs (i.e. spaces) rather than using tab characters, including in plot and code directives.

All source files are formatted in Unicode.

To keep the table of contents manageable, try to use the section header styles below. Please make sure the header lines are the same width as the section name:

  • # with overline – Books
  • * with overline – Book chapters
  • =Chapter sections
  • -Chapter subsections
  • ^Chapter sub-sub-sections

Color Scheme

This is the color scheme used in the CCSM theme, please use these colors when adding figures/plots or changing the theme:

#FFFFFF #F8B195 #F07280 #C06C84
#6C5B7B #39627D #3E4349

Sections to Complete

This is a tentative outline for how the book is going to be structured, and it will be fleshed out more as development continues.

  1. Principles of Waves – In Progress
  2. Sound Perception
  3. Sampling Theory / DSP
  4. Primitive Synthesis
  5. Music Theory
  6. Samplers + Granular Synthesis
  7. Advanced Synthesis
  8. Signal Processing
  9. Algorithmic Composition
  10. Future Explorations
    1. Live Coding
    2. Laptop Orchestras
    3. Embedded DSP (Arduinos, RasPis, etc.)

Todo List

This is a compiled list of things that need to be added, changed, or removed through the course of writing this book. If you have completed one of these tasks, please send us a pull request!

Todo

Complete ‘Representing Music as Data’ chapter. (Digital audio, MIDI, etc.)

(The original entry is located in /home/gkt/Work/ccsm/source/book1_theory/midi.rst, line 5.)

Todo

Complete the music theory chapter.

(The original entry is located in /home/gkt/Work/ccsm/source/book1_theory/music-theory.rst, line 5.)

Todo

Complete ‘Sampling Theorem’ chapter.

(The original entry is located in /home/gkt/Work/ccsm/source/book1_theory/sampling-theorem.rst, line 5.)

Todo

Complete the ‘Sound Perception’ chapter.

Be sure to include auditory illusions such as Shepard tones and the McGurk effect. The latter is important because it highlights how other senses can affect auditory perception.

Also to be included is inferred fundamental frequencies, which is important in relation to mixing of sound sources and how the brain can still identify instruments even if they have been EQed to fit within the mix.

Beat frequencies as well! This should reference the phase interference section.

(The original entry is located in /home/gkt/Work/ccsm/source/book1_theory/sound-perception.rst, line 5.)

Todo

This chapter will cover basic synthesis topics, including oscillators, filters, and envelopes. Should include code and sound examples!

(The original entry is located in /home/gkt/Work/ccsm/source/book2_practice/primitive-synthesis.rst, line 15.)

Todo

Fill in this section with discussion of Creative Coding principles.

(The original entry is located in /home/gkt/Work/ccsm/source/intro.rst, line 45.)

Todo

Re-write this section to reflect the new book structure.

(The original entry is located in /home/gkt/Work/ccsm/source/intro.rst, line 50.)

Todo

Fill in this section once the course software has been decided.

(The original entry is located in /home/gkt/Work/ccsm/source/intro.rst, line 68.)