prepiano

prepiano — Crée un son similaire à celui d'une corde de piano préparé à la manière Cage.

Description

La sortie audio est un son similaire à celui d'une corde de piano préparé avec des gommes et des pièces de monnaie. La méthode utilise un modèle physique développé pour la résolution des équations différentielles partielles.

Syntaxe

ares prepiano ifreq, iNS, iD, iK, \
    iT30, iB, kbcl, kbcr, imass, ihvfreq, iinit, ipos, ivel, isfreq, \
    isspread[, irattles, irubbers]
al,ar prepiano ifreq, iNS, iD, iK, \
    iT30, iB, kbcl, kbcr, imass, ihvfreq, iinit, ipos, ivel, isfreq, \
    isspread[, irattles, irubbers]

Initialisation

ihvfreq -- la fréquence de vibration naturelle du marteau.

iNS -- le nombre de cordes impliquées. Dans un vrai piano on trouve 1, 2 ou 3 cordes dans les différentes plages de fréquence.

iD -- l'importance du désaccord de chaque corde, hormis la première, par rapport à la fréquence principale ; mesuré en cents.

iK -- paramètre de raideur, sans dimension.

iT30 -- durée de chute de 30 db en secondes.

ib -- paramètre de perte en haute-fréquence (à garder petit).

imass -- la masse du marteau.

ifreq -- la fréquence de vibration naturelle du marteau.

iinit -- la position initiale du marteau.

ipos -- position de la frappe sur la corde.

ivel -- vélocité normalisée de la frappe.

isfreq -- fréquence de balayage du point de lecture.

isspread -- dispersion de la fréquence de balayage.

irattles -- numéro de la table donnant les positions de la ou des pièces de monnaie.

irubbers -- numéro de la table donnant les positions de la ou des gommes.

Les tables des pièces de monnaie et des gommes sont des collections de quatre valeurs précédées par un compte. Dans le cas d'une pièce de monnaie, les quatre valeurs sont la position, le rapport de densité entre la pièce de monnaie et la corde, la fréquence de la pièce de monnaie et sa longueur verticale. Pour la gomme, les quatre valeurs sont la position, le rapport de densité entre la gomme et la corde, la fréquence de la gomme et le paramètre de perte.

Exécution

Une note est jouée sur une corde de piano avec les arguments suivants.

kbcL -- Condition aux limites à l'extrémité gauche de la corde (1 fixée, 2 pivotante, 3 libre).

kbcR -- Condition aux limites à l'extrémité droite de la corde (1 fixée, 2 pivotante, 3 libre).

Il faut noter que le changement des conditions au limites durant l'exécution peut produire des bruits parasites et que cette possibilité n'est fournie qu'à titre expérimental.

Exemples

Voici en exemple de l'opcode prepiano. Il utilise le fichier prepiano.csd.

Exemple 713. Exemple de l'opcode prepiano.

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 real audio input is needed too
; For Non-realtime ouput leave only the line below:
; -o prepiano.wav -W ;;; for file output any platform
</CsOptions>
<CsInstruments>

sr = 44100
ksmps = 32
nchnls = 2
0dbfs  = 1

instr 1
;;          fund NS detune stiffness decay loss (bndry) (hammer) scan prep
aa,ab prepiano 60, 3, 10, p4, 3, 0.002, 2, 2, 1, 5000, -0.01, p5, p6, 0, 0.1, 1, 2
      outs aa*.2, ab*.2

endin
</CsInstruments>
<CsScore>
f1 0 8 2 1 0.6 10 100 0.001 ;; 1 rattle
f2 0 8 2 1 0.7 50 500 1000  ;; 1 rubber
i1 0.0 1 1 0.09 20
i1 1 .  -1 0.09 40        ;; 1 -> skip initialisation
i1 2 .  -1 0.09 60
i1 3 .  -1 0.09 80
i1 4 1.8  -1 0.09 100
e
</CsScore>
</CsoundSynthesizer>


Crédits

Auteur : Stefan Bilbao
Université d'Edimbourg, UK
Auteur : John ffitch
Université de Bath, Codemist Ltd.
Bath, UK

Nouveau dans la version 5.05 de Csound