close

Live kodning

Hop til navigation Hop til søgning
A Study in Keith er en live kodende musikalsk optræden med Impromptu-software af Andrew Sorensen.

Live -kodning , [1] nogle gange også omtalt som on-the-fly programmering , [2] just in time programmering og samtaleprogrammering , er en teknik, der gør programmering til en integreret del af det kørende program. [3]

Live-kodning praktiseres for det meste som en form for performancekunst og kreativ teknik. Aktiviteten er kendetegnet ved skrivning af den levende kildekode og brug af interaktiv programmering på en improviseret måde. Live-kodning bruges ofte til at skabe digitale medier baseret på lyd og billeder, samt til at styre lys-, danse- og poesisystemer [4] [5] . Det er dog mere udbredt til skabelse af computermusik eller improvisationscomputermusik, selvom vi også kan finde det brugt i kombination med algoritmisk komposition. [6] Typisk bliver processen med at skrive kildekoden synliggjort ved at projicere computerskærmen ind i publikumsrummet, hvorved den kontinuerlige forskningsaktivitet, som udføres af udøveren, vises. [7] Live-kodningsteknikker anvendes også uden for liveoptræden, såsom i produktionen af ​​lydspor til film [8] eller audiovisuelle værker til interaktive kunstinstallationer. [9] Ydermere kan de optrædendes computere sammenkobles takket være et oprettet ad-oc-netværk, hvilket gør det muligt at skabe samarbejdsforestillinger og gruppeinteraktion.

Live - koderen er den person, der udfører handlingen med live-kodning, normalt "kunstnere, der ønsker at lære at programmere, og programmører, der ønsker at udtrykke sig" [10] eller, ved hjælp af Wang & Cooks udtryk, "programmør / performer / komponist ". [2]

Live-kodning er også en stadig mere populær teknik i programmeringsrelaterede forelæsninger og konferencer og er blevet beskrevet som en "god praksis" for undervisning i datalogi af Mark Guzdial. [11]

Teknikker

Live kodning praktiseres gennem en række modaliteter, der er blevet udviklet gennem dets historie.

Tidsrepræsentation og manipulation

De muligheder, medierne tilbyder med en stærk forbindelse til midlertidighed og live-interaktionen med koden, har ført til en hel række innovative udviklinger inden for programmeringssprog. Gennem den gensidige inkorporering af imperative og deklarative undersystemer er der skabt et bibliotek i SuperCollider [12] programmeringssproget, der tillader indsættelse af ufuldstændige og foreløbige data og instruktioner, som derefter kan omskrives og ændres på en proceduremæssig måde, eller mens de kører. . [13]

ChucK- programmeringssproget introducerede konceptet med "stærkt timet" programmering i 2002, og inkorporerede præcis timing i kontrolflowet ved hjælp af kortfattet syntaks.

"Temporal recursion" var et begreb, der oprindeligt blev opfundet i forbindelse med Impromptu-programmeringsmiljøet. De tekniske elementer i et programmeringsmiljø løser fortsat tidsproblemer gennem brug af kompressorer og rekursionsbaserede løsninger, men timing og timing er stadig et betydeligt problem. Mens den generelle form for en gentagelse, der er asynkron funktionsrekursion til enhver tid, er tilgængelig for ethvert hændelsesdrevet system, har Impromptu lagt særlig vægt på denne særlige designmodel, [14] hvilket gør den til midtpunktet i konkurrencens arkitektur på det platform. Tidsrekursion er blevet brugt gentagne gange i SuperCollider og er siden også blevet implementeret i Fluxus-miljøet.

En anden funktionel tilgang til tidsrepræsentation er vist i tilfældet med Tidal DSL , [15] som repræsenterer tidsskemaer som kombinatorer, der opererer gennem tidsfunktioner, svarende til funktionelle reaktive programmeringsteknikker. [16]

Flerbrugerprogrammering og delt hukommelse

Hvad angår live-kodning, har flerbrugerprogrammering udviklet sig i forbindelse med gruppemusikproduktion gennem den langvarige udvikling af Republic -softwaren udviklet og anvendt af medlemmerne af bandet PowerBooks Unplugged , en gruppe, der samler og optræder ved brug af en computer netværk. [17] Republic er blevet integreret i SuperCollider-sproget og giver deltagerne mulighed for at skrive kode i fællesskab og live via et computernetværk. Andre forsøg er blevet gjort med forskellige programmeringssprog, såsom det distribuerede tuple-rum, der bruges i Impromptu-sproget. [18] Derudover understøtter Overtone-, Impromptu- og Extempore-sprogene flerbruger-sessioner, hvor et vilkårligt antal live-kodere kan gribe ind i koden under et bestemt trin af runtime-processen. [19] Kodeskrivning på en delt måde kan også finde sted i det samme rum, gennem et lokalt netværk eller endda fra fjerntliggende steder ved at få adgang til en delt server via internettet. Begreber som laptop band, laptop orkester, kollaborativ live kodning eller kollektiv live kodning bruges til at ramme en live programmeringspraksis over netværket enten via et lokalt netværk eller eksternt gennem brug af internettet.

Live koder kollektive organisationer

TOPLAP er navnet på den uformelle organisation, der blev etableret i februar 2004 med det formål at samle de fællesskaber, der var dannet i forskellige dele af verden omkring praksis med live kodning. Navnet stammer fra et akronym, der stammer fra variable udtryk, men altid med de samme begyndelsesbogstaver. Nedenfor er en liste over de mest brugte termer til at komponere akronymet: (Den | Midlertidige | Transnationale | Terrestriske | Transdimensionelle) Organisation for (Promotion | Spredning | Permanens | Renhed) af Live (Algorithm | Audio | Kunst | Kunstnerisk) programmering) ). [20] Organisationen har også udstyret sig selv med et manifest eller en hensigtserklæring, som bekræfter nogle principper, der ligger til grund for en live kodningsforestilling. Især hedder det i en af ​​udsagnene i manifestet, at I-optrædende bør vise offentligheden deres computerskærme under deres optræden. Denne erklæring bekræfter et princip om gennemsigtighed i forestillingen: hvert medlem af publikum skal være klar over, at den forestilling, de overværer, finder sted live, og at det kunstneriske produkt er skabt af den eller de optrædende og ikke af computeren autonomt. [21]

Live kodning forskning

Adskillige projekter og forskningsgrupper er blevet oprettet for at udforske teknikken til live-kodning, ofte ved at tage tværfaglige tilgange, skabe broer mellem det humanistiske og videnskabelige felt. De første erfaringer af denne type, både for at styrke udviklingen af ​​teknikken og for at placere den inden for en sammenhængende teoretisk ramme, fandt sted fra 2005 til 2008 med projektet kaldet "Interaktivitet i hybride netværk", finansieret af den tyske forskningsfond .

En anden forskningserfaring var Live Coding Research Network, støttet af finansiering fra Storbritanniens Arts and Humanities Research Council. I to år, startende i februar 2014, har dette projekt organiseret en række aktiviteter såsom symposier og workshops og en årlig international konference kaldet International Conference on Live Coding (ICLC). [22]

I oktober 2020 blev On-The-Fly forskningsprojektet lanceret , finansieret med ressourcer fra Creative Europe -programmet i Den Europæiske Union og udført af nogle kulturelle centre baseret i forskellige europæiske byer såsom: Hangar i Barcelona , ​​​​Spanien ; Cretive Coding Utrecht , Holland ; Ljudmila , Ljubljana , Slovenien ; ZKM , Karlsruhe , Tyskland . Målet med projektet er at fremme praksis med live-kodning, udbrede filosofien om open source-software, stimulere videnskabelig forskning inden for live-kodning og udvide publikum, der deltager i shows, eller som nyder kunst skabt gennem live-kodning.

Live-kodningsmiljøer

  • Chuck
  • Extempore
  • Fluxus
  • Foxdot
  • Hydra
  • Impromptu
  • ixi lang
  • LiveCode
  • Lua
  • Maks
  • spækhugger
  • Pharo
  • Rene data
  • Kradse
  • Sonic Pi
  • SuperCollider
  • TidalCycles
  • Wolfram sprog

Internationale live-kodere

  • Joanne Armitage
  • Renick Bell
  • Benoît og Mandelbroterne
  • Alexandra Cardenas
  • Nick Collins
  • Shelly Knotts
  • Ron Kuivila
  • Alex McLean
  • Kate Sicchio
  • Slub
  • Ge Wang
  • Adrian Ward
  • Matthew Yee-King
  • Libertad Figueroa
  • Antonio Roberts

Noter

  1. ^ Collins, N., McLean, A., Rohrhuber, J. & Ward, A. (2003), " Live Coding in Laptop Performance ", Organized Sound 8 (3): 321–30. DOI10.1017 / S135577180300030X
  2. ^ a b Wang G. & Cook P. (2004) "On-the-fly programmering: Brug af kode som et udtryksfuldt musikinstrument" , I forløbet af 2004 International Conference on New Interfaces for Musical Expression (NIME) (New York: NIME, 2004).
  3. ^ Alan Blackwell, Alex McLean, James Noble, Jochen Otto og Julian Rohrhuber, "Samarbejde og læring gennem live kodning (Dagstuhl Seminar 13382)", Dagstuhl Reports 3 (2014), nr. 9, 130-168.
  4. ^ Magnusson, T. (2013). Threnoskopet. Et musikalsk værk til live-kodning . In Live 2013. Første internationale workshop om live programmering.
  5. ^ Tech Know: Programming, meet music , BBC News, 28. august 2009. Hentet 25. marts 2010 .
  6. ^ Collins, N. (2003) " Generative Music and Laptop Performance . Arkiveret 14. maj 2014 på Internet Archive .", Contemporary Music Review 22 (4): 67–79.
  7. ^ McLean, A., Griffiths, D., Collins, N. og Wiggins, G. (2010). Visualisering af live-kode . I Electronic Visualization and the Arts London 2010.
  8. ^ Julian Rohrhuber, Artificial, Natural, Historical in Transdisciplinary Digital Art. Sound, Vision and the New Screen ( PDF ), Springer Berlin Heidelberg, 2008, pp. 60-70. Hentet 1. august 2021 (arkiveret fra originalen 11. august 2011) .
  9. ^ creativeapplications.net , http://www.creativeapplications.net/scripts/communion-cinder-scripts-events-special/ .
  10. ^ britishscienceassociation.org , http://www.britishscienceassociation.org/blog/live-coding-brings-programming-to-life-an-interview-with-alex-mac .
  11. ^ computinged.wordpress.com , http://computinged.wordpress.com/2011/08/01/what-students-get-wrong-when-building-computational-physics-models-in-python-cabellero-thesis-part -2 / .
  12. ^ James McCartney (1996), SuperCollider: et nyt realtidssyntesesprog, ICMC Proceedings, 1996.
  13. ^ Julian Rohrhuber, Alberto de Campo og Renate Wieser (2005), Algoritmer i dag - Notes on Language Design for Just In Time Programming, Proceedings of International Computer Music Conference (Barcelona), ICMC, 2005, s. 455-458.
  14. ^ Sorensen, A & Gardner, H (2010) " Programmering med tiden: Cyberfysisk programmering i impromptu, i forløbet af ACM Splash Conference 2010 "
  15. ^ Alex McLean, Making programmeringssprog til at danse til: Live Coding with Tidal , i In procedures of the 2nd ACM SIGPLAN International Workshop on Functional Art, Music, Modeling and Design , Gøteborg, 2014.
  16. ^ yaxu.org , https://yaxu.org/tidal/ .
  17. ^ Rohrhuber, J., A. de Campo, R. Wieser, J.-K. van Kampen, E. Ho og H. Hölzl (2007). Brevede breve og uddelte personer Arkiveret 3. marts 2016 på Internet Archive In Music in the Global Village Conference 2007.
  18. ^ Sørensen, A. (2010). En distribueret hukommelse til netværksforbundet livecoding ydeevne . I Proceedings of International Computer Music Conference 2010.
  19. ^ Sørensen, A. (2005). Impromptu: et interaktivt programmeringsmiljø for komposition og optræden, i forhandlingerne om Australasian Computer Music Conference 2005
  20. ^ Ward, A., Rohrhuber, J., Olofsson, F., McLean, A., Griffiths, D., Collins, N., og Alexander, A. (2004). Live algoritme programmering og en midlertidig organisation for dets promovering . I Goriunova, O. og Shulgin, A., redaktører, read_me - Software Art and Cultures.
  21. ^ Toplap.org , http://toplap.org/wiki/ManifestoDraft .
  22. ^ Gtr.ukri.org , https://gtr.ukri.org/projects?ref=AH%2FL007266%2F1 .

Bibliografi

Relaterede emner

  • Algorave
  • Demoscene
  • NIME
  • Udforskende programmering
  • Interaktiv programmering

Andre projekter

Eksterne links