dumpk4
Précédent | Opcodes et opérateurs de l'orchestre | Suivant

## dumpk4

dumpk4 — Ecrit périodiquement les valeurs de quatre signaux de contrôle de l'orchestre dans un fichier externe.

## Description

Ecrit périodiquement les valeurs de quatre signaux de contrôle de l'orchestre dans un fichier externe, dans un format spécifique.

## Syntaxe

    dumpk4 ksig1, ksig2, ksig3, ksig4, ifilname, iformat, iprd

## Initialisation

ifilname -- chaîne de caractères (entre guillemets, espaces autorisés) contenant le nom du fichier externe. Peut être un nom de chemin complet avec un répertoire cible ou un simple nom de fichier à créer dans le répertoire courant.

iformat -- spécifie le format des données de sortie :

- 1 = caractères signés sur 8 bit (les 8 bit d'ordre supérieur d'un entier sur 16 bit

- 4 = entiers courts sur 16 bit

- 5 = entiers longs sur 32 bit

- 6 = flottants sur 32 bit

- 7 = entiers longs en ASCII

- 8 = flottants en ASCII (2 positions décimales)

Noter que les sorties A-law et U-law ne sont pas disponibles, et que tous les formats sauf les deux derniers sont binaires. Le fichier de sortie ne contient pas d'information d'en-tête.

iprd -- la période de la sortie ksig en secondes, arrondie à la période de contrôle de l'orchestre la plus proche. Une valeur de 0 implique une période de contrôle (le minimum imposé), qui créera un fichier de sortie échantillonné au taux de contrôle de l'orchestre.

## Exécution

ksig1, ksig2, ksig3, ksig4 -- signaux au taux de contrôle

Cet opcode permet de sauvegarder les valeurs de quatre signaux générés au taux de contrôle dans un fichier externe. Le fichier ne contient pas d'information auto-descriptive en en-tête. Mais il contient une suite temporelle échantillonnée régulièrement, appropriée pour une entrée ultérieure ou une analyse. Il peut y avoir n'importe quel nombre d'opcodes dumpk4 dans un instrument ou dans un orchestre mais chacun doit écrire dans un fichier différent.

## Exemples

Voici un exemple de l'opcode dumpk4. Il utilise le fichier dumpk4.csd. Noter que l'exemple doit être exécuté depuis un répertoire dans lequel l'écriture est autorisée.

Exemple 227. Exemple de l'opcode dumpk4.

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 dumpk4.wav -W ;;; for file output any platform
    </CsOptions>
    <CsInstruments>

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

    giSine ftgen 0, 0, 2^10, 10, 1

    instr 1 ;writes four control signals to a file
    kcf       randh     950, 1, 2, 1, 1050 ;generates one random number between 100 and 2000 per second
    kq        randh     10, 1, 2, 1, 11 ;generates another random number between 1 and 21 per second
    kdb       randh     9, 1, 2, 1, -15 ;amplitudes in dB between -24 and -6
    kpan      randh     .5, 1, 2, 1, .5 ;panning between 0 and 1
              dumpk4    kcf, kq, kdb, kpan, "dumpk4.txt", 8, 1 ;writes the control signals
              prints    "WRITING:\n"
              printks   "kcf = %f, kq = %f, kdb = %f, kpan = %f\n", 1, kcf, kq, kdb, kpan  ;prints them
    endin

    instr 2 ;reads the file written by instr 1
    kcf,kq,kdb,kp readk4 "dumpk4.txt", 8, 1
              prints    "READING:\n"
              printks   "kcf = %f, kq = %f, kdb = %f, kpan = %f\n", 1, kcf, kq, kdb, kp  ;prints values
    kdb       lineto    kdb, .1 ;smoothing amp transition
    kp        lineto    kp, .1 ;smoothing pan transition
    anoise    rand      ampdb(kdb), 2, 1
    kbw       =         kcf/kq ;bandwidth of resonant filter
    abp       reson     anoise, kcf, kbw
    aout      balance   abp, anoise
    aL, aR    pan2      aout, kp
              outs      aL, aR
    endin

    </CsInstruments>
    <CsScore>
    i 1 0 5
    i 2 5 5
    e
    </CsScore>
    </CsoundSynthesizer>

Sa sortie contiendra des lignes comme celles-ci :

    WRITING:
    kcf = 1122.469723, kq = 11.762839, kdb = -14.313445, kpan = 0.538142
    kcf = 1122.469723, kq = 11.762839, kdb = -14.313445, kpan = 0.538142
    kcf = 1148.638412, kq = 12.040490, kdb = -14.061868, kpan = 0.552205
    kcf = 165.796855, kq = 18.523179, kdb = -15.816977, kpan = 0.901528
    kcf = 147.729960, kq = 13.071911, kdb = -11.924531, kpan = 0.982518
    kcf = 497.430113, kq = 13.605512, kdb = -21.586611, kpan = 0.179229

    READING:
    WARNING: Seeding from current time 3308160476

    kcf = 1122.469700, kq = 11.762800, kdb = -14.313400, kpan = 0.538100
    kcf = 1122.469700, kq = 11.762800, kdb = -14.313400, kpan = 0.538100
    kcf = 1148.638400, kq = 12.040500, kdb = -14.061900, kpan = 0.552200
    kcf = 165.796900, kq = 18.523200, kdb = -15.817000, kpan = 0.901500
    kcf = 147.730000, kq = 13.071900, kdb = -11.924500, kpan = 0.982500
    kcf = 497.430100, kq = 13.605500, kdb = -21.586600, kpan = 0.179200

## Voir aussi

dumpk, dumpk2, dumpk3, readk, readk2, readk3, readk4

## Crédits

Par : John ffitch et Barry L. Vercoe

1999 ou avant

Précédent | Niveau supérieur | Suivant
dumpk3 | Sommaire | duserrnd