audio

Description

Cette partie de fluxus est responsable de la capture du son entrant, et du traitement en harmoniques avec l'utilisation de fft (Fast Fourier Transform). Les harmoniques sont des bandes de fréquences du son découpé, donnant l'indication de sa qualité. C'est ce que représentent les équaliseur graphiques - un des scripts d'exemples (bars.scm) agit comme tel, et peut être utilisé pour tester les fonctionnalités audios.

Example

 (start-audio "alsa_pcm:capture_1" 1024 44100)
 (define (animate)
		(colour (vector (gh 1) (gh 2) (gh 3))) ; fabrique une couleur à partir des harmoniques
                                             ; et l'applique comme la couleur courante
		(draw-cube)) ; dessine un cube avec cette couleur
 (every-frame (animate))

(start-audio jackport-string buffersize-number samplerate-number)

Returns void

Démarre le systême audio avec les réglages spcifiés, vous aurez besoin d'appeler ceci en premier, ou de le rentrer dans $HOME/.fluxus.scm pour l'appeler automatiquement au démarrage. Si une chaîne vide est rentrée en nom de port jack, il ne cherchera pas à se connecter pour vous. Utiliser qjackctrl ou équivalent pour connecter manuellement. Fluxus ne lit qu'une source mono.

Example

 (start-audio "alsa_pcm:capture_1" 1024 44100)

(gh harmonic-number)

Returns harmonic-real

Fluxus convertis l'audio entrant en harmoniques des fréquences qui peuvent être intégrées à vos animation en utilisant cette commande. Il y a par défault 16 bandes d'harmoniques disponibles, l'argumenr en valeur de l'harmonique sera bouclé si il est inférieur ou supérieur à 16, ainsi cette commande peut être utilisée sans ce soucier des erreures de dépassements.

Example

 (define (animate)
		(colour (vector (gh 1) (gh 2) (gh 3))) ; fabrique une couleur à partir des harmoniques
                                             ; et l'applique comme la couleur courante
		(draw-cube)) ; dessine un cube avec cette couleur
 (every-frame (animate))

(ga)

Returns audio-buffer-vector

Retourne le contenu courant du buffer audio.

Example

 (clear)
 (define p (build-ribbon 128))
 (with-primitive p
    (hint-unlit)
    (pdata-map! (lambda (w) .1) "w"))

 (every-frame
    (let ([a (ga)])
        (with-primitive p
            (pdata-index-map!
                (lambda (i p)
                    (vector (* .25 (- i (/ (pdata-size) 2))) (* 10 (vector-ref a i)) 0))
                "p"))))

(gain gain-number)

Returns void

Règle le niveau de gain pour le son fft, 1 est la valeur par défaut. Example: (gain 100) ; pas assez fort?! EndFunctionDoc Scheme_Object *gain(int argc, Scheme_Object **argv) { MZ_GC_DECL_REG(1); MZ_GC_VAR_IN_REG(0, argv); MZ_GC_REG(); if (!SCHEME_NUMBERP(argv[0])) scheme_wrong_type("gain", "number", 0, argc, argv); if (Audio!=NULL) { Audio->SetGain(scheme_real_to_double(argv[0])); } MZ_GC_UNREG(); return scheme_void; } StartFunctionDoc-en process wavfile-string Returns: void Description: This command temporarally disables the realtime reading of the input audio stream and reads a wav file instead. For use with the framedump command to process audio offline to make music videos. The advantage of this is that it locks the framerate so the right amount of audio gets read for each frame - making syncing of the frames and audio files possible. Example: (process "somemusic.wav") ; read a precorded audio file EndFunctionDoc StartFunctionDoc-pt process wavfile-string Retorna: void Descrição: Este comando desativa temporariamente a leitura em tempo real da entrada da pista de áudio e lê um arquivo wav ao invés. Para usar com o comando framedump para processar audio offline para fazer videos musicais. A vantagem disto é que ele trava a taxa de quadros então a quantidade certa de áudio é lida para cada quadro - fazendo com que a sincrônia entre quadros e audio seja possível. Exemplo: (process "somemusic.wav") ; read a precorded audio file EndFunctionDoc StartFunctionDoc-fr process wavfile-string Retour: void Description: Cette commande désactive temporairement la lecture temps-réel du flux audio d'entrée et lis un fichier wav à la place. Peut être utilisé avec la commande framedump pour traiter l'audio séparément pour la création de vidéos avec musique. L'avantage est que le taux d'image est fixe, ainsi la quantité audio lut pour chaque image est correcte - ceci rendant la synchronisation entre image et audio possible.

Example

 (process "somemusic.wav") ; lecture d'un fichier audio pré-enregistré

(smoothing-bias value-number)

Returns void

Une sorte de moyenne pondérée pour les bandes harmoniques qui les lissent au cours du temps. Le réglage par défaut est à 1.5 et peut aller de 0 à 2. La meilleure valeur dépend vraiment de la qualité de la music et de la taille du buffer. C'est plus parlant en essayant avec le script d'exemple bars.scm.

Example

 (smoothing-bias 0) ; pas de lissage

(update-audio)

Returns void

Met à jour le sous-systême audio. Cette fonction est appellée pour vous (à chaque image) dans fluxus-canvas.ss

Example

 (update-audio)

(set-num-frequency-bins count)

Returns void

Fixe le nombre de bandes de fréquences utilsées par (gh). Example: (set-num-frequency-bins 64) EndFunctionDoc Scheme_Object *set_num_frequency_bins(int argc, Scheme_Object **argv) { MZ_GC_DECL_REG(1); MZ_GC_VAR_IN_REG(0, argv); MZ_GC_REG(); if (!SCHEME_INTP(argv[0])) scheme_wrong_type("set-num-frequency-bins", "int", 0, argc, argv); if (Audio!=NULL) { Audio->SetNumBars(SCHEME_INT_VAL(argv[0])); } MZ_GC_UNREG(); return scheme_void; } StartFunctionDoc-en get-num-frequency-bins Returns: count-number Description: Returns the number of frequency bins used for (gh), or 0 if the audio is not started with (start-audio). Example: (get-num-frequency-bins) EndFunctionDoc StartFunctionDoc-fr get-num-frequency-bins Retour: count-number Description: Retourne le nombre de bandes de fréquences utilisable par (gh), ou 0 si l'audio n'as pas été démarré avec (start-audio).

Example

 (get-num-frequency-bins)