Introduction to Digital Music with Python Programming
Learning Music with Code
Introduction to Digital Music with Python Programming provides a foundation in music and code for the beginner. It shows how coding empowers new forms of creative expression while simplifying and automating many of the tedious aspects of production and composition.
With the help of online, interactive examples, this book covers the fundamentals of rhythm, chord structure, and melodic composition alongside the basics of digital production. Each new concept is anchored in a real-world musical example that will have you making beats in a matter of minutes.
Music is also a great way to learn core programming concepts such as loops, variables, lists, and functions, Introduction to Digital Music with Python Programming is designed for beginners of all backgrounds, including high school students, undergraduates, and aspiring professionals, and requires no previous experience with music or code.
Table of Contents
List of Figures
Chapter 1: Why Music and Coding?
Interlude 1: Basic Pop Beat
Chapter 2: Rhythm and Tempo
Interlude 2: Custom Trap Beat
Chapter 3: Pitch, Harmony, and Dissonance
Interlude 3: Melodies and Lists
Chapter 4: Chords
Interlude 4: Playing Chords
Chapter 5: Scales, Keys, and Melody
Interlude 5: Lean on Me
Chapter 6: Diatonic Chords and Progressions
Interlude 6: Random Chord progressions
Chapter 7: Frequency, Fourier, and Filters
Interlude 7: Creative Effects
Chapter 8: Note-Based Production Effects
Interlude 8: Drum Fills
Chapter 9: Song Composition and EarSketch
Interlude 9: Snare Drum Riser
Chapter 10: Modular Synthesis
Interlude 10: Drum Machine
Chapter 11: History of Music and Computing
Appendix A: Python Reference
Appendix B: TunePad Reference
Appendix C: Music Reference
Michael S. Horn is Associate Professor of Computer Science and Learning Sciences at Northwestern University in Evanston, Illinois, where he directs the Tangible Interaction Design and Learning (TIDAL) Lab.
Melanie West is a PhD student in Learning Sciences at Northwestern University and co-founder of Tiz Media Foundation, a nonprofit dedicated to empowering underrepresented youth through science, technology, engineering, and mathematics (STEM) programs.
Cameron Roberts is a software developer and musician living in Chicago. He holds degrees from Northwestern University in Music Performance and Computer Science.