SuperCollider en français

Merci belle présentation Dindoleon!! :blush:
Je reviens juste sut l’aspect tonal (j’ai aussi fait pas mal de compos “tonales” dans Live) et le musicologue que je suis étant resté à l’écoute de l’ineffable comme tu le dis si bien a été happé par ces lignes de code produisant musicalement “quelque chose d’autre” qui allait au delà de toutes les analyses musicologiques que j’avais pu faire. Et l’idée d’écrire pour produire du son m’enthousiasme plus qu’effectivement relier des petites objets entre eux que dans Pure Data, Max ou même dans Reaktor de Native; (mais les gouts et les couleurs de chacun en la matière sont tout à fait respectables)
Cette idée rejoint sans doute la tienne: utiliser des lignes de codes qui demandent d’être super carré pour produire quelque chose d’indicible et non tonal de non “répertorié”…Dans ce sens les (nombreux) SCTweets de Federik Olofsson ont été determinant pour moi dans l’envie d’apprendre le SCLang en pensant aux UGens qui ont été déclencheur pour toi…
J’espere m’être fait comprendre :sweat_smile:

Oui ce rapport à l’écriture est très libérateur dans SuperCollider !

Si je me rappelle, les documents écrits les plus anciens que l’on ait retrouvés sont des traités de musique, mais non des partitions, qui datent d’époques beaucoup plus récentes.

Sans avoir fait un réél travail dessus, j’ai l’impression que l’élargissement des règles de la musique se fait par normalisation de petites exceptions : la septième n’est jamais jouée au départ, puis on la tolère lors d’un retard, puis quand on est habitués à l’entendre on l’attaque directement; on fait du contrepoint puis on réajuste légèrement les notes, et d’un coup paf on a des degrés, etc…

La musique atonale s’est ‘battue’ contre la partition pour en sortir, et déjà je pense que Liszt aurait aimé pouvoir rajouter des touches dans les interstices de son clavier… Je trouve que les langages de programmation musicaux sont la nouvelle étape de cette suite.

(mon fil d’idée s’est transformé en une petite liste de ce que permet SC et des idées pour débuter) :

  • La composition algorithmique nous permet de sortir de la linéarité de la partition, en rajoutant des conditionnels (if).
  • C’est un classique, mais l’idée de ‘sonifier une plante’, grâce à des capteurs, brouille la frontière instrument/compositeur/partition.
  • La composition aléatoire (Randomness | SuperCollider 3.12.2 Help) permet de sortir de sa zone de confort. Plus complexe qu’il n’y paraît, parce qu’il faut en fait cadrer un minimum l’aléatoire pour ne pas tomber dans l’inaudible, tout en laissant assez de liberté au programme pour de la nouveauté.

  • La création d’une interface graphique équivaut à une nouvelle forme d’écriture de la musique. Même si elle passe souvent par des formes graphiques pures, Pure Data reste une interconnection entre des mots. À ce sujet : voir les logiciels IBNIZ, Orca et Iannix (entre autres).

  • Mon exemple favori pour les débutants (nécessite la stéréo). Bootez le serveur, baissez le volume, (toujours faire attention aux oreilles) et éxécutez le code suivant :
    { SinOsc.ar([220, 221], mul: 0.25); }.play;
    On demande juste à SuperCollider de jouer deux sons simples, un peu décalés l’un de l’autre (220 à gauche, 221 à droite). L’effet de spatialisation est superbe, mais très difficile à obtenir avec une guitare ! À partir de là, on peut modifier une des deux valeurs (221 devient 222 par exemple), ou remplacer SinOsc par Saw (ou un autre UGen) pour s’habituer à la ‘texture sonore des mots-clefs du langage’.

  • Tan que j’y suis : dans le petit traité de SuperCollider (en anglais), section 24.1, il y a le code pour simuler un thérémine avec la souris :
    { SinOsc.ar(freq: MouseX.kr(300, 2500), mul: MouseY.kr(0, 1)); }.play;
    C’est également un code tout prêt facile à modifier pour se familiariser avec le langage.


J’ai tendance à poster des gros blocs, n’hésitez pas à m’arrêter si c’est trop.


Pour revenir à ton sujet, as-tu vu le preprocessor ? Je n’y ai pas encore touché mais ça à l’air d’être une dinguerie. Comme SC est interprété, tout le code que l’on tape et éxécute n’est rien de plus qu’un fichier texte aux yeux de SuperCollider, qui le traduit ensuite comme instructions.

Cela veut dire qu’avant l’interprétation, il est possible de tout manipuler comme du texte, et donc de remplacer des mots par des blocs de textes plus gros. Autrement dit SC intègre la possibilité de construire son propre langage à l’intérieur de son environnement.

On a donc la capacité de construire de nouvelles ‘syntaxes de composition’.

1 Like

Merci pour ton post très intéressant!!
Tu écris ceci qui est très juste, “sortir de la linéarité”

La composition algorithmique nous permet de sortir de la linéarité de la partition, en rajoutant des conditionnels (if )

qui est pour moi très important dans mon ressenti (surtout) avec SC: on accède à une temporalité différente presque malléable, en tout cas qui nous sort clairement des Time Line classiques comme Live ou Cubase par exemple. Une temporalité différente en rapport avec une matière sonore différente, les deux contribuant à créer parfois je trouve une texture sonore parfois même hypnotique ou en tout cas propre à nous sortir de notre zone de confort comme tu l’écris propre à la composition aléatoire également effectivement.
Je ne connais pas le preprocessor mais je vais m’y intéresser de plus près! :blush:
Merci également dulien vers le [petit traité de SCollider], une ressource intéressante de plus!(https://ccrma.stanford.edu/~ruviaro/texts/A_Gentle_Introduction_To_SuperCollider.pdf)

Bruno Ruviaro est un chouette bonhomme, qui a beaucoup fait pour l’éducation à SuperCollider. Outre son livre, il a publié de nombreux tutos sur sa page sccode.

Notamment les Quelquechose Synthesis GUI Demo X qui permettent de découvrir les différents types de synthèse sonore, en les manipulant avec une interface graphique pour se faire une idée du son qu’elles produisent, avant de regarder le code pour savoir comment on les implémente. C’est idéal pour les néophytes.

À mentionner du coup, un exemple de synthèse granulaire. Bon, c’est pas de la synthèse dans l’exemple, mais peu importe. C’est avec SC que j’ai découvert cette technique, qui date de plusieurs décennies mais reste assez méconnue. Il s’agit de produire un son continu non pas en faisant jouer un synthé continuellement, mais en émettant de très courts sons (des grains) les uns à la suite des autres qui donnent une impression de continuité comme ils sont joués bout-à-bout. Ils ont une durée très courte (aux alentours de 2 millisecondes), et modifier la forme du grain modifie la forme du son continu qu’ils composent. C’est une technique qui a été inventée par des académiciens et des compositeurs classiques, mais trouve aujourd’hui son utilisation dans des musiques où la texture du son, produite par les effets et le mix, est centrale, comme la dubstep.

1 Like

ok…du coup j’en ai profité pour essayer les lignes de code de Bruno Rovario et ses interfaces graphiques permettant effectivement d’écouter différents types de son avec leur évolution avec la souris. J’ai testé également quelques une des interfaces que tu as mis en ligne et elles sont ma foi superbes aussi!
J’ai une question (de musicologue lol) qui m’intéresse beaucoup dans SC ou CPi: la notion de forme ou celle de la structuration formelle des différentes compos…Comment abordes tu cette dimension importante?

Ma réponse est franchement décevante :slight_smile: . Je ne l’aborde pas.

Je suis avant tout un instrumentiste, et j’apprécie également beaucoup la danse. J’ai un rapport très corporel à la musique, et autant les mathématiques font appel à mon rationnalisme, autant je trouve que les arts en général et la musique en particulier tendent plutôt vers l’expérience mystique.

J’ai quelques compos pour les soirées où je suis le seul musicien, mais dans ces moments, j’ai plus le sentiment de faire le singe savant qu’autre chose. Je déteste répéter. Ma pratique de la musique, ce sont les musiques improvisées entre amis, où on recherche une forme de transe, d’écoute, de partage.

Dans ce cadre là, il y a deux outils qui sont presques indépassables : la carrure, et la forme ‘thème - impro - thème’. C’est d’un intérêt intellectuel très limité, par contre c’est excellent pour se laisser aller, et aussi pour inclure des musicienx pas trop sûr d’eux.

J’ai travaillé l’impro plus en profondeur, et j’arrive plus ou moins à improviser la structure en même temps que les notes. Donc théoriquement je pourrai m’amuser avec ça. Mais souvent les instrumentistes avec qui je joue n’improvisent que les notes, et ça ne va donc pas plus loin que ‘intro - suite de solos - outro’. Et si ça nous permet de nous amuser c’est suffisant (même si j’aimerai aller plus loin).

Dans tout ça, l’usage que j’ai de SuperCollider, c’est plutôt de la facture d’instrument qu’un outil de composition (même si la frontière est parfois floue). Je me suis fait des outils pour improviser, donc ils n’intègrent par essence pas de structure fixe.

Pour les compos, je reste fan de musique pop. J’apprécie les compositeurs aux structures complexes (Zappa par exemple), mais je ne hiérarchise pas par rapport à une simple suite de couplets-refrains (Beatles). Les deux me provoquent des émotions. Elles sont simplement différentes.

Je fais des choses basiques : couplet-refrain, AABA, suite de tableaux. La question des textures et des mélodies me passionne plus. Et puis même si SC semble renverser la linéarité, la musique reste inscrite dans le temps et l’éxécution même de la pièce la force à un retour à la linéarité. C’est vrai que je suis un peu fainéant de ce côté là.

Et toi ?

Très bien, vu! Je comprends très bien ton point de vue et ta démarche. En fait je suis confronté à un problème quant à ce problème de forme dans la mesure ou jusqu’à présent, en tant que pianiste et musicologue, l’histoire de la musique m’a toujours “incité” à toujours formaliser les choses dans mes compos (forme sonate, variations, forme en arche, formes simple a/b/a, etc…). De fait faire du live codin en utilisant tel ou tel logiciel dédié m’invite à me poser la question de la structuration des compos dans ce contexte. Ma connaissance de SC n’est pas suffisamment avancée à l’heure d’aujourd’hui mais elle me semble intéressante à explorer en commençant déjà par les formes simples que tu citais d’ailleurs: couplet-refrain, aaba et c…
Voila en gros pour ce qui est de ma propre réponse sur cette question en l’état actuel de mes compétences sur SCpi ou SC … :blush:

Il y a une citation magnifique du pianiste Bill Evans où on lui demande ce qu’il pense du free jazz, et il répond, de mémoire et simplifié : ‘On peut penser ce qu’on veut de la liberté. On peut commencer à jouer avec ses coudes sur le clavier et se dire “C’est ça la liberté.”. Mais pas pour moi. Pour moi la liberté se remporte sur quelque chose de rigide, de solide.’ (la citation exacte est dans “Le jazz dans tous ses états”, éditions Larousse).

Partir des formes classiques est une excellente chose. En plus, ça fait déjà bien longtemps que les compositeurs s’amusent avec la forme. Je n’ai plus la référence exacte mais un pianiste de la fin XIXe, je crois, à écrit une berceuse qui se termine en plein milieu d’une structure… parce que l’enfant s’est endormi. C’est génial comme discours musical!

Le Carnaval des Animaux de Saint-Saëns, de forme ‘visite au zoo’ :elephant: .


Dans SonicPi, j’avais écrit un générateur aléatoire de musique pop. Je spécifiais seulement une grille d’accords, et j’avais plusieurs instruments disponibles. Chaque instrument avait ensuite des méthodes de ‘composition’ spécifique, référencées par un mot-clef. Par exemple la basse pouvait simplement marquer la fondamentale sur le premier temps avec quelques ornements, faire à peu près la même chose mais avec une densité de notes plus grande, ou faire une walking-bass.

Donc je pouvais tester, sur la même grille, ce que donnait :
Bass: [\simple, \simple, \complexe, \walking, \complexe, \walking]
ou encore :
Bass: [\walking, \simple, \walking]

Ce sur plusieurs instruments (en fait plutôt sur plusieurs aspects ‘fonctionnels’ d’instruments : basse, accompagnement, soliste, contrechant, …).

Ça me permettait d’étudier différents rendus d’une même grille rapidement en fonction des types de composition associés aux différentes fonctions des instruments.


(je vous conseille de lire tout avant de cliquer sur les liens)

Dans SuperCollider, lorsqu’on est habitué à la composition ‘classique’ type partition, avec ses manières de subdiviser le temps en blocs réguliers et distincts, je pense que l’interface Pattern est un excellent moyen d’expérimenter.

Un tuto complet est disponible ici, mais je trouve qu’il n’est pas adapté aux débutants. Il est extrêmement documenté et va bien au-delà de ce qu’on a besoin de savoir pour débuter, ce qui peut décourager. En tout cas j’ai du le lire plusieurs fois, à plusieurs mois d’intervalle, pour apprécier la vue d’ensemble qu’il propose, et, oui, c’est d’une grande finesse, mais c’est beaucoup trop au début.

Pour commencer, je pense qu’il faut juste comprendre comment utiliser Pbind :

C’est un outil qui permet d’utiliser une SynthDef et d’émettre, dans le temps, des évènements sonores tout en contrôlant les paramètres :

(
SynthDef(\sineSimple, { |out=0, freq=220, amp=0.25, envDur=1|
	var env =EnvGen.kr(
		Env.perc(envDur * 0.01, envDur * 0.99),
		doneAction: Done.freeSelf);
	var son = SinOsc.ar(freq, mul: amp);
	son = son * env;
	Out.ar(out, son);
}).add;
)

(
~partition = Pbind(
	\instrument, \sineSimple,
	\dur, 1,
	
	\freq, 440,
	\envDur, 0.5
);
)

~partition.play;

Pour modifier les paramètres au cours du temps, on utilise les fameuses ‘patterns’. On commence par Pseq, la plus simple, qui joue une suite de valeurs données :

(
Pbind(
	\instrument, \sineSimple,
	\dur, 0.5,
	
	\freq, Pseq((Scale.at(\major).ratios * 440), inf),
	\envDur, 0.5
).play;
)

C’est assez pénible d’obtenir les fréquences des notes en Hertz, donc on peut utiliser les numéros de notes midi et les convertir. La basse d’Alberti :

(
Pbind(
	\instrument, \sineSimple,
	\dur, 0.25,
	
	\freq, Pseq([60, 67, 64, 67].midicps, inf),
	\envDur, 0.5
).play;
)

Il y a plein de ‘patterns’ différents en fonction des besoins, et notamment des patterns aléatoires. Il faut explorer.

Ces Pbinds sont des instructions pour la machine lui indiquant comment et quoi jouer à tel moment, de la même manière que la partition l’indique à l’instrumentiste. Mais ici nous pouvons les manipuler plus aisément, notamment en les assemblant comme des legos :

(
var alberti, gamme, partition;

alberti = Pbind(
	\instrument, \sineSimple,
	\dur, 0.25,
	\freq, Pseq([60, 67, 64, 67].midicps, 2),
	\envDur, 0.5
);

gamme = Pbind(
	\instrument, \sineSimple,
	\dur, 0.25,
	\freq, Pseq((Scale.at(\major).ratios * 440), 1),
	\envDur, 0.5
);

partition = alberti ++ gamme ++ alberti;

partition.play;
);
1 Like

Merci à toi pour les morceaux de code: Je les ai essayé et permettent de contrôler effectivement des événements constituant ainsi des structures simples de base dans le temps et donc de créer de plus grandes structures musicales…Pseq et pbind en étant les piliers entres autres visiblement, concepts que je commence tout juste à aborder dans SCollider.
J’ai regardé par ailleurs sur YouTube, plusieurs séances de Live Coding avec le “groupe” passionnant (ils sont à deux ou 4 suivant les besoins) Benoit and the mandelbrots Benoit and the Mandelbrots qui jouent sur scène en créant de longues structures musicales et progressives sur le plan structurel avec SC (je dis ça toujours dans la perspective de la question de la forme d’ensemble)
Je rajoute qu’étudiant en même temps SPi et SC, apprenant donc deux langages différents mais aboutissant à des séquences sonores équivalentes, (comme pour d’autres logiciels de live coding bien-sûr!) les différences sont finalement moins dérangeantes qu’il n’ y parait et pédagogiquement formatrices en ce qui me concerne en tant que débutant en tout cas…

Hello Dindoleon! Concernant ton tuto: Tuto SC.
Je l’ai relu et il est pédagogiquement très bien fait! :wink: As tu l’intention de le poursuivre? (en ayant conscience de l’énorme travail que cela exige) :grin:

1 Like

Merci :open_book: !

J’ai un peu potassé le sujet. Mes tutos/accompagnements sont généralement denses et exhaustifs, ils nécessitent beaucoup de concentration mais récompensent les lecteurs persévérants. En ce moment je rédige un tuto complet de prise en main de QT, le système d’interface graphique de SC. Il devrait être disponible, en anglais, dans la doc intégrée, si je suis assez rapide, à la prochaine mise-à-jour.

La rédaction de documentation sur des sujets techniques s’accompagne souvent chez moi d’un grand sentiment de vacuité. D’expérience, même les étudiants en master ‘artistique’ préfèrent passer 3 heures devant Netflix que 3 heures devant un document technique qui pourrait décupler leur créativité… Ne parlons pas des sujets techniques qui abordent les questions politiques…

J’ai pris le temps d’écrire sur ce fil dans la même optique que j’écris des tutos : agréger collectivement du savoir et favoriser l’échange sur les pratiques culturelles. Pourtant, ça ne dépasse pas le dialogue pour l’instant (ce qui par ailleurs me convient, c’est un plaisir d’échanger ensemble). Il n’y a pas eu de nouvel inscrit, les francophones déjà présents sur le forum que j’ai enjoint à rejoindre le fil m’ont répondu par MP mais n’ont pas posté ici. Je précise que c’est un simple constat, aucunement un reproche ou autre.

De l’autre ‘côté’, j’ai contacté un professeur de l’école d’art de ma ville pour savoir si le lancement d’un fil francophone durable sur SuperCollider pouvait être l’occasion d’un quelconque partenariat (même pas formel ou contractuel, juste ‘on documente une pratique artistique moderne, en français, qu’est-ce qu’on peut faire pour que ça touche les étudiants ?’). Il m’a répondu, grosso modo, que pour sortir les étudiants de leur torpeur, il faudrait organiser un ‘workshop’, un temps d’atelier encadré sur le sujet. Pour ça, il faut prendre rendez-vous avec l’école maintenant pour que ça puisse avoir lieu éventuellement… dans un an et demi.

Du coup, oui je peux produire de la doc sur SC en français. Mais à quelle fin ?

Je commence par la fin de ton propos quant à ce “sentiment de vacuité” que tu ressens: je comprends ta perplexité devant le simple constat d’œuvrer pour un “happy few” mais je continue à penser que ce travail d’agrégation ou de rédaction peut servir durablement à quelques personnes (dont moi!) qui sauront l’apprécier à sa juste valeur. D’autant que (je reprends à mon compte ce que tu constates à juste titre) , la France est en retard quant à SC et la tiédeur estudiantine en la matière (j’en sais aussi quelque chose!) n’exclut pas d’heureuses initiatives personnelles et toute initiative en matière de ressources pédagogiques peut constituer un atout supplémentaire pour une meilleure diffusion et connaissance de SC auprès d’un "nouveau " public! Gardons espoir! :wink: Et nos échanges sont une chance supplémentaire malgré tout de “communiquer” sur SC…
Je reviens aussi sur ceci:
“En ce moment je rédige un tuto complet de prise en main de QT, le système d’interface graphique de SC. Il devrait être disponible, en anglais, dans la doc intégrée, si je suis assez rapide, à la prochaine mise-à-jour.”
Wouah bravo! J’avoue toutefois humblement que je ne saisis pas bien ce qu’est QT (si ce n’est que c’est en rapport avec l’interface graphique!) Peux tu expliquer de quoi il s’agit? Et question ou remarque complémentaire: J’ai essayé à une époque d’intégrer EMacs à SC (ou peut-être est-ce l’inverse :thinking:!) mais en vain bien que l’interface Emacs soit plus “glamour” que celle native de SC, QT (je pose la question très naïvement) est-il en rapport avec cela?
Bonne journée!

Je n’ai rien à redire sur l’argument du ‘happy few’, que j’ai soigneusement éludé lors de mon pavé précédent. Rendre une personne heureuse grâce à un tuto est suffisant pour en légitimer la rédaction en effet. J’essaierai de poursuivre (mais ça n’est pas ma priorité).


QT et Emacs sont deux sujets distincts. Plus précisément, l’IDE de SuperCollider est construit avec QT donc c’est lié, mais ça nous emmènerai trop loin. Tant que tu ne souhaites pas créer ton propre éditeur de code, ou modifier l’IDE de SC, mieux vaut les considérer comme strictement distincts.

On peut regarder ensemble l’installation d’Emacs si besoin, je l’ai mis en place de mon côté il y a quelques mois et j’en suis bien content, mais ça n’est pas forcément facile (chez moi c’était facilité par le fait que, sous Linux, j’ai compilé SC, ce qui intègre le plugin Emacs).


Il est possible de créer des interfaces graphiques via SuperCollider :

(
var fenetre = Window();
var texte = StaticText()
.align_(\center)
.string_("Bonjour monde !");

fenetre.layout_(
	HLayout()
	.add(texte)
);

fenetre.front;
)

Il y a de nombreux outils graphiques disponibles : boutons, sliders, potentiomètres, champs textuels, etc. pour créer ses propres interfaces. Et surtout la possibilité de créer ses propres composants graphiques, ce dont je me sers pour créer mes ‘instruments’ numériques.

Développer un système d’interface graphique est un boulot titanesque, et les devs de SC ne peuvent pas se le permettre. Donc ils ont pris un logiciel libre d’interface graphique, QT, et l’ont intégré à SuperCollider. Ils l’ont relié grâce au ‘langage’ : quand on utilise la classe Button, on a l’impression de faire du SuperCollider, mais en fait, on fait du QT sans s’en rendre compte. C’est très transparent, les mentions de ‘QT’ qui sont faites ici ou là peuvent être remplacées par ‘le système d’interface graphique de SuperCollider’.

Très bien! Je comprends beaucoup mieux cette histoire de QT et j’ai vu effectivement que l’on peut créer ses propres interfaces graphiques (en essayant différents codes ici et là) mais je vais partir déjà de ton bout de code pour commencer! :blush:
Bien volontiers si tu peux m’aider à installer Emacs sachant que je suis sous Windows 10 ce qui ne facilite peut-être pas la tâche! Merci de ton aide!

En avant propos, une petite précision sur Emacs, je ne sais pas si tu l’utilises déjà, mais ce n’est pas exactement ‘une autre éditeur de code pour SuperCollider’.

L’IDE par défaut de SC, ScIDE, est super adapté aux débutants. La personne qui s’en occupe actuellement est très à l’écoute des besoins des artistes pour leur fournir un outil simple et intuitif à utiliser.

Les autres éditeurs (Emacs, Vim, vscode) sont plutôt des outils à destination des programmeurs.

À propos d’Emacs :

  • le but est de ne plus utiliser la souris du tout. Il y a une vingtaine de raccourcis claviers pour déplacer le curseur (à la fin du prochain mot, en début de ligne, à la fin du prochain bloc de code, etc…). On gagne beaucoup de temps à programmer, mais uniquement si on arrive à mémoriser les raccourcis, et à les utiliser sans y penser.

  • C’est super intéressant sur un fichier de code de 1000 lignes, parce qu’on navigue vite. Sur un fichier de 150 lignes, l’intérêt est moindre. Même distinction entre un projet qui contient 1 fichier, et un projet qui contient 30 fichiers.

  • À titre d’exemple : on oublie Ctrl+C Ctrl+V. À la place, M-w C-y. Ça permet plus de choses, mais c’est plus complexe. Ce n’est pas la même philosophie.

  • un des intérêts principaux est de pouvoir composer des suites de commandes et de les associer à une touche (exemple, en une touche on pourrait : trouver toutes les occurences de foo / les remplacer par bar / revenir au début du mot / insérer un saut de ligne / ajouter un commentaire automatique).

ScIDE, c’est bien pour les projets artistiques. Emacs, c’est bien pour les projets informatiques.
Personnellement :

  • quand je travaille sur mon logiciel : Emacs
  • quand je rédige un exemple pour le forum : ScIDE

L’installation n’est pas trop complexe en fait. Si on a pas compilé SC, méthode 1 :

Dans SuperCollider, on installe le Quarks associé :
Quarks.install("https://github.com/supercollider/scel");

Puis on récupère son chemin d’installation :
Quarks.folder.postln;

On installe Emacs, on localise son fichier de configuration init.el (à créer si absent), a priori dans c:/Users/username/AppData/Roaming (voir ici).

Dans le fichier de config, on rajoute

(add-to-list 'load-path "/Users/<username>/Library/Application Support/SuperCollider/downloaded-quarks/scel/el")
(require 'sclang)

avec le chemin d’installation du Quark récupéré précédement.


Dans Emacs, on ouvre un fichier .scd (ou .sc) pour afficher le menu contextuel SCLang dans le menu supérieur.

C-c C-o pour compiler la librairie, ouvrir le Buffer de messages, et l’espace de travail.
C-M-x pour évaluer une région (équivalent à Ctrl+RET dans ScIDE).

1 Like

Du coup, pour les valeureux apifious, la version 0.2.0 de mon tuto (bouton de téléchargement en haut à droite du fichier).

  • passage au format PDF
  • coloration syntaxique des exemples de code (incomplète malheureusement)
  • l’ordre des exemples a été réorganisé pour être plus fluide
  • les concepts clefs sont plus détaillés
  • la notion d’Objet (et de Message) est beaucoup plus approfondie
  • le tuto s’arrête pour l’instant au même ‘endroit’ qu’avant

Toute aide est la bienvenue.

Salut ! Content de voir qu’il y a un nouveau fil francophone. Je suis très actif au sein de la scène musicale du live coding en France, par exemple avec le Cookie Collective. J’ai également conçu un environnement pour faciliter le live coding avec SuperCollider, nommé Sardine. Il s’inspire de tout les environnements existants mais il est conçu pour être très modulaire et pour s’adapter facilement au matériel que j’utilise sur scène. SuperCollider n’est que l’une de ses cibles, mais c’est une cible importante puisque nous sommes quelques uns à l’utiliser pour nos concerts :slight_smile:

Je ne suis plus très actif sur ce forum car j’ai un peu lâché l’idée de n’utiliser que SuperCollider. J’ai toutefois enseigné ce langage dans des ateliers et à des étudiants à la fac. SuperCollider reste un outil essentiel pour tout ce que je fais musicalement au travers de tous les environnements de live coding qui l’utilisent aussi.

Je suis également en train de programmer un autre environnement, beaucoup plus jeune et moins abouti : Topos. Le moteur audio est directement en JS, tout fonctionne directement sur le navigateur.

Pour ceux que cela intéresse, il y a du monde sur Paris et sur Lyon qui pratiquent SuperCollider !

3 Likes

Cool ! J’avais rencontré trop succinctement le Cookie l’année dernière, j’aimerai passer les voir à Paris dans ces prochains mois pour faire du son et discuter. Aussi intéressé par les contacts à Lyon !

J’avais déjà croisé Sardine quelques fois sans regarder précisément, mais ça à l’air d’être super ! Et extrêmement complet. Beau boulot !


De mon côté, quitte à ce que le Guide d’utilisation de SuperCollider soit dispo, je l’ai terminé rapidement, du coup v1.0.0.

Contenu abordé :

  • la distinction serveur / langage / éditeur
  • l’interface de l’éditeur, l’utilisation des espaces et les raccourcis claviers
  • la construction de SynthDef et la création des synthés associés
  • les bases de la POO dans le cadre de SuperCollider
  • la méthodologie de recherche de documentation sur les composants du langage
2 Likes

super merci beaucoup Simon,je vais le lire avec grand intérêt, :slight_smile:
Pour l’avoir (trop vite) parcouru au boulot, il m’a semblé très clair et pédagogique !

@Dindoleon Permets moi de t’appeler Simon (j’ai vu ton prénom sur le tuto :wink:) et je viens de commencer à lire/étudier ton tuto: il est vraiment bien fait dans le sens ou pour ma part il vient compléter très pédagogiquement les autres tutos sur lesquels je travaille…donc un grand merci à toi! :blush:
J’ai une question très “naive” concernant l’installation de Emacs: Est-ce que Emacs s’installe dans l’IDE de SC? Histoire de bien comprendre le processus…et désolé si je te fais répéter certains de tes conseils
@Bubo Enchanté et je découvre Cookie Collective visiblement très actif sur la scène musicale de live coding. Je suis à Strasbourg, as tu par hasard des contacts là-bas? j’aimerais pouvoir constituer dans ma ville un petit groupe SC mais j’avoue ne pas trop savoir ou chercher…
Bonne journée à tout le monde :blush: