Most recent edit on 2007-07-06 11:59:02 by SuperCollider
Additions:
-
le SynthDef, pour être utilisé, doit être passé au Serveur.
Deletions:
le SynthDef, pour être utilisé, doit être passé au Serveur.
Edited on 2007-07-06 11:58:13 by SuperCollider
Additions:
Envoi au serveur
le SynthDef, pour être utilisé, doit être passé au Serveur.
trois méthodes possibles:
- SynthDef(...).load(s): le synthdef est écrit sur le disque dur, et envoyé au serveur; il est dorénavant disponible pour une réutilsation future, sans besoin de le réenvoyer (il sera disponible sur le serveur même après recompilation)
- SynthDef(...).send(s): le synthdef est envoyé directement au serveur en cours . Pas d'écriture sur le disque.
- SynthDef(...).store: nécessaire pour utiliser l'instrument défini dans le cadre de pattern d'events (voir Patterns)
Edited on 2007-07-05 18:54:38 by SuperCollider
Additions:
- crée une instance de TrigControl
Deletions:
- crée une instance de TrigControl
Edited on 2007-07-05 18:54:03 by SuperCollider
Additions:
SynthDef
La Classe SynthDef encapsule la représentation dans le langage d'une définition, et fournit des méthodes pour créer de nouveaux defs, les sauver, ou les envoyer sur le serveur.
Deletions:
La Classe SynthDef encapsule la représentation dans le langage d'une définition, et fournit des méthodes pour créer de nouveaux defs, les sauver, ou les envoyer sur le serveur.
Edited on 2007-07-04 18:39:22 by SuperCollider
Additions:
Architecture du serveur < Index > Passage de Message
Architecture du serveur < Index > Passage de Message
Edited on 2007-05-30 11:12:20 by SuperCollider
Additions:
- ne peut répondre aux messages /n_set ou /n_map
Deletions:
- ne peut répondre aux messages /n_set ou /n_map
Edited on 2007-05-29 23:20:19 by SuperCollider
Deletions:
•
Oldest known version of this page was edited on 2007-05-29 23:18:35 by SuperCollider []
Page view:
représentation dans le langage d'une définition de la synthèse
- sc-server utilise des définitions de synthèse comme modèle pour la création du graphe [... expliquer graphe ...]
- la méthode .play appliquée à une fonction, utilisée jusqu'ici était juste une facilité, un Synthdef était automatiquement fabriqué en sous-main pour nous
- La Classe SynthDef encapsule la représentation dans le langage d'une définition, et fournit des méthodes pour créer de nouveaux defs, les sauver, ou les envoyer sur le serveur.
•
Fonctions UGen Graph
[
UGen Graph Functions and Special Argument Forms]
- Le cœur d'un def est la fonction définissant le graphe de générateurs (UGens) [ := ]
- décrit l'interconnection des UGens , les entrées et sorties, les paramètres contrôlables
- les arguments de la fonction deviennent des instances de l'objet Control
- ils peuvent avoir des valeurs par défaut, ou être paramétrés au moment de la création du synth sur le serveur
- après la création, ils peuvent êtres contrôlés au travers des méthodes 'set' et 'setn' définies sur l'objet Node, ou avec les messages équivalents n_set et n_setn (messaging style)
trois types d'arguments spéciaux:
initial rate
- commenceant par "i_" (par ex. i_freq)
- ou spécifié par \ir dans les arguments de vitesse (voir plus loin)
- statique, non modulable
- ne peut répondre aux messages /n_set ou /n_map
- économie de cpu
trigger rate
- commenceant par "t_" (ex. t_trig)
- ou spécifié par \tr dans les arguments de vitesse (voir plus loin)
- crée une instance de TrigControl
- crée une impulsion à vitesse de contrôle (control rate), à la valeur donnée
- utilisé pour les triggers
litteral array
- crée un Control multicanal
- changeable avec la méthode Node.setn, ou le message n_setn
- vous êtes responsables du nombre correct de valeurs [...]
éléments statiques, éléments dynamiques
- un def est une structure statique
- évalué une fois, à la création du graphe sur le serveur.
- n'est pas réévaluée à la création d'un nouveau synth l'utilisant
- un élément rand, par ex, ne sera évalué qu'une fois, le nombre généré ne changera pas à la création de nouveaux synths
- certains UGens, par ex. Rand, peuvent fournir un résultat analogue à une réévaluation de fonction dans sclang
(
SynthDef("help-notRand", { Out.ar(0, SinOsc.ar(rrand(400, 800), 0, 0.2)
* Line.kr(1, 0, 1, doneAction: 2)); }).send(s);
)
a = Synth("help-notRand");
b = Synth("help-notRand"); // the same freq as a
L'exemple suivant génèrera une fréquence aléatoire différente pour chaque nouveau Synth:
(
SynthDef("help-isRand", { Out.ar(0, SinOsc.ar(Rand(400, 800), 0, 0.2)
* Line.kr(1, 0, 1, doneAction: 2)); }).send(s);
)
a = Synth("help-isRand");
b = Synth("help-isRand"); // une nouvelle freq à chaque évaluation