audio

Description

Esta parte do fluxus é responsável por capturar o som entrando, e processar ele em dados harmonicos, usando fft (Fast Fourier Transform). As harmonicas são bandas de frequência em que o som é dividido, dando alguma indicação da qualidade do som. É o mesmo que você ve num equalisador gráfico - de fato, um dos scripts de exemplo (bars.scm) age como tal, e pode ser usado para testar se o áudio está funcionando.

Example

 (start-audio "alsa_pcm:capture_1" 1024 44100)
 (define (animate)
		(colour (vector (gh 1) (gh 2) (gh 3))) ; make a colour from the harmonics, and set it to be the current colour 
		(draw-cube)) ; draw a cube with this colour
 (every-frame (animate))

(start-audio string-porta-do-jack número-tamanho-buffer número-taxa-amostragem)

Returns void

Inicia o áudio com as configurações específicadas, você precisa chamar isto primeiro, ou colocar isto em $HOME/.fluxus.scm para chamar automaticamente na inícialização. Tenha a porta do jack como uma string vazia ("") e ele não vai tentar conectar em nada para você. Que pode então usar qjackctrl ou equivalente para fazer a conexão manualmente. Fluxus lè uma única fonte mono.

Example

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

(gh número-harmonico)

Returns void

Fluxus converte áudio entrando em frequências harmônicas, que pode então ser ligada em suas animações através desse comando. Existem 16 bandas harmônicas disponiveis, o argumento do valor-harmônico vai ser arredondado se maior ou menor que 16, então você pode usar esse comando sem se preocupar sobre erros fora do alcance.

Example

 (define (animate)
		(colour (vector (gh 1) (gh 2) (gh 3))) ; make a colour from the harmonics, and set it to be the current colour 
		(draw-cube)) ; draw a cube with this colour
 (every-frame (animate))

(ga)

Returns vetor-buffer-audio

Retorna o conteúdo do buffer de audio atual.

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 número-gain)

Returns void

Ajusta o nível de amplificação para o som fft, é 1 por padrão.

Example

 (gain 100) ; muito quieto?!

(process wavfile-string)

Returns void

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.

Example

 (process "somemusic.wav") ; read a precorded audio file

(smoothing-bias número-valor)

Returns void

Uma espécie de média balanceada para as bandas harmônicas que as acalmam com o tempo. Esta opção é por padrão definida como 1.5. O melhor valor realmente depende da qualidade da música, e do tamanho do buffer, e varia de 0 -> 2. Fica mais óbvio se você tentar com o script bars.scm

Example

 (smoothing-bias 0) ; no smoothing

(update-audio)

Returns void

Atualiza o subsistema de áudio. Esta função é chamada para você (por frame) no fluxus-canvas.ss

Example

 (update-audio)