spectrum

spectrum — Génère une TFD à Q constant et espacement exponentiel.

Description

Génère une TFD à Q constant et espacement exponentiel sur toutes les octaves d'un signal de contrôle ou audio en entrée, multiplié et sous-échantillonné.

Syntaxe

wsig spectrum xsig, iprd, iocts, ifrqa [, iq] [, ihann] [, idbout] \
      [, idsprd] [, idsinrs]

Initialisation

ihann (facultatif) -- applique une fenêtre de Hamming ou de Hanning à l'entrée. La valeur par défaut est 0 (fenêtre de Hamming).

idbout (facultatif) -- conversion codée de la TFD en sortie :

  • 0 = magnitude

  • 1 = dB

  • 2 = magnitude au carré

  • 3 = racine carrée de la magnitude

La valeur par défaut est 0 (magnitude).

idisprd (facultatif) -- s'il est différent de zéro, le tampon composite de sous-échantillonnage est affiché toutes les idisprd secondes. La valeur par défaut est 0 (pas d'affichage).

idsines (facultatif) -- s'il est différent de zéro, les sinusoïdes passées dans une fenêtre de Hamming ou de Hanning et utilisées dans le filtrage par TFD sont affichées. La valeur par défaut est 0 (pas d'affichage).

Exécution

Cette unité passe d'abord le signal asig ou ksig à travers iocts décimations par octave et sous-échantillonnages successifs et garde un tampon de valeurs sous-échantillonnées dans chaque octave (facultativement affiché comme tampon composite toutes les idisprd secondes). Puis, toutes les iprd secondes, les échantillons préservés sont passés dans un banc de filtres (ifrqs filtres parallèles par octave, espacés exponentiellement avec un rapport Q de la fréquence sur la largeur de bande égal à iq), et les magnitudes de sortie (idbout ) sont éventuellement converties pour produire un spectre à bande limitée pouvant être lu par d'autres unités.

Les étapes de ce processus utilisent intensivement les moyens de calcul et le temps de calcul est proportionnel à iocts, ifrqs et iq, et inversement proportionnel à iprd. Les réglages suivants, ifrqs = 12, iq = 10, idbout = 3 et iprd = 0.02, conviendront généralement, mais on recommande l'expérimentation. Actuellement ifrqs a au maximum 120 divisions par octave. Pour une entrée audio, les bins de fréquence sont réglés pour coïncider avec le la 440.

Cette unité produit un bloc de données spectrales auto-définies wsig, dont les caractéristiques utilisées (iprd, iocts, ifrqs, idbout) sont transmises via le bloc de données lui-même à tous les wsigs dérivés. Il peut y avoir n'importe quel nombre d'unités spectrum dans un instrument ou dans un orchestre, mais tous les noms de wsig doivent être uniques.

Exemples

asig in                                        ; get external audio
wsig spectrum  asig, 0.02, 6, 12, 33, 0, 1, 1  ; downsample in 6 octs & calc a 72 pt dft
                                               ; (Q 33, dB out) every 20 msecs