03
04
04
01
01
01
03
03
03
09
10
11
02
04
06
11
01
01
02
05
05
08
09
09
10
10
10
10
12
01
01
01
01
10
03
03
03
03
03
04
04
05
05
06
06
07
08
10
11
02
02
03
04
05
05
05
05
05
05
05
05
05
05
05
08
09
11
11
11
12
03
05
06
07
07
08
09
09
09
10
11
12
12
03
04
04
04
06
06
09
09
09
11
11
11
11
03
03
06
06
07
09
10
11
11
03
06
06
06
07
01
03
04
05
05
06
06
06
11
08
11
11
11
11
01
03
03
03
04
05
05
06
06
07
07
09
10
11
11
11
11
11
11
11
11
11
01
01
02
03
03
04
05
06
06
06
08
09
09
11
12
02
02
03
03
04
04
05
05
05
06
07
08
03
05
05
05
05
06
09
09
10
10
10
11
03
05
12
03
06
07
11
11
11
03
03
04
06
11
01
01
02
04
04
04
05
05
06
06
07
07
09
09
09
10
10
11
01
01
01
03
03
03
04
04
04
05
05
05
05
05
06
06
06
06
06
07
07
07
07
07
08
08
08
09
09
10
10
10
10
11
11
12
12
01
12
02
03
03
04
04
05
05
06
06
07
07
09
09
10
10
11
11
12
12
02
03
03
04
04
04
04
05
06
06
06
08
08
09
10
10
10
10
10
11
11
11
11
12
12
12
12
02
02
03
03
03
03
03
04
04
05
05
05
05
06
06
07
07
07
07
07
07
07
09
10
10
10
10
10
10
11
12
02
03
04
04
05
05
06
06
06
08
08
09
09
10
10
11
11
11
12
12
12
01
02
03
04
05
06
06
09
10
11
11
12
Conférence PyCon DE & PyData Berlin 2024
Berlin Congress Center (BCC)
Alexanderstr. 11
10178 Berlin
Berlin (D)
(voir carte)
En juin 2022, lors d'une mise à jour du programme de lutherie augmentée utilisé pour son Passamezzo antico, Matthieu Amiguet a eu l'idée d'une innovation dans l'utilisation du langage de programmation Python. Au printemps 2023, pour appuyer les désirs artistiques de Barbara Minder & Christian Jelk pour la performance Créolité suisse, il a développé et affiné cette innovation. Pensant que cette nouvelle manière de faire serait utile à des programmateurs non musicaux et plus généralistes, Matthieu Amiguet a soumis et décroché une conférence pour présenter cela au congrès international PyCon.de.
Le détail de la conférence en anglais ci-dessous et sous le lien https://pretalx.com/pyconde-pydata-2024/talk/Y7R9GZ/
Replacing Callbacks with Generators: A Case Study in Computer-Assisted Live Music
Callbacks have become an ubiquitous programming technique that we use every day without even thinking about it. They are definitely handy in many situations, but sometimes they feel more like a burden than a help. In developing an interactive realtime audio processing system for use on stage in live music, we encountered such a situation. This talk will present how a few dozen lines adding a thin abstraction layer allowed us to replace a complex callback mess with tremendously more readable generators (yes, you know, those functions which yield
results instead of return
ing them...).
At Les Chemins de Traverse we explore ways of "augmenting" acoustical musical instruments with new sonic possibilities offered by computers (think "augmented reality" for live music). For doing so, we are using Olivier Bélanger's great pyo module for realtime audio processing. To make the system interactive, this module allows to register callbacks on some events. While this works great in many situation, it can get very cumbersome when we design a stateful system, where the same event must trigger different callbacks depending on the system's inner state.
This talk will present how we developed a thin abstraction layer that allows us to replace many callback functions together with many registering/unregistering of these functions by a nice, streamlined generator definition that's incomparably more readable than the many-callbacks version. This allows us to keep our mind focused on what's important, namely supporting the music we want to play, instead of tedious boilerplate code.
While our use case is admittedly very specific, we believe that the ideas we present could be adapted in many other situations where callbacks are used for technical reasons, but lead to bulky and contrived code.
Trained both as a musician and a mathematician, Matthieu Amiguet took up programming as a hobby and somehow ended up making a PhD in computer science. He now works freelance - both as a musician and a developer. He is Artistic Director at Les Chemins de Traverse, jointly with Barbara Minder.
Les Chemins de Traverse is a collective of musicians, artists and researchers from a variety of backgrounds with a focus on sonic exploration and live performance. They cover a large musical territory from renaissance and baroque music to jazz, rock music and contemporary experimental noise. More often than not, they mix different styles and techniques - like in a weird chemical experiment that would produce nice colored fluids but might as well explode at any time.
Sur scène
Projets concernés
Chemin de création
Vidéo de la conférence à Berlin en ligne
En avril 2024, Matthieu Amiguet a présenté une conférence à Berlin dérivant des recherches en informatique musicale autour du projet Créolité suisse. La vidéo est maintenant en ligne.
Liens et précisions sur la page suivante: https://matthieuamiguet.ch/blog/pyconde24-video/
PyCon DE 2024, Berlin, jour 3
Troisième et dernier jour de PyConDE/PyData 2024 à Berlin.
Pour moi, le gros morceau de la journée était évidemment ma présentation Replacing Callbacks with Generators: A Case Study in Computer-Assisted Live Music. Plus technique et moins orientée musique que ma présentation à Europython'19, le talk laissait tout de même la place à quelques extraits musicaux. Je ne résiste pas au plaisir de faire écouter à un parterre de près de 250 ingénieurs purs et durs une musique qui sort des sentiers battus...
Sinon, également au programme de ma journée:
- AsyncApp. My contribution to hype Pythons asyncio a bit more, par Jens Nie
- Mojo 🔥 - Is it Python's faster cousin or just hype?, par Jamie Coombes
- Enhance your balcony power plant with Python, par Jannis Lübbe
- Connecting batteries with Python: Towards EV Charging with #zero emissions at #zero costs, par Christopher Bock
- Python Monorepos: The Polylith Developer Experience, par David Vujic
- The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs, par Ines Montani (en différé, car il y avait deux conférences en même temps qui m'intéressaient)
- Closing Session
Trois jours pour se plonger dans la communauté des développeurs python, pour re-découvrir une fois de plus le dynamisme de ce microcosme et la variété des sujet abordés. L'occasion aussi de partager avec les autres l'expérience que j'ai acquise lors de mes développements aux Chemins de Traverse, dans l'espoir qu'elle puisse servir plus largement.
PyCon DE 2024, Berlin, Jour 2
Les jours se suivent et ne se ressemblent pas.
La journée débute par un keynote (conférencier invité) de Hannes Mühleisen intitulé Safe Space or Trap? Creating Software like DuckDB in Academic Institutions. Dans cette présentation, l'auteur du très successful DuckDB réfléchit aux avantages et inconvénients de l'environnement académique pour le développement d'un produit à succès. Ses explications sur le pourquoi et le comment il a dû sortir du monde académique et fonder une entreprise pourraient intéresser lergement au-delà du cercle de développeurs informatiques.
Plus classiques, Deploying your Python application to Android, par Shyamnath Premnadh et Boost your app to Flash speed by mastering performance tricks, par Laysa Uchoa et Yuliia Barabash, amènent leur lot d'information techniques.
En milieu de journée, je décide de changer de camp et rejoins un évènement satellite de PyCon, CTRLRETURN. 15 minutes de marche pour passer du très sérieux Berlin Congress Center à c-base, un lieu alternatif et underground à l'ambiance passablement différente. Ici se déroule une journée autour du live coding, une pratique qui consiste à générer de la musique en écrivant du code en direct (et généralement en accompagnant la musique d'une projection du code contre un mur).
Trois heures d'atelier et un petit bout de concert plus tard, retour au BCC pour une session de lightning talks mémorable, ou une intervenante a même tenter de faire chanter l'assistance (avec un succès mitigé - il paraît que c'est un métier la musique!). C'est aussi l'occasion de rencontrer une congressiste qui avat assisté à la présentation et au concert Dragonfly des Chemins de Traverse à Europython'19 et qui déclare que ma présentation de demain est LA conférence qu'elle ne veut pas rater cette année! Voilà qui fait plaisir à entendre!
Puis après un rapide repas, retour au...
PyCon DE 2024, Berlin, jour 1
Arrivée à Berlin hier soir, avec moins d'une heure trente de retard sur l'horaire... la DB semble fidèle à sa réputation!
Ma présentation ne sera que mercredi après-midi, en attendant, je m'imprègne de l'ambiance et profite de l'occasion pour me faire un bon coup de formation continue!
Une première journée riche en découvertes diverses et variées... Le petit mix maison que je me suis concocté sur la base des près de 40 présentations de la journée:
- Accueil et présentation de la conférence
- A View From My Window - An Outside Perspective of Open Source Scientific Computing From the Inside, par Leah Silen
- Best of both worlds - How we built an AI-aided content creation tool for language learning, par Lea Petters et Hector Hernandez
- Streamlining Python Development: A Guide to a Modern Project Setup, par Florian Wilhelm
- The pragmatic Pythonic data engineer, par Robson Junior
- Whispered Secrets: Building An Open-Source Tool To Live Transcribe & Summarize Conversations, par John Sandall
- Machine Learning on microcontrollers using MicroPython and emlearn, par Jon Nordby
- When and how to start coding with kids, par Anna-Lena Popkes
- Ligthning talks session (Présentations express de 5 minutes au plus, parfois assez déjantées!)
Pour moi qui développe principalement seul dans un contexte où la plupart des gens autour de moi n'ont pas la possibilité de comprendre les détails de ce que je fais, c'est agréable de me plonger quelques jours dans une communauté pareille.
En parlant de communauté, une chose me frappe: PyConDE 2024 est la conférence d'informatique la plus féminine à laquelle j'aie jamais assisté, et de loin. La proportion de "non-male" (ça semble être la formule officielle), autant dans le public que dans les orateurs, est beaucoup plus élevée que ce que j'ai vu jusqu'à maintenant, et je m'en réjouis. Je savais que PyConDE mettait beaucoup d'importance à aller dans ce sens, de même que la communauté des...
Rodage du soir - espoir!
Rodage à l'atelier en vue de la conférence PyConDE pour quelques happy few qui tiennent la charge. Les générateurs pour simplifier du code basé sur les callbacks, ça déchire grave! La face cachée de Passamezzo et Créolité suisse!