rspline — Génère des courbes splines aléatoires.
ares rspline xrangeMin, xrangeMax, kcpsMin, kcpsMax
kres rspline krangeMin, krangeMax, kcpsMin, kcpsMax
kres, ares -- Signal de sortie.
xrangeMin, xrangeMax -- Intervalle des valeurs des points générés aléatoirement.
kcpsMin, kcpsMax -- Intervalle de définition du taux de génération des points. Les limites minimale et maximale sont exprimées en Hz.
rspline (générateur de courbe spline aléatoire) est semblable à jspline mais l'intervalle de sortie est défini par deux valeurs limites. De plus, ici, l'intervalle de sortie réel pourra légèrement dépasser les valeurs données à cause des courbes d'interpolation entre chaque paire de points aléatoires.
Actuellement les courbes générées sont assez lisses quand cspMin n'est pas trop différent de cpsMax. Quand l'intervalle cpsMin-cpsMax est grand, quelques petites discontinuités peuvent se produire, mais, dans la plupart des cas, cela ne devrait pas poser de problème. L'algorithme sera peut-être amélioré dans les prochaines versions.
Ces opcodes sont souvent meilleurs que jitter lorsque l'on veut un rendu « naturel » ou « analogique » de sons numériques. On peut aussi les utiliser dans la composition algorithmique, pour générer des lignes mélodiques aléatoires lisses lors d'une utilisation conjointe avec l'opcode samphold.
Noter que le résultat est assez différent de celui que l'on obtiendrait en filtrant un bruit blanc, et que l'on peut ainsi obtenir un contrôle bien plus précis.
Voici un exemple de l'opcode rspline. Il utilise le fichier rspline.csd.
Exemple 924. Exemple de l'opcode rspline.
Voir les sections Audio en Temps Réel et Options de la Ligne de Commande pour plus d'information sur l'utilisation des options de la ligne de commande.
<CsoundSynthesizer> <CsOptions> ; Select audio/midi flags here according to platform -odac ;;;realtime audio out ;-iadc ;;;uncomment -iadc if realtime audio input is needed too ; For Non-realtime ouput leave only the line below: ; -o jspline.wav -W ;;; for file output any platform </CsOptions> <CsInstruments> sr = 44100 ksmps = 32 nchnls = 2 0dbfs = 1 instr 1 krangeMin init p4 krangeMax init p5 kcpsmin init 2 kcpsmax init 3 ksp rspline krangeMin, krangeMax, kcpsmin, kcpsmax aout pluck 1, 200+ksp, 1000, 0, 1 aout dcblock aout ;remove DC outs aout, aout endin </CsInstruments> <CsScore> i 1 0 10 2 5 ;a bit jitter i 1 8 10 10 20 ;some more i 1 16 10 20 50 ;lots more e </CsScore> </CsoundSynthesizer>