Replace old add-sequence and mod-sequence with seq and seq-mod
Add logo to docs
Add velocity and play-time in milliseconds to test-note
Yeah, that's music, not a noise really (?)
NaN is a real-time audio syntheis extension for GNU Guile designed for live coding.
WIP: The project is in a very early development phase. Expect, bugs and lack of documentation.
Dependencies:
To build the optimized binary simply:
make build-fast
Additionally, if you have wkhtmltopdf
installed, you can build the
documentation by running:
make docs
This creates a pretty docs.pdf
version of the documentation in
docs.org
.
Once you have build the project, execute the ./nan
binary:
./nan -l prelude.scm
The -l prelude.scm
loads a variety of utility functions (see
docs.org
). Now you will have a Guile REPL ready. Should look
somethig like this:
scheme@(guile-user)>
Here you can run any Guile code, they have an explendid documentation here.
prelude.scm
loads some handy soundfonts, let's check them (copy and
paste the following code in your REPL):
(synth/noteon 1 32 127)
You should hear a kick. This code just plays the MIDI note 32 in channel 1 with velocity 127, feel free to play with these values.
Playing notes like this is useful for exploring available sounds and instruments, but we can use the sequencer to automatically play them in a loop.
(add-sequence 200 1 '(32 32 32 70))
Now you should here a repeating pattern of notes. What this code
snippet does is to add a new sequence to nan's sequencer, with a
period of 200 milliseconds, in MIDI channel 1, and with the notes (32 32 32 70)
. You can check the sequencer's status any time by running
(print-sequencer)
.
TODO Explain sequence modification & samples. Meanwhile, see
docs.org
for more info.
The project is licensed under the GNU's General Public License v3
(GPLv3). You should get a copy with the repository (the LICESE
text
file).