L'abitudine ti ha portato a non creare di volta in volta risposte originali e pertinenti a un dato momento. Non creando le tue risposte, ma aspettandoti di fatto che esse scaturiscano in modo passivo, passi la tua vita in stato di ipnosi, programmato a rispondere agli stimoli in base ai dati raccolti nei tuoi primissimi anni di vita; Rivoluzione come sconvolgimento di automatismi, abitudini e/o funzioni fisiologiche;


(
    var a,b,c,d;
    a=Pseq([Pseq([0,0,0,0,0],1),Pseq([1,1,1,-1,-1],1)],1);
    b=Pseq([Pseq([1,1,1,1,1],1),Pseq([4,-1,4,-1,-1],1)],1);
    c=Pseq([Pseq([0,0,0,0,0],1),Pseq([0,0,0,0,0],1)],1);
    d=Pseq([Pseq([-1,-1,-1,-1,-1],1),Pseq([2,2,2,1,1],1)],1);
    Pbindef(~bzbass,\instrument,\bz_bass,\scale,Scale.yu,\root,5,\octave,3,
        \degree,Pseq([Pn(a,2),Pn(b,2),Pn(a,2),Pn(b,2),Pn(c,2),Pn(d,2),Pn(c,2),Pn(d,2)],inf),\dur,Pbjorklund2(5,9)/3,\amp,0.4,\rel, 0.3,\pan, -0.3);
)


(
    var a,b,c,d;
    a=Pseq([Pseq([0,0,0,0,0],1),Pseq([1,1,1,-1,-1],1)],1);
    b=Pseq([Pseq([1,1,1,1,1],1),Pseq([4,-1,4,-1,-1],1)],1);
    c=Pseq([Pseq([0,0,0,0,0],1),Pseq([0,0,0,0,0],1)],1);
    d=Pseq([Pseq([-1,-1,-1,-1,-1],1),Pseq([2,2,2,1,1],1)],1);
    //~synth =
    Pbindef(~x, \instrument,\synth,\scale,Scale.yu,\root,5,\octave,Pseq([2,3],inf),
    \degree,Pseq([Pn(a,2),Pn(b,2),Pn(a,2),Pn(b,2),Pn(c,2),Pn(d,2),Pn(c,2),Pn(d,2)],inf),\dur,Pbjorklund2(5,9)/3,\amp,0.3,\rel, 0.3,\pan, 0.3);
)

(
    var a,b,c,d;
    c=Pseq([0,0,0,0,0,0,0,0],1);
    d=Pseq([-1,-1,-1,-1,-1,-1,-1,-1,2,2,2,2,2,2,2,2,-1,-1,-1,-1,-1,-1,-1,-1,2,2,2,2,2,2,2,1],1);
    Pbindef(~bzbass2, \instrument,\bz_bass,\scale,Scale.yu,\root,5,\octave,2,
    \degree,Pseq([Pn(c,4),Pn(d,1)],inf),\dur,Pbjorklund2(8,9)/3,\amp,0.4,\rel,
    0.3,\pan,-0.3);
)
Alcune Strategie potrebbero essere:

Destructive/Analytical Programming : Rimuovi parti di uno script esistente per esplorare come ciascuna parte rimossa contribuisce all'intero processo. In generale, la programmazione conversazionale può essere uno strumento utile per imparare come funziona il codice esistente.

Proxy Refactoring : riorganizza uno script esistente: se si tratta di un singolo proxy, trasforma i suoi componenti in singoli proxy, in modo che vengano esposti per modifiche indipendenti. Se lo script è composto da proxy più piccoli, uniscili in un numero minore più grandi. A causa di una diversa struttura di dipendenza, in ogni fase, le modifiche alle singole parti generano diversi cambiamenti sonori.

Time-Warping :  Utilizzare un singolo parametro che rappresenti il ​​tempo (o il conteggio) per parametrizzare vari processi, che possono essere funzioni stateless o routine stateful. Di conseguenza, ogni processo è una funzione diretta del tempo.

Switchboard Programming : Avvia processi multipli continui, quindi controlla quelli che diventano udibili commutando gli algoritmi.

Parameter Modification: Avvia un processo, quindi modifica ciascuno dei suoi parametri almeno una volta.

Mixed Mode Parameter Tweaking: consente di passare dalla modifica dei parametri alla riscrittura dei processi audio che questi parametri controllano. Lo stesso parametro può assumere un altro significato durante una revisione. Task o input esterni possono continuamente variare i parametri, mentre la loro interconnessione viene riscritta.

Purloined Letters: prendi uno script di un co-musicista e modificalo; diversi Esploratori possono decidere di creare set di variazioni parallele dello stesso codice di partenza.

Topic Exploration: concorda un argomento da esplorare e crea suoni partendo da questo topic.

Tandem Programming: programmando da terminale, riscrivi un singolo processo audio in rete. In alternativa, più coder possono programmare variazioni di un singolo flusso di input.

Conversational Sonification: Scegli alcune fonti di dati come argomento per la sonificazione; prova a creare diverse rappresentazioni sonore per la stessa fonte di dati, discutendo il dominio e le implicazioni epistemologiche.

Chat Model: Conversazione terminale, raffinamento e sviluppo iterativo tramite dialogo con il programma.

Ex Nihilo, editor di testo vuoto/canvas: inizia con l'editor vuoto e aggiungi le cose nel più breve tempo possibile. Nelle situazioni multicoders, inizia con un documento vuoto e scrivi il codice per diluire i suoni dell'intero gruppo.

Isolation Exercises

Typing Practice : (il record mondiale di velocità di digitazione al momento si attesta su una media di 12 caratteri al secondo).

Memory: tenere a mente tutti i processi e i dettagli (specialmente senza alcun promemoria grafico durante la codifica dal vivo) può essere di aiuto negli esercizi di pratica della memoria.

Algorithmic Building Blocks: prendi spunto dai meccanismi linguistici di incapsulamento/ricorsione/iterazione e ciclo condizionale a algoritmi specifici per l'ordinamento o l'organizzazione dei dati.

Mathematical Constructs: potrebbero essere di ispirazione particolari problemi matematici discreti come riff per mostrare l'engagement algoritmico: il problema 3x + 1, la radice quadrata di Babylonian, teorie dei numeri (cioè setacci, sommari Goldbach, algoritmi di numeri primi ecc.), teoria dei gruppi (simmetrie, catene di permutazione).

Computer Music Constructs: sintesi del suono e tecniche di composizione algoritmica, rappresentazioni da accordature non standard (ad esempio Just Intonation to x-limit) per parametrizzazioni timbriche, mappature musicali incluso conoscenza della psicoacustica e della cognizione musicale.

Attention and Awareness: mentre l'automatismo può aiutare per una migliore gestione delle proprie risorse potenziali, allenare la concentrazione può portare enormi benefici. La meditazione e la riflessione possono anche avere un ruolo nella gestione dello stress e dell'ansia da concerto, anche se il sovraccarico di adrenalina tende ad essere ridotto per gli artisti esperti dopo che hanno accumulato ore e ore di performance.

Fonti : Improvising Formalisation Conversational Programming and Live Coding, Julian Rohrhuber and Alberto de Campo; Live Coding Practice, Click Nilson




John Howard Carpenter (Carthage, 16 gennaio 1948) è un regista, sceneggiatore, compositore, musicista, attore, produttore cinematografico e montatore statunitense.

la Freak Track è composta Realtime, generando, valutando e modificando codice;

(
    ~sinfb = Pbind(\instrument,\daf_bass,\scale,Scale.major,\root,2,\octave,[3,4],
    \degree,Pseq([7,1,3,1],inf),\dur,Pbjorklund2(5,8)/4,\amp,0.15,\fb,0.1,\rel,
    0.3);
    ~feedback = {SinOsc.kr(0.1,-1,1).range(0,1.713)};
    ~sinfb.set(\fb,~feedback);
    ~sinfb.play(quant:0.1);
    ~h.play;
    ~k.play;
    ~k2.play;
)

(
    var i=2;
    ~sinfb = Pbind(\instrument,\daf_bass,\scale,Scale.major,\root,2,\octave,[3,4],
    \degree,Pseq([1,Pfunc({i=i+1;if (i==18) {i=17}; i}),1,Pfunc({i=i+1;if (i==18)
    {i=17}; i})],inf),\dur,Pbjorklund2(5,8)/4,\amp,0.15,\fb,0.1,\rel,
    0.3);
    ~feedback = {SinOsc.kr(0.1,-1,1).range(0,1.713)};
    ~sinfb.set(\fb,~feedback);
    ~sinfb.play;
    ~h.play;
    ~k.stop;
    ~k2.stop;
    ~piano.stop(1);
    ~piano2.stop(1);

)

(
    ~sinfb = Pbind(\instrument,\daf_bass,\scale,Scale.major,\root,2,\octave,[3,4],
    \degree,Pseq([1,1,1,1],inf),\dur,Pbjorklund2(5,8)/4,\amp,0.15,\fb,0.1,\rel,
    0.3,\pan, -0.7);
    ~feedback = {SinOsc.kr(0.1,-1,1).range(0,1.713)};
    ~sinfb.set(\fb,~feedback);
    ~sinfb.play(fadeTime:0);
    ~h.play;
    ~chords.play(fadeTime:0);
)


(
    ~piano = Pbind(\instrument,\pianovel,\scale,Scale.major,\root,2,\octave,[5,6],
    \degree,Pseq([Pseq([1,2,3,4,5,6,7,8,9].reverse,3),Pseq([2,3,4,5,6,7,8,9].reverse,1),
    Pseq([1,2,3,4,5,6,7,8,9],4),Pseq([1,1,1,1,1,1,1,1,1],4)], inf),\dur,Pbjorklund2(5,8)/4,\amp,1.5,\rel,
    0.3,\pan, 0.7);
    ~piano.play;
)

(
(
~chords = Pbind(\instrument,\bpfsaw,
\dur,Pwhite(4.5,7.0,inf),
\degree,Pseq([
\D,
\F,
\A,
].chordProg,inf),
\detune, Pexprand(0.0001,0.1,inf),
\cfmin,100,
\cfmax,1500,
\rqmin,Pexprand(0.02,0.15,inf),
\atk,Pwhite(2.0,4.5,inf),
\rel,Pwhite(6.5,10.0,inf),
\ldb,6,
\amp,Pwhite(0.8,2.0),
\out,0)
);
~chords.play;
)

Update cookies preferences