SuperCollider : ArchitectureServeur

SuperCollider :: Categories :: PageIndex :: RecentChanges :: RecentlyCommented :: Login/Register
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]

Valid XHTML 1.0 Transitional :: Valid CSS :: Powered by Wikka Wakka Wiki 1.1.6.3
Page was generated in 0.1589 seconds