lundi 2 septembre 2013

Dans les coulisses du prochain album de Tapage - Part 4


Même si 8, le futur album de Tapage, s'annonce particulièrement riche en arrangements acoustiques, il ne faut pas oublier que Tijs Ham est un féru de code et de programmation. Ce nouveau chapitre de son carnet de bord nous le rappelle, puisque l'artiste hollandais s'attarde sur un morceau composé à partir d'un langage de programmation, morceau dont il propose le code, à manipuler à sa guise. Encore en élaboration, le titre prend pour l'instant une forme d'ambient frémissant, construit sur des fréquences plus ou moins sourdes et dont les différentes tonalités s'allument tour à tour, comme la flamme d'une bougie.

______________________________________________________________________

Tapage - 8 : Following the process of writing an album, part 4.

Hey all !

The past few studio updates have been mostly focussing on the recording of source sounds such as the field recordings and cello... But there's another aspect that I'd like to share...

*Warning, things are about to get a bit nerdy from here on...

Code !
Yes !
From acoustic resonances straight towards the digital world of synthesis and coding. In the past couple of years I have been learning how to write my own programs for generating and manipulating sounds in a programming language called SuperCollider. Once you get the hang of it (and acquire a fair amount of knowledge on digital signal processing and such), it provides a lot of freedom to generate new sonic layers. For the last track on my album I wanted to create a dense ambient piece made out of sawtooth oscillators. It ended up sounding something like this :


This is still very much under construction and dependent on randomness. But in due time it should sound just the way I want it to. So here is the code I've typed so far. To mess around with it yourself you'll need to go to : http://supercollider.sourceforge.net

... and download the latest version (all free and open source). Then copy the code, select it all and execute by pressing shift-enter !

/*
Server.default.makeGui;
s.meter;
*/
Server.default.options.memSize = 512000;

s.waitForBoot{
{
~freqArray = [60, 65, 64, 67, 69, 72].midicps;
~buffer = Buffer.alloc(s, s.sampleRate, 2);
///
s.sync;
/// SynthDefs
SynthDef(\saw, {|freq, amp, cuts, cute, rq, det, len, pans, pane, outBus=80 |
var out, env;
env = EnvGen.ar(Env.sine(len, amp), doneAction:2);
out = BLowPass.ar(Saw.ar(SinOsc.ar(det, 0, 1, freq)), Line.kr(cuts, cute, len), rq);
Out.ar(outBus, Pan2.ar(out, Line.kr(pans, pane, len), env));
}).add;
///
SynthDef(\rec, {|inBus=80, buf|
var in;
in = InFeedback.ar(inBus, 2);
RecordBuf.ar(in, buf, 0, 1, 0, 1, 0, 1, 2);
}).add;
///
SynthDef(\play, {|outBus=90, buf, poi, rate, ws, len, amp, freq|
var env, out;
env = EnvGen.ar(Env.perc(0.01, len*0.1, amp, -8), doneAction:2);
out = Warp1.ar(2, buf, poi, rate, ws, -1, 2);
out = Ringz.ar(out, freq, poi);
Out.ar(outBus, out*env);
}).add;
///
SynthDef(\mix, {|inBus1=80, inBus2=90, outBus=0|
var in1, in2, out;
in1 = InFeedback.ar(inBus1, 2)*0.4;
in2 = CombL.ar(InFeedback.ar(inBus2, 2), 0.2, 0.2, 18);
out = LeakDC.ar(GVerb.ar(in1 + in2)).tanh;
Out.ar(outBus, out);
}).add;
///
s.sync;
/// Synth
Synth(\mix);
///
s.sync;
/// Pbind
Pbind( \instrument, Pseq([\rec, \saw, \play, \saw], inf),
\dur, Pwrand([0.5, 0.8, 1.2]*2, [1,3,2].normalizeSum, inf),
\len, Pwhite(15, 30),
\freq, Prand(~freqArray, inf)*Pwrand([0.25, 0.5, 1, 2, 4, 8], [5, 0.5, 0.1, 0.5, 2, 0.25].normalizeSum, inf),
\amp, Pwhite(0.01, 0.05),
\cuts, Pwhite(40, 200),
\cute, Pwhite(200, 1800),
\rq, Pwhite(0.1, 0.9),
\det, Pwhite(0.1, 1),
\pans, Pwhite(-1,1),
\buf, ~buffer,
\poi, Pwhite(0, 0.3),
\rate, Pwrand([1, 2, 4, 8, 16], [3,2,1,3,2].normalizeSum, inf),
\ws, Pwhite(0.1, 0.3),
\pane, Pwhite(-1,1)).play;
}.fork;
}

OK, that's enough code for today ! Enjoy and see you next time !

Tapage
______________________________________________________________________

Traduction

Salut à tous !

Les derniers compte-rendus de studio se sont essentiellement focalisés sur l'enregistrement des sons de sources telles que les field recordings et le violoncelle... Mais il y a un autre aspect que j'aimerais partager avec vous...

* Attention, les choses sont sur ​​le point de devenir un peu intello à partir d'ici...

Le code !
Eh oui !

Des résonances acoustiques droit vers le monde numérique de la synthèse et du codage. Au cours des deux dernières années, j'ai appris à écrire mes propres programmes pour générer et manipuler des sons dans un langage de programmation appelé SuperCollider. Une fois que vous avez pris le coup (et acquis une quantité raisonnable de connaissances sur le traitement du signal numérique et autres), ça offre une grande liberté pour générer de nouvelles nappes sonores. Pour le dernier titre de mon album, je voulais créer un morceau ambient dense à partir d'oscillateurs en dents de scie. Ça a fini par sonner comme ça :


C'est encore en construction et dépendant du hasard. Mais en temps voulu, le morceau devrait sonner juste de la façon dont je le souhaite. Donc, voici le code que j'ai tapé jusqu'ici. Pour vous amuser à le bidouiller vous-mêmes il faudra vous rendre à l'adresse : http://supercollider.sourceforge.net

... et télécharger la dernière version (entièrement gratuite et open source). Ensuite, copiez le code, sélectionnez-le en entier et exécutez en appuyant sur Maj + Entrée !

OK, assez de code pour aujourd'hui ! Amusez-vous bien et à la prochaine fois !

______________________________________________________________________

Quelques liens

Aucun commentaire:

Enregistrer un commentaire