PyConDE 2024 - Some context about my talk

publié le 24 April 2024

This is a companion post to my PyConDE 2024 talk Replacing Callbacks with Generators: A Case Study in Computer-Assisted Live Music to provide some context and additional information. In no particular order:

  • The slides used in the talk are here.

  • The full code for the Scenario class is here, as part of the much broader Charming Snake project. Examples of use can be seen in the code for Passamezzo and Helvetic Trip.

  • pyo is a great module for realtime audio processing developed by Olivier Bélanger in Montréal.

  • For more details on why we chose to work with python/pyo for realtime audio processing, see my Europython'19 talk and/or my Swiss Python Summit 2016 talk.

  • pyo is great for low-latency audio processing, although getting reliable sub-10-ms roundtrip latency may require "some" tuning of the OS. My RMLL'17 and RMLL'12 talks give some details about the required settings on a Linux system.

  • The auto-wah effect in pyo quickly demonstrated in the talk is described, along with other effects, in my blog post Create your own real-time guitar effects with python. This post can also be considered as a very quick pyo 101 for this kind of use (the scope of pyo being much broader than that!).

  • The solo bass flute video is from the project Old Wine in New Bottles

  • The audio excerpt with augmented contrabass and bass flutes is from the Dragonfly album.

  • The video with the dancer and harpejji is from the Digital Analogies project.

  • For a comparison of several languages for realtime audio processing, including ChucK and python/pyo see my blog post on the subject.

  • As far as I know, using generators to simplify callback-based code is not very well documented on the web. One notable exception are a couple of talks by the excellent David Beazley like this one.

I hope you enjoyed the talk! Don't hesitate to contact me if you still have questions!