4 ms·
You can render signals using EXPORT-WAVE and EXPORT-GRAPH. The first produces a RIFF/WAVE file, the latter Gnuplot compatible data. I should add example render
by mrottenkolber 13y ago
You can render signals using EXPORT-WAVE and EXPORT-GRAPH. The first produces a RIFF/WAVE file, the latter Gnuplot compatible data.
I should add example renderings to the website! If I added calls to EXPORT-WAVE to examples.lisp, loading it could take pretty long depending on what is rendered on what kind of processor.
E.g. in you're case to render the final signal of the example:
(in-package :soundlab-user)
(export-wave (stage-4) length-in-seconds #p"/path/to/foo.wav")
where length-in-seconds could be (* 2 note) to be the duration of two notes for instance. Rendering this may take a while! :)
- shiven 13y agoThanks! Just ran it successfully! Some other issues I faced: (1) the function SEQUENCE had to be renamed in two places in order for this to run on SBCL. (2) since I am using quicklisp, had to append (ql:quickload 'soundlab) to top of example.lisp for it run straight from command line via: sbcl --load example.lisp (3) added the following to the bottom of example.lisp: (export-wave (stage-4) 30 #p"/tmp/foo.wav") Took about a 90 seconds to render the complete wav file. Just added the above to benefit others who may be trying to make this work. Thanks again! Will play some more :-)
- mrottenkolber 13y agoNice to hear that it worked out for you! Thanks for the hint on SEQUENCE, it didn't occur to me while using CCL. 90 seconds to render 30 seconds is much faster than on my computer! :) In case you come around trying to import a WAVE file (using WAVE-SIGNALS): It does not work on all WAVE files out in the wild(yet?). Turns out reading WAVE files is much harder than writing them, because the format is specified very ambigiously. The temporary solution is to rewrite existing WAVE files using audacity for example. Audacity will produce clean WAVE files.