syncloop

syncloop — Synthèse granulaire synchrone.

Description

syncloop est une variation sur syncgrain, qui implémente la synthèse granulaire synchrone. syncloop ajoute des points de début et de fin de boucle et une position de départ facultative. Le début et la fin de boucle contrôlent les positions de démarrage des grains, si bien que les grains réalisés peuvent s'étendre au-delà des points de la boucle (si les points de la boucle ne sont pas aux extrémités de la table), ce qui permet des transitions fluides. Pour plus d'information sur le procédé de synthèse granulaire, voir la page du manuel sur syncgrain.

Syntaxe

asig syncloop kamp, kfreq, kpitch, kgrsize, kprate, klstart, \
      klend, ifun1, ifun2, iolaps[,istart, iskip]

Initialisation

ifun1 -- table de fonction du signal source. Des tables avec allocation différée sont acceptées (voir GEN01), mais l'opcode attend une source mono.

ifun2 -- table de fonction de l'enveloppe du grain.

iolaps -- nombre maximum de chevauchements, max(kfreq)*max(kgrsize). Une grande valeur d'estimation ne devrait pas affecter l'exécution, mais le dépassement de cette valeur aura probablement des conséquences désastreuses.

istart -- point de départ de la synthèse en secs (0 par défaut).

iskip -- s'il vaut 1, l'initialisation de l'opcode est ignorée, pour les notes liées, l'exécution continuant depuis la position à l'intérieur de la boucle où la note précédente s'est terminée. La valeur par défaut de 0 signifie que l'initialisation n'est pas ignorée.

Exécution

kamp -- pondération de l'amplitude.

kfreq -- fréquence de génération des grains, ou densité, en grains/sec.

kpitch -- transposition de hauteur des grains (1 = hauteur normale, < 1 plus bas, > 1 plus haut ; négatif, lecture à l'envers).

kgrsize -- taille du grain en secondes.

kprate -- vitesse du pointeur de lecture, en grains. Une valeur de 1 avancera le pointeur de lecture d'un grain dans la table source. Des valeurs supérieures provoqueront une compression temporelle et des valeurs inférieures une expansion temporelle du signal source. Avec des valeurs négatives, le pointeur progressera à l'envers et zéro l'immobilisera.

klstart -- début de la boucle en secs.

klend -- fin de la boucle en secs.

Exemples

Exemple 491. Exemple

		
iolaps  = 2
igrsize = 0.04
ifreq   = iolaps/igrsize
ips     = 1/iolaps

istr    = .5  /* timescale  */
ipitch  = 1   /* pitchscale */

a1 syncloop 16000, ifreq, ipitch, igrsize, ips*istr, 1, 2, 1, 2, iolaps
   out      a1


Crédits

Auteur : Victor Lazzarini;
Janvier 2005

Nouveau plugin dans la version 5

Janvier 2005.