after:
http://www.vlf.it/kurt/elf.html
receiving ELF waves in a frequency range between zero and approximately 25 Hz
various VLF receivers/EM sniffers:
1] Installation:
apt-get install mzscheme
darcs get http://www.slavepianos.org/rd/sw/rsc3/
cd rsc3; setup-plt; make; cd ..
cp -R rsc3 /usr/lib/plt/collects
2] in .emacs:
(add-to-list 'load-path "/root/rsc3/emacs") (require 'rsc3)3] in .rsc3.scm
(require (lib "rsc3.ss" "rsc3")
(only (lib "process.ss") system))
(define s (open-udp* "127.0.0.1" 57110))
(define (boot*)
(putenv "SC_PLUGIN_PATH"
"/usr/lib/SuperCollider/plugins")
(putenv "SC_SYNTHDEF_PATH"
"/root/share/SuperCollider/synthdefs")
(system "scsynth -u 57110 &")
(sleep 0.5)
(reset s))
(define (draw* g)
(draw g "/tmp" "dotty"))
(putenv "SC_JACK_DEFAULT_INPUTS"
"alsa_pcm:capture_1,alsa_pcm:capture_2")
(putenv "SC_JACK_DEFAULT_OUTPUTS"
"alsa_pcm:playback_1,alsa_pcm:playback_2")
4] M-x rsc3-boot-scsynth
5] Testing:
;; (DiskIn numChannels rate bufnum)
;; Continously play a soundfile from disk. This requires a buffer to
;; be preloaded with one buffer size of sound. The buffer size must
;; be a multiple of twice the synth block size. The default block size
;; is 64.
;; Note that DiskIn reads the number of outputs to create from what
;; looks like an input, but it is not an input, and cannot be set
;; using a control.
(let ((f "/root/testantenna.wav")
(n 1))
(->< s (/b_alloc 0 8192 n))
(->< s (/b_read 0 f 0 -1 0 1))
(play s (DiskIn n ar 0)))
(reset s)
(begin (->< s (/b_close 0))
(->< s (/b_free 0)))
(define analog-bubbles
(let* ((a (MulAdd (LFSaw kr (Mce 8 7.23) 0) 3 80))
(b (MulAdd (LFSaw kr 0.4 0) 24 a)))
(CombN (Mul (SinOsc ar (MIDICPS b) 0) 0.1) 0.2
0.2 4)))
(play s analog-bubbles)
after: http://www.cs.brown.edu/pipermail/plt-scheme/2007-January/015947.html