Le Live codingCollins, N., McLean, A., Rohrhuber, J. & Ward, A. (2003), "Live Coding in Laptop Performance", Organised Sound 8(3): 321–30. (parfois appelé « programmation à la volée »Wang G. & Cook P. (2004) "On-the-fly Programming: Using Code as an Expressive Musical Instrument", In Proceedings of the 2004 International Conference on New Interfaces for Musical Expression (NIME) (New York: NIME, 2004)., ou « programmation juste-à-temps ») est une forme de programmation interactive improvisée. Il est souvent utilisé pour créer des médias digitaux basés sur des sons et des images, et est particulièrement représenté en musique assistée par ordinateur. Il combine musique algorithmique et improvisationCollins, N. (2003) "Generative Music and Laptop Performance ", Contemporary Music Review 22(4):67–79.. Typiquement, le processus d'écriture est rendu visible pour l’audience par une projection de l'écran de l'ordinateur du programmeur, avec des moyens de visualisation du codeMcLean, A., Griffiths, D., Collins, N., and Wiggins, G. (2010). Visualisation of live code. In Electronic Visualisation and the Arts London 2010.. Il existe aussi des approches de live coding humain dans la danse. Les techniques de live coding sont également employées hors audience, comme pour produire des bandes son ou des œuvres audiovisuelles pour des installations d'art interactif

Le live coding est également une technique de plus en plus populaire dans les cours et conférences ayant trait à la programmation, et a été décrit comme une bonne pratique pour les cours d'informatique par Mark Guzdial.

Techniques de live coding Différentes techniques ont été développées et adaptées pour les besoins du live coding.

Représentation et manipulation du temps Les pressions sur les médias basés sur le temps et l'interaction en temps réel avec le code ont conduit à beaucoup de nouveaux développements et usages dans la conception des langages de programmation. Le langage ChucK a introduit le concept de programmation « à tempo strict » (en anglais : « strongly timed ») en 2002, incluant un timing de précision dans le contrôle de flux, au moyen d'une syntaxe simple et directe.

La « récursivité temporelle » est un terme employé initialement en relation avec l'environnement de programmation Impromptu. Alors que la forme générale d'une récursivité temporelle, fonction asynchrone de récursivité à travers le temps, est utilisable pour tout système événementiel, Impromptu a mis spécialement l'accent sur cet aspectSorensen, A & Gardner, H (2010) "Programming With Time: Cyberphysical Programming In Impromptu, In proceedings of the ACM Splash Conference 2010", en faisant la pièce centrale de l'architecture concurrentielle de cette plate-forme. Depuis, la récursivité temporelle a été implémentée dans l'environnement Fluxus, Overtone et le langage de programmation Extempore.

Programmation multi-utilisateurs et mémoire partagée La programmation multi-utilisateurs s'est développée dans le contexte de la création de musique en groupe, à travers la longue évolution du système Republic créé et utilisé par les membres du groupe réseau PowerBooks UnpluggedRohrhuber, J., A. de Campo, R. Wieser, J.-K. van Kampen, E. Ho, and H. Hölzl (2007). Purloined letters and distributed persons. In Music in the Global Village Conference 2007.. Republic est développé en SuperCollider, et permet aux participants d'écrire en temps réel et de façon collaborative du code qui est distribué sur le réseau d'ordinateurs. Il y a eu des efforts similaires dans d'autres langages, comme l'espace tuple distribué utilisé par le langage ImpromptuSorensen, A. (2010). A distributed memory for networked livecoding performance. In Proceedings of International Computer Music Conference 2010.. De plus, Overtone, Impromptu et Extempore permettent des sessions multi-utilisateurs, dans lesquelles un nombre quelconque de programmeurs peut intervenir en réseau dans un processus d'exécution donnéSorensen, A. (2005). Impromptu : an interactive programming environment for composition and performance, In proceedings of the Australasian Computer Music Conference 2005.

Organisations TOPLAP (The (Temporary|Transnational|Terrestrial|Transdimensional) Organisation for the (Promotion|Proliferation|Permanence|Purity) of Live (Algorithm|Audio|Art|Artistic) Programming) L'Organisation (Temporaire|Transnationale|Terrestre|Transdimensionnelle) pour la (Promotion|Prolifération|Permanence|Pureté) de la programmation (Algorithmique|Audio|Artistique) en temps réel (NDT) est une organisation informelle constituée en pour rassembler diverses communautés qui s'étaient formées autour des environnements de live codingWard, A., Rohrhuber, J., Olofsson, F., McLean, A., Griffiths, D., Collins, N., and Alexander, A. (2004). Live algorithm programming and a temporary organisation for its promotion. In Goriunova, O. and Shulgin, A., editors, read_me - Software Art and Cultures.. Le manifeste TOPLAP définit plusieurs contraintes pour une représentation conforme TOPLAP, en particulier le fait que les écrans des interprètes doivent être projetés et non cachés. TOPLAP a organisé de nombreux événements, en particulier le à l'Access Space en 2007, et elle a reçu en 2009 une subvention de la PRS Foundation pour ses activités au Royaume-Uni.

La recherche académique sur le live coding est en cours dans de nombreuses institutions, y compris le Princeton Sound Lab, l'université de Cologne, l'université de technologie du Queensland, l'université Griffith, le centre inter-disciplinaire pour la recherche scientifique en musique à l'université de Leeds, et les studios digitaux de Goldsmiths, University of London. Cependant, les environnements de développement de live coding sont en général des initiatives logicielles libres / open source, et sont donc en partie ou complètement développés par des pratiquants indépendants.

Groupes notoires Slub Benoît and the Mandelbrots Meta-eX Repl Electric Exoterrism

Environnements notoires SuperCollider ChucK

Pure Data Max LiveCode TidalCycles

Overtone Bonzomatic Liste d'environnements de Live Coding sur toplap.org. Hydra Sardine

Voir aussi Demoscene Sonic Pi

Liens externes

« Montre-moi ton code », une série de conférences sur le live-coding à la Gaîté Lyrique en 2022. « All things live coding », une liste de langages et outils utilisés pour le live coding.

Notes et références

Catégorie:Langage de programmation audio *