ChatGPT et live coding

Bonjour tout le monde! Ce post pour vous parler de cette expérience que j’ai faite avec ChatGPT et quelques logiciels pour lesquels je souhaitais voir si l’IA pouvait générer du code.
Celle-ci a rempli plutôt bien pour les applications suivantes:

  • SuperCollider,
    -Sonic Pi
    -FoxDot
    J’ai essayé également avec Strudel Music mais hélas non reconnu (en terme de code) par ChatGPT!
    Je vous mets les lignes de code SuperCollider suivantes en lui ayant demandé de me coder une rythmique, une mélodie et un accompagnement. Voici le résultat, à l’évaluation celui-ci ne donne qu’un flux rythmique peu audible dû à des erreurs. J’en essayé d’autres toujours avec SuperCollider et d’autres avec Sonic Pi qui marchaient par contre. Rien de fou à vrai dire mais transformable évidemment à son gré…
    Voilà pour cette modeste expérience qui est tout de même bluffante et pourra peut-être donner des idées ou une base de travail pour d’autres! :blush:
// Mélodie
(
SynthDef(\melodie, {
    arg freq = 440, dur = 0.5;
    var env, sig;
    
    env = EnvGen.kr(Env.perc(0.01, 0.1), doneAction: 2);
    sig = Saw.ar(freq, 0.4) * env;
    
    Out.ar(0, sig * 0.3);
}).add;
)

// Rythme
(
SynthDef(\rythme, {
    arg dur = 0.25;
    var env, sig;
    
    env = EnvGen.kr(Env.perc(0.01, 0.1), doneAction: 2);
    sig = LFPulse.ar(4, 0, env);
    
    Out.ar(0, sig * 0.5);
}).add;
)

// Accompagnement
(
SynthDef(\accompagnement, {
    arg freq = 220, dur = 1;
    var env, sig;
    
    env = EnvGen.kr(Env.perc(0.01, 0.1), doneAction: 2);
    sig = Saw.ar(freq * [1, 1.5, 2], 0.3) * env;
    
    Out.ar(0, sig * 0.2);
}).add;
)

// Jouer la composition
(
{
    // Mélodie
    inf.do {
        Synth(\melodie, [\freq, Scale.major.degrees.choose.midicps, \dur, 0.5]);
        0.5.wait;
    };

    // Rythme
    inf.do {
        Synth(\rythme, [\dur, 0.25]);
        0.25.wait;
    };

    // Accompagnement
    inf.do {
        Synth(\accompagnement, [\freq, Scale.major.degrees.choose.midicps, \dur, 1]);
        1.wait;
    };
}.fork;
)

1 Like