fs: move a macro up the file
free voices that faded out below "silence" threshold (chosen to be 0 when converted to s16)
export rate from dsp up to ctl
Some kind of DAW for 9front? An ongoing effort. Each instrument and filter is a filesystem. On top of that idea a DAW is supposed to be built, the UI is optional and is based on the files exposed by each instrument or filter.
Besides the usual C interfaces, neindaw uses Faust to build instruments. Here, watch this:
→
Wow.
Clone the repo, run mk install
, check out ls /bin/daw
.
contrib
directory contains a script o
that provides an easy way to run neindaw with ORCΛ.
More details about ORCΛ coupled with neindaw as a live-coding environment under Plan 9: piper.
Here a basic example of using neindaw manually is shown.
So far three instruments are available: a simplified kick drum, AY-3-8910 and a piano.
daw/kick_drum -m /n/kick
cd /n/kick
Allocate one instance.
cd `{cat clone}
cd K*
Check the A oscillator frequency, the order is type value initial min max step
. It's different for different UI elements.
cat A/Frequency/ctl
vslider 100 100 10 200 5
Raise frequency to 160Hz.
echo 160 > A/F*/ctl
Pipe sound to /dev/audio in background.
audio/pcmconv -i f32c1r44100 < ../data > /dev/audio &
Set B oscillator parameters and enable it.
echo 400 > B/Frequency/ctl
echo 0.001 > B/Attack/ctl
echo 1 > B/Enable/ctl
Do a kick.
echo clear > ../ctl
echo 1 > Control/Gate/ctl
Run cfg
to configure the kick drum in a GUI.
daw/cfg /n/kick
data
is opened more than once so every reader
gets the same data at its own pace?<fs>/watch
to watch the changes, add frame offset as well to know when
it actually changedreset
command for groupsmetadata
: allow adding new key/values to metadata
<id>/from
and <id>/to
to connect all the objects together, should
be controllable through daw/cfg.