Presentation laddar. Vänta.

Presentation laddar. Vänta.

MV500B: Introduktion till interaktiv ljuddesign David Yanagisawa, Anders-Petter Andersson 4.5 högskolepoängLektion 2.

Liknande presentationer


En presentation över ämnet: "MV500B: Introduktion till interaktiv ljuddesign David Yanagisawa, Anders-Petter Andersson 4.5 högskolepoängLektion 2."— Presentationens avskrift:

1 MV500B: Introduktion till interaktiv ljuddesign David Yanagisawa, Anders-Petter Andersson 4.5 högskolepoängLektion 2

2 Introduktion till Pure Data (Pd) Ett visuellt programmeringsspråk för interaktiv musik och ljuddesign Används av kompositörer, mjukvarudesigners, forskare Många multimediaartister använder Pd i sina inspelningar, liveframträdanden och installationer

3 Introduktion till Pure Data (Pd) Pd fick sin början vid IRCAM i Paris mitten av 1980-talet Dess föregångare var Max (efter datormusikens fader Max Mathews) Pd introducerades i mitten av 1990-talet som ett open source-projekt Pd kan laddas ner och användas fritt, källkoden är tillgänglig för alla Pd-extended innehåller många bibliotek för att arbeta med algoritmisk musik, MIDI, realtidsljud och -video, 3D datorgrafik

4 Introduktion till Pure Data (Pd) Pd är den perfekta utgångspunkten för de som inte har någon tidgare erfarenhet av programmering Pd låter dig använda grundläggande programmeringstekniker direkt Du arbetar med grafiska objekt som du kopplar ihop med s.k. patch cords Du hör (och ser) omedelbart varje ändring du gör medan du bygger Koden behöver inte kompileras först, vilket gör programmeringen mer interaktiv

5 Introduktion till Pure Data (Pd) Ett Pd-program kallas för en patch Du skapar en patch genom att koppla ihop olika objekt med trådar s.k. patch cords Objekt har en eller flera ingångar (kallas inlets) för inkommande meddelanden De flesta objekt har också utgångar (kallas outlets) Ett objekt skickar meddelanden från sitt outlet till ett inlet hos ett annat objekt som är sammankopplat med objektet

6 Introduktion till Pure Data (Pd)

7 Objekten är byggstenarna i Pd Pd-extended kommer med hundratals objekt En del används mer än andra, lär dig de viktigaste först Objekten är uppdelade i två huvudkategorier Vanliga objekt som arbetar i s.k. control rate Signalobjekt som arbetar i s.k. audio rate

8 Introduktion till Pure Data (Pd)

9 Signalobjekt arbetar i audio rate som bestäms av samplings- frekvensen, vanligtvis 44100Hz dvs. 1 sampel varje ms Ihopkopplade signalobjekt sänder data till varandra kontinuerligt Vanliga objekt arbetar i mycket långsammare hastighet Deras maximala klockfrekvensen är 1 millisekund mellan varje instruktion De reagerar på signaler som kommer från användareinteraktion eller från andra objekt som arbetar i control rate

10 Introduktion till Pure Data (Pd) Objekt delas upp beroende på funktion Det finns objekt för matematiska beräkningar, MIDI och behandling av listor Det finns signalobjekt för att generera, fördröja eller manipulera en signal För en komplett lista över alla inbyggda objekt i Pd, högerklicka på den vita ytan i en patch och välj Help Högerklicka på ett objekt och välj Help för att se exempel på hur man använder det

11 Introduktion till Pure Data (Pd)

12 De vanligaste inbyggda GUI-objekten kan nås från Put i menyn

13 Introduktion till Pure Data (Pd) Det finns fyra datatyper (s.k. atoms) i Pd float, symbol, bang och list Bang är ett speciellt meddelande som betyder ”Sätt i gång!” Bang innehåller ingen information om vad det mottagnade objektet skall göra, det säger bara ”Gör det!” Du kan skicka alla dessa typer genom de vanliga trådarna (patch cords)

14 Introduktion till Pure Data (Pd)

15 Det finns tjockare trådar för ljud De utgör kopplings- schemat för signalen

16 Introduktion till Pure Data (Pd) Det finns inga heltal (integers) i Pd, alla tal är flyttal (floats) Du kan använda [int]-objektet om du måste ha heltal [int] (eller bara [i]) kapar decimaldelen från ett tal

17 Introduktion till Pure Data (Pd) Skickar man bang-meddelandet till objekt kommer de vanligtvis få dem att i sin tur skicka meddelanden från sina outlets Till exempel, när man skickar ett bang till [random] så skickar det ett slumpmässigt tal (i exemplet ett tal mellan 0 och 99) genom sin outlet

18 Introduktion till Pure Data (Pd) En kombination av två eller fler tal eller symboler separerade med blanksteg kallas för en list

19 Introduktion till Pure Data (Pd) Ordningen i vilken man kopplar ihop objekt har stor betydelse Begrunda följande patch:

20 Introduktion till Pure Data (Pd) I exemplet till vänster är ett [bang]-objekt kopplat till tre meddelanden Vad [print] kommer att skriva i konsolen beror på i vilken ordning vi kopplade [bang] till de tre meddelandena T.ex. om vi först kopplade [bang] till ”three”, sedan till ”two” och sist till ”one”, så kommer [print] skriva följande resultat: three two one

21 Introduktion till Pure Data (Pd) Om vi istället använder [trigger]-objektet, som i det andra exemplet, så garanterar vi rätt ordning Ett [trigger]-objekt med tre bang-argument [t b b b] kommer att ta emot ett bang och skicka ut det tre gånger – först i höger outlet, sedan i mitten och sist i vänster outlet Det önskvärda resultatet kommer att vara garanterat oavsett i vilken ordning vi kopplar samman objekten: one two three

22 Introduktion till Pure Data (Pd) För att undvika förvirring och buggar är det rekommenderat att använda [trigger]-objektet [trigger] delar ett meddelande i flera och garanterar ordning Om du har många patch cords som skall gå ut från ett objekt, så är det viktigt att veta i vilken ordning meddelandena sänds Ordningen är alltid sådan att den börjar från outleten längst till höger och slutar med outleten längst till vänster

23 Introduktion till Pure Data (Pd) Pd – första stegen Starta Pd och skapa en ny patch genom att välja New från File i menyn eller med Ctrl+N Försäkra dig om att du är i Edit-mode Skifta mellan Edit-mode längst ner under Edit i menyn (el. Ctrl+E) Du kan se om du är i Edit-mode på pekaren som blir en hand Skapa ett nytt objekt genom att välja ”Object” från Put i menyn (eller tryck Ctrl+1) och ett nytt objekt kommer synas i patchen Med markören blinkandes i objektet, skriv ”print” som är namnet på objektet vi skapar. Slutför genom att klicka någonstans utanför objeket

24 Introduktion till Pure Data (Pd) Pd – första stegen (forts.) Du skall nu ha ett [print]-objekt med ett litet inlet i övre vänstra hörnet Om du stavar ett objektnamn fel eller försöker att skapa ett som inte är installerat, kommer Pd att printa ett fel i konsolfönstret Välja Message från Put i menyn (eller tryck Ctrl+2) och placera objektet intill [print]-objektet som du just skapade Skriva ”Hello Pd!”. Slutför genom att klicka utanför message-boxen Du har nu två saker i din patch: ett [print]-objekt och en message-box Koppla ihop de två med en patch cord Placera ”handen” över outleten i nedre hörnet på message-boxen En liten cirkel skall dyka upp

25 Introduktion till Pure Data (Pd) Pd – första stegen (forts.) Håll musknappen nere och dra ”handen” över inleten hos [print] En cirkel skall dyka upp som indikerar att kopplingen är giltig Släpp musknappen och en patch cord skapas Till sist, stäng Edit-läget (Ctrl+E) och klicka på meddelandet (”Hello Pd!”) Detta kommer posta meddelandet till konsolfönstret

26 Introduktion till Pure Data (Pd) Pd – första stegen (audio) Skapa ett nytt objekt i en ny patch Skriv ”noise~” i objektet. Tilde-tecknet (~) visar att det är ett signalobjekt Tilde skapas på Windows med AltGr+^ och ett blanksteg Klicka utanför objektet och du har ett [noise~]-objekt med en inlet Och en outlet Skapa ett nytt objekt och skriv *~ 0.1 Det är en asterisk+tilde+blanksteg+0.1 Detta skapar ett multiplier-objekt [*~ 0.1] som skalar signalen, i dett falla gör det amplituden svagare

27 Introduktion till Pure Data (Pd) Pd – första stegen (audio) Skapa ett annat objekt och skriv ”dac~” [dac~] skapar ett objekt som skickar den digitala signalen till ljudkortet och omvandlar den till en analog signal Koppla [noise~] till [*~ 0.1] och [*~ 0.1] till båda inlets hos [dac~] Stäng Edit-läget (Ctrl+E) och bocka för ”compute audio” i konsolfönstret Du bör nu höra vitt brus från din dator

28 Introduktion till Pure Data (Pd) Inlärningsmetoder Bästa sättet att lära sig grunderna i Pd är att läsa dokumentationen och studera exemplen som kommer med Pd Det finns också bra gratismaterial på nätet som lär ut grunderna i digital ljud med Pd, t.ex. Dr Rafael Hernandez har gjort 33 videolektioner som du bör se

29 Introduktion till Pure Data (Pd) Inlärningsmetoder En bra strategi för att lära sig använda objekt är att högerklicka på dem och välja Help Detta öppnar upp en hjälp-patch som visar hur objektet kan användas En varning bara så att du inte skriver över någonting av misstag: Ändra ingenting direkt i hjälp-patchen Kopiera och klista in delar i en ny patch där du kan ändra saker utan att riskera att något inbyggt går förlorat Du kan öppna exemplen från Browser i Help-menyn Lär dig att använda dessa som språngbräda till egna verk

30 Introduktion till Pure Data (Pd) Bra programmeringsvanor En nyckel till effektiv kod i Pd är att strukturera och organisera dina patcher väl En rörig patch med massor av objekt och patch cord som går kors och tvärs kommer snart att bli för svår att förstå och hantera i ett liveframträdande Använd tid till att skriva kommentarer Tryck Ctrl+5 för att skapa en kommentar Tänk att du skriver till dig själv i framtiden för att du inte skall glömma hur det funkar Placera objekten symetriskt så gott det går

31 Introduktion till Pure Data (Pd) Bra programmeringsvanor När din patch bli mer och mer komplex bör du placera vissa delar av patchens logik i s.k. subpatches (dvs. en patch i patchen) Det kommer att göra din kod lättare att läsa En subpatch kav sparas separat och återanvändas i andra projekt En effektiv programmerare är framsynt och sparar kod som ofta används i syfte att återanvända det arbetet i framtida projekt Om man gör på det sättet behöver man inte skriva ny kod hela tiden

32 Introduktion till Pure Data (Pd) Abstractions och externals Objekt kan antingen vara primitiver skrivna i C eller i sig självt patcher Primitiverna kallas externals och de inbäddade patcherna kallas abstractions Alla abstractions kan öppnas, liksom en subpatch, genom att klicka på dem Kompilerade externals kan man inte se in i De är byggda med dynamiskt länkade bibliotek och källkoden är ofta skriven i C

33 Introduktion till Pure Data (Pd) Abstractions och externals Att skapa externals ligger utanför möjligheterna i denna introduktionskurs Att du lär dig skapa abstractions är däremot viktigt och en nyckel i att underbygga och öka din kunskap i Pd medan du maximerar din förmåga att återanvända tidigare arbeten Tack och lov är det inte svårare att skapa egna abstractions än att spara en patch i rätt mapp

34 Introduktion till Pure Data (Pd) Exempel Rekommenderat: TR-909 emulation by Raul Diaz Poblete. Ljud: Massor av exempel på hur man skapar naturliga och konstgjorda ljud reacTIVision, the open-source computer vision software used in Reactable

35 Introduktion till Pure Data (Pd) Ljuddesign, teknologi, forskning och utveckling knutet till Pd IRCAM – Institute de Recherche et Coordination Acostique/Musique (Paris) musik, kurser, forskning och inspiration. CCRMA – Center for Computer Research in Music and Acoustics, vid Stanford University där Max Mathews undervisar och forskar https://ccrma.stanford.edu/ Music Technology Group i Barcelona utvecklar projekt som Reactable, Freesound.org i openFrameworks, Max, etc. Jamoma, Interactive art based research and development, gestures-to-music, GDIF


Ladda ner ppt "MV500B: Introduktion till interaktiv ljuddesign David Yanagisawa, Anders-Petter Andersson 4.5 högskolepoängLektion 2."

Liknande presentationer


Google-annonser