annotate examples/sound/sampled/modulate.scm @ 8:5e3cbbf173aa tip

Reorganise some more
author samer
date Fri, 05 Apr 2019 22:41:58 +0100
parents bf79fb79ee13
children
rev   line source
samer@0 1 ;;; Modulate noise or sine wave with short-term energy of input audio signal
samer@0 2
samer@0 3 (load "audio.scm")
samer@0 4 (load "lineout.scm")
samer@0 5 (load "synthesis.scm")
samer@0 6
samer@0 7
samer@0 8 (put "regulated" #f) ; main loop will not be regulated, run as fast as possible.
samer@0 9
samer@0 10 (tasks) ; creates regulator and main loop Task
samer@0 11
samer@0 12 (define N 256) ; frame size for audio input, output, and hop size
samer@0 13 (lineout (default-linesnk)
samer@0 14 (gen->vector N (Product. ; generate N sample vector as product of two
samer@0 15 ; (NormalisedGaussian.) ; signal generators:
samer@0 16 (oscillator 0.5) ; a sinusoidal oscillator at 0.5 radians/sample
samer@0 17 (FunctionOfGenerator. (Sqrt.) ; and the square root of
samer@0 18 (filter-gen ; a filtered signal
samer@0 19 (fir-filter (VVector. "coeffs" 32)) ; filter is fir with 32 taps
samer@0 20 (filter-gen (EnergyOperator.) ; signal is energy
samer@0 21 (Wavetable. (linein (default-linesrc) N N)))))))) ; of audio in
samer@0 22
samer@0 23 (expose) ; shows GUI
samer@0 24 (set "editor.plotter.type" 4) ; vector editors like bar chart rather than line
samer@0 25 (exec (viewable "coeffs") "plotter editor")