Client-Serveur <
Index >
SynthDefs
Structure du serveur
Concepts principaux
Node (Nœud)
Il y a deux types de nœuds :
Synth et
Group.
L'arbre définit l'ordre d'exécution de tous les synths. Tous les nœuds ont un index exprimé par un entier (ID)
Group
Un
Group est une collection de
Nodes représentée en tant que liste liée ('linked list').
Un Node dans un Groupe peut être soit un Synth soit un Groupe lui-même.
Un nouveau Node peut être ajouté en tête ou en queue du groupe.
Les Nodes constituant le Groupe peuvent recevoir un contrôle commun.
Au démarrage du serveur, celui-ci construit un groupe-racine, avec l'index 0.
Si le serveur est démarré depuis sclang, un deuxième groupe, 'default group' est mis en place avec l'index 1.C'est le groupe cible ('target group') de tout nœud contruit par la suite.
Synth
Un
Synth est une collection d'UGens (unit generators) fonctionnant ensemble.
Ils peuvent être atteints et contrôlés par des commandes envoyées au moteur de synthèse.
Ils [ lisent leur entrée et écrivent leur sortie ] sur des bus (audio et contrôle) globaux.
Les Synth peuvent avoir leurs propres contrôles locaux, configurables via des commandes envoyées au serveur.
Synth Definition
Les Synths sont crées à partir de
SynthDefs (
Synth Definitions, définitions de Synthèse).
Ces définitions sont crées depuis l'application SuperCollider, et chargées dans le serveur de synthèse.
Les définitions sont référencées sur le serveur par leur nom.
Audio Busses
Les Synths [s']envoient des signaux audio au travers d'un ensemble ( 'array' ) global de
Bus audios.
Les bus audios sont indexés par des entiers, en commençant par 0.
[L'utilisation de bus permet une inter-connection des synths sans que ceux-ci soient dépendants de la configuration de chacun]
Soit l'ensemble des bus:
Les premiers indexes s'adressent au sorties physiques (par défaut de 0 à 7). Suivent ensuite les bus d'entrées physiques (par défaut de 8 à 15). Après cela, viennent les bus internes, gérant l'intercommunication des synths.
Control Busses
Les synths peuvent [s']envoyer des signaux de contrôle au travers d'un ensemble unique de control busses.
Ces bus sont aussi indexés par des entiers, commençant par 0.
Shared Control Buses (bus de contrôle partagés)
Le serveur interne [à/de] Supercollider (
internal server, tournant dans le même espace d'adresse que l'application client) gère un ensemble de bus de contrôle partagés, vers lesquels l'application client possède un accès lecture/écriture synchrone (c.a.d. immédiat, prioritaire, sans[?] latence). Ces bus sont aussi indexés par des entiers, commençant par 0.
Buffers
Les Buffers sont des ensembles de valeurs numériques (32 bit floating point) , dotés d'un header de description.
Ils sont stockés dans un ensemble (array) unique et global, et indexés par des entiers commençant par 0.
Les Buffers peuvent être affectés, chargés et libérés en toute sécurité pendant que la synthèse tourne, même si les UGens les utilisent.
Ils peuvent servir en tant que tables d'ondes, buffers d'échantillons, lignes de retard, enveloppes, ou pour tout ensemble de données (en floating point) à stocker sur le serveur pour un accès immédiat.
On peut charger, lire et écrire des fichiers sons depuis les buffers.
Unit Generator Definitions
Les Définitions d'UGen sont des plug-ins chargés automatiquement quant le programme démarre. Ce sont des librairies de code binaire (codées en Cpp), utilisées en tant que blocs primaires par les synths pour la construction d'algorithmes de synthèse.
Client-Serveur <
Index >
SynthDefs
There are no comments on this page. [Add comment]