reconfiguring directory
This commit is contained in:
parent
4e13ccea9d
commit
d88f43edd6
52
README.md
52
README.md
|
@ -6,14 +6,62 @@ experiments with [uxn](https://wiki.xxiivv.com/site/uxn.html) programming.
|
|||
|
||||
## nibble dice tracker
|
||||
|
||||
`nibble-dice-tracker.tal` a tracker based on nibble dice as described by maleza:
|
||||
`nibble-dice-tracker.tal` a 3-channel music tracker based on the nibble dice described by maleza.
|
||||
|
||||
[uxn nibble dice tracker - demo video](https://video.anartist.org/videos/watch/6d2d4a2c-78ef-48c8-abd0-e124451805cb)
|
||||
|
||||
### interface
|
||||
|
||||
the interface consists in 3 sections, one for each audio channel/device.
|
||||
|
||||
each section consists in 2 columns. the right column of a section has an indicator for the position of the "beat", and its state (playing or not).
|
||||
|
||||
each column consists in 8 bytes.
|
||||
|
||||
a byte consists in 2 contiguous nibble dice: the one at the left is the *high* nibble, and the one at the right is the *low* nibble.
|
||||
|
||||
the bytes in a section map to the following aspects of the tracker and [audio device](https://wiki.xxiivv.com/site/uxnemu.html#audio):
|
||||
|
||||
* period ( 1 byte ) - how many frames have to happen to trigger a beat.
|
||||
- if 0, the device is off
|
||||
* pattern ( 8 bits ) - each bit indicates if a note has to be played or not in that beat
|
||||
- bit 0 (least significant bit) corresponds to beat 0, bit 1 to beat 1, and so on.
|
||||
* beatcount ( 2 nibbles ) - definition of the beat count behavior
|
||||
- low nibble: how many beats happen in a cycle. if 0, there are no beats.
|
||||
- high nibble: beat offset; starting value for the beat count.
|
||||
- e.g. if high nibble is 2, and low nibble is 4, the beat count will repeat as 2, 3, 4, 5
|
||||
* adsr ( 2 bytes ) - envelope values, as described by the [audio device](https://wiki.xxiivv.com/site/uxnemu.html#audio) reference
|
||||
* volume ( 2 nibbles ) - left and right volume values, as described by the audio device reference
|
||||
* sample ( 2 nibbles and 1 byte ) - definition of the sample to be used
|
||||
- high nibble: index of sample to use:
|
||||
* 0: saw
|
||||
* 1: main (program code)
|
||||
* 2: piano
|
||||
* 3: triangular
|
||||
- low nibble + byte: length of the sample to use
|
||||
* melody ( 8 bytes ) - [midi](https://wiki.xxiivv.com/site/midi.html) notes corresponding to beats 0 to 7, from top to bottom.
|
||||
|
||||
|
||||
### controls
|
||||
|
||||
* Arrow key up, or `k` : move cursor to previous byte
|
||||
* Arrow key down, or `j`: move cursor to next byte
|
||||
* Arrow key left, or `h`: move cursor to previous nibble
|
||||
* Arrow key right, or `l`: move cursor to next nibble
|
||||
* `Ctrl` or `+`: increment nibble
|
||||
* `Alt` or `-`: decrement nibble
|
||||
|
||||
### nibble dice references
|
||||
|
||||
* [no binario - pachapunk](https://pachapunk.space/nobinario.html)
|
||||
* [XXIIVV nibble dice](https://wiki.xxiivv.com/site/nibble_dice.html)
|
||||
|
||||
# roms
|
||||
|
||||
ready-assembled projects
|
||||
ready-assembled projects:
|
||||
|
||||
* `nibble-dice-tracker.rom`
|
||||
* `darena.rom`
|
||||
|
||||
# sketches
|
||||
|
||||
|
|
|
@ -65,13 +65,6 @@
|
|||
&period $1 &pattern $1 &beatcount $1 &adsr $2 &volume $1 &sample $2
|
||||
&melody $8
|
||||
|
||||
@framecount0 $1
|
||||
@framecount1 $1
|
||||
@framecount2 $1
|
||||
@beat0 $1
|
||||
@beat1 $1
|
||||
@beat2 $1
|
||||
|
||||
|
||||
( program )
|
||||
@main
|
||||
|
@ -274,6 +267,8 @@ RTN
|
|||
.Controller/key DEI
|
||||
DUP LIT 'j EQU ,&down JCN
|
||||
DUP LIT 'k EQU ,&up JCN
|
||||
DUP LIT 'h EQU ,&left JCN
|
||||
DUP LIT 'l EQU ,&right JCN
|
||||
DUP LIT '+ EQU ,&inc-nibble JCN
|
||||
DUP LIT '- EQU ,&dec-nibble JCN
|
||||
POP BRK
|
Binary file not shown.
Binary file not shown.
BIN
roms/nibble.rom
BIN
roms/nibble.rom
Binary file not shown.
BIN
roms/tracker.rom
BIN
roms/tracker.rom
Binary file not shown.
Loading…
Reference in New Issue