Overview
Explore the intersection of AsyncIO and music production in this conference talk from code::dive 2019. Discover how Python can assist musicians in playing hardware instruments through MIDI processing. Learn about transforming incoming MIDI signals to create unique playing styles, including arpeggiators, MIDI channel multiplexers, and legato-based portamento. Delve into generative music, where Python programs create procedural music progressions based on specified tempo and scale. Gain insights into audio signal processing challenges and their potential solutions. Benefit from the expertise of Łukasz Langa, a Python core developer and creator of Black, as he demonstrates practical applications of AsyncIO in music technology. Understand key concepts such as event loops, concurrency, MIDI protocols, and clock signals. Examine real-world examples involving hardware synthesizers, polyrhythms, and monophonic synths, while exploring Python features like dataclasses and futures.
Syllabus
Introduction
Facebook
HDB
What is MIDI
How it works
What is AsyncIO
Run forever
Run on event loop
Concurrency
AsyncIO
Generator
Graph
Music notation
MIDI
MIDI Protocol
Clock Signal
Overview
Assigning Connections
Event Loop
Clock
Project tree
Main py
Hardware synthesizer
Snare
Variation
Polyrhythms
Clock drift
dataclasses
countdown
futures
monophonic synth
Taught by
code::dive conference