Some checks failed
check / check (push) Has been cancelled
- genome(seed, salts) now has three parts with their own RNG streams: shared (steps, form, swing, arc, layback, fill odds, phase offset), kit (density, frame, accent cycle, free snare) and keys (scale/root, progression, motif, hocket, bass tone, note lengths, range). ROLL KEYS now renews the harmony too; ROLL KIT leaves the keys alone. - Keys generators share one signature and can fix note lengths: MOTIF (the old line), 303 (acid bass, answers in the rests, drone or silent pad), TURING (8/16-bit shift register, DRIFT flips bits, 16-bar window), ARP (triad/7th arpeggio, roots on kicks). - Pages: KIT GEN, KEYS GEN; ROLL shows KIT / KEYS; slots keep both gens. - Flash record v3 (old settings ignored). Bring-up golden checksums updated. - C port matches; host test and ASan/UBSan pass. Intended music change: every seed sounds different (genome split, new generators). Vectors regenerated with npm run vectors; the case grid now crosses all kit and keys generators, with TURING runs past its window. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
617 lines
7.3 KiB
JSON
617 lines
7.3 KiB
JSON
{
|
|
"note": "mix(a,b) hash, xorshift32 Rng (next, below(n), chance(p)) and genome(seed, salts). genome keys are the JS field names.",
|
|
"mix": [
|
|
{
|
|
"a": "0x00000000",
|
|
"b": 0,
|
|
"out": "0x6D2B79F5"
|
|
},
|
|
{
|
|
"a": "0x00000001",
|
|
"b": 0,
|
|
"out": "0x514E28B7"
|
|
},
|
|
{
|
|
"a": "0x00000000",
|
|
"b": 1,
|
|
"out": "0x11FD02EB"
|
|
},
|
|
{
|
|
"a": "0x5EEDB0C5",
|
|
"b": 4606284,
|
|
"out": "0x5E77CB5F"
|
|
},
|
|
{
|
|
"a": "0xFFFFFFFF",
|
|
"b": -1,
|
|
"out": "0xB19FEA7C"
|
|
},
|
|
{
|
|
"a": "0xDEADBEEF",
|
|
"b": -1,
|
|
"out": "0x95CB1F45"
|
|
},
|
|
{
|
|
"a": "0x00003039",
|
|
"b": 20060,
|
|
"out": "0x34949A58"
|
|
}
|
|
],
|
|
"rng": [
|
|
{
|
|
"seed": "0x00000000",
|
|
"next": [
|
|
"0x40AEC71F",
|
|
"0x91E00C19",
|
|
"0x9C0FE128",
|
|
"0x6570F69D",
|
|
"0x0FCE02CC",
|
|
"0x3D6B45E7",
|
|
"0xEF266E8C",
|
|
"0x7C080117",
|
|
"0xF9713F42",
|
|
"0x0DBB11CE",
|
|
"0x9FDE27EF",
|
|
"0x3F5EA5BE",
|
|
"0x96CB190A",
|
|
"0x48AE5C1F",
|
|
"0xE6924CA9",
|
|
"0x4FE05E6A"
|
|
],
|
|
"below_1_to_16": [
|
|
0,
|
|
1,
|
|
1,
|
|
1,
|
|
0,
|
|
1,
|
|
6,
|
|
3,
|
|
8,
|
|
0,
|
|
6,
|
|
2,
|
|
7,
|
|
3,
|
|
13,
|
|
4
|
|
],
|
|
"chance_i_times_4096": [
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
1,
|
|
1,
|
|
0,
|
|
0,
|
|
0,
|
|
1,
|
|
1,
|
|
1,
|
|
1,
|
|
1,
|
|
0,
|
|
1
|
|
]
|
|
},
|
|
{
|
|
"seed": "0x00000001",
|
|
"next": [
|
|
"0x00042021",
|
|
"0x04080601",
|
|
"0x9DCCA8C5",
|
|
"0x1255994F",
|
|
"0x8EF917D1",
|
|
"0x2C6F5BD0",
|
|
"0x25B2331A",
|
|
"0x19F91CB2",
|
|
"0x77877125",
|
|
"0xADD02374",
|
|
"0x9E6002CB",
|
|
"0x591C9737",
|
|
"0xB4B84B8A",
|
|
"0x04E3F8AE",
|
|
"0x0536AFF5",
|
|
"0xC9C495B1"
|
|
],
|
|
"below_1_to_16": [
|
|
0,
|
|
0,
|
|
1,
|
|
0,
|
|
2,
|
|
1,
|
|
1,
|
|
0,
|
|
4,
|
|
6,
|
|
6,
|
|
4,
|
|
9,
|
|
0,
|
|
0,
|
|
12
|
|
],
|
|
"chance_i_times_4096": [
|
|
0,
|
|
1,
|
|
0,
|
|
1,
|
|
0,
|
|
1,
|
|
1,
|
|
1,
|
|
1,
|
|
0,
|
|
1,
|
|
1,
|
|
1,
|
|
1,
|
|
1,
|
|
1
|
|
]
|
|
},
|
|
{
|
|
"seed": "0x5EEDB0C5",
|
|
"next": [
|
|
"0xF659F35F",
|
|
"0xCE7C9F86",
|
|
"0xEC025940",
|
|
"0x426B5075",
|
|
"0x24D96CA7",
|
|
"0x20FC8821",
|
|
"0x8EE6EB7D",
|
|
"0x22A53599",
|
|
"0x06DCA5D2",
|
|
"0xDEB330C1",
|
|
"0xADC2DE14",
|
|
"0x36048794",
|
|
"0x783CC90F",
|
|
"0xC2B669A1",
|
|
"0xFFCB8260",
|
|
"0x7F7F71C3"
|
|
],
|
|
"below_1_to_16": [
|
|
0,
|
|
1,
|
|
2,
|
|
1,
|
|
0,
|
|
0,
|
|
3,
|
|
1,
|
|
0,
|
|
8,
|
|
7,
|
|
2,
|
|
6,
|
|
10,
|
|
14,
|
|
7
|
|
],
|
|
"chance_i_times_4096": [
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
1,
|
|
1,
|
|
0,
|
|
1,
|
|
1,
|
|
0,
|
|
0,
|
|
1,
|
|
1,
|
|
1,
|
|
0,
|
|
1
|
|
]
|
|
},
|
|
{
|
|
"seed": "0xDEADBEEF",
|
|
"next": [
|
|
"0x477D20B7",
|
|
"0x8E1D9142",
|
|
"0xBA8C2458",
|
|
"0xFEE0503B",
|
|
"0x680E0348",
|
|
"0xA48DB81B",
|
|
"0x6254EA5C",
|
|
"0x1CFDAFB3",
|
|
"0x8878FDF6",
|
|
"0x6F08B4B5",
|
|
"0x4A5B273A",
|
|
"0xF9327CE4",
|
|
"0x637A51D3",
|
|
"0x01448B13",
|
|
"0x94F2C300",
|
|
"0x5EC60C69"
|
|
],
|
|
"below_1_to_16": [
|
|
0,
|
|
1,
|
|
2,
|
|
3,
|
|
2,
|
|
3,
|
|
2,
|
|
0,
|
|
4,
|
|
4,
|
|
3,
|
|
11,
|
|
5,
|
|
0,
|
|
8,
|
|
5
|
|
],
|
|
"chance_i_times_4096": [
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
1,
|
|
0,
|
|
1,
|
|
1,
|
|
0,
|
|
1,
|
|
1,
|
|
1,
|
|
1
|
|
]
|
|
}
|
|
],
|
|
"genomes": [
|
|
{
|
|
"seed": "0x5EEDB0C5",
|
|
"salts": [
|
|
0,
|
|
0
|
|
],
|
|
"genome": {
|
|
"steps": 14,
|
|
"form": [
|
|
0,
|
|
1,
|
|
0,
|
|
1
|
|
],
|
|
"formName": "ABAB",
|
|
"fillP": 110,
|
|
"rot": 1,
|
|
"swing": 35,
|
|
"arc": 0,
|
|
"layback": 0,
|
|
"dens": [
|
|
59,
|
|
77
|
|
],
|
|
"accentCycle": 3,
|
|
"frame": 7,
|
|
"freeK": 4,
|
|
"freeRot": 3,
|
|
"scale": 0,
|
|
"root": 5,
|
|
"monoLen": 0,
|
|
"monoRange": 1,
|
|
"hocket": 180,
|
|
"bassDeg": 2,
|
|
"prog": [
|
|
0,
|
|
6,
|
|
5,
|
|
4
|
|
],
|
|
"motifLen": 5
|
|
}
|
|
},
|
|
{
|
|
"seed": "0x00000001",
|
|
"salts": [
|
|
0,
|
|
0
|
|
],
|
|
"genome": {
|
|
"steps": 16,
|
|
"form": [
|
|
0,
|
|
0,
|
|
1,
|
|
0
|
|
],
|
|
"formName": "AABA",
|
|
"fillP": 102,
|
|
"rot": 0,
|
|
"swing": 35,
|
|
"arc": 2,
|
|
"layback": 1,
|
|
"dens": [
|
|
53,
|
|
68
|
|
],
|
|
"accentCycle": 7,
|
|
"frame": 3,
|
|
"freeK": 2,
|
|
"freeRot": 15,
|
|
"scale": 19,
|
|
"root": 0,
|
|
"monoLen": 2,
|
|
"monoRange": 1,
|
|
"hocket": 90,
|
|
"bassDeg": 2,
|
|
"prog": [
|
|
0,
|
|
2,
|
|
5,
|
|
4
|
|
],
|
|
"motifLen": 3
|
|
}
|
|
},
|
|
{
|
|
"seed": "0xDEADBEEF",
|
|
"salts": [
|
|
0,
|
|
0
|
|
],
|
|
"genome": {
|
|
"steps": 12,
|
|
"form": [
|
|
0,
|
|
0,
|
|
0,
|
|
0
|
|
],
|
|
"formName": "AAAA",
|
|
"fillP": 80,
|
|
"rot": 0,
|
|
"swing": 50,
|
|
"arc": 1,
|
|
"layback": 0,
|
|
"dens": [
|
|
78,
|
|
78
|
|
],
|
|
"accentCycle": 5,
|
|
"frame": 0,
|
|
"freeK": 3,
|
|
"freeRot": 14,
|
|
"scale": 5,
|
|
"root": 1,
|
|
"monoLen": 0,
|
|
"monoRange": 2,
|
|
"hocket": 170,
|
|
"bassDeg": 4,
|
|
"prog": [
|
|
0,
|
|
3,
|
|
5,
|
|
6
|
|
],
|
|
"motifLen": 5
|
|
}
|
|
},
|
|
{
|
|
"seed": "0x00009AAB",
|
|
"salts": [
|
|
0,
|
|
0
|
|
],
|
|
"genome": {
|
|
"steps": 20,
|
|
"form": [
|
|
0,
|
|
1,
|
|
0,
|
|
1
|
|
],
|
|
"formName": "ABAB",
|
|
"fillP": 60,
|
|
"rot": 1,
|
|
"swing": 0,
|
|
"arc": 0,
|
|
"layback": 1,
|
|
"dens": [
|
|
66,
|
|
42
|
|
],
|
|
"accentCycle": 7,
|
|
"frame": 6,
|
|
"freeK": 2,
|
|
"freeRot": 12,
|
|
"scale": 5,
|
|
"root": 3,
|
|
"monoLen": 0,
|
|
"monoRange": 2,
|
|
"hocket": 165,
|
|
"bassDeg": 2,
|
|
"prog": [
|
|
0,
|
|
6,
|
|
5,
|
|
4
|
|
],
|
|
"motifLen": 3
|
|
}
|
|
},
|
|
{
|
|
"seed": "0x5EEDB0C5",
|
|
"salts": [
|
|
3,
|
|
0
|
|
],
|
|
"genome": {
|
|
"steps": 14,
|
|
"form": [
|
|
0,
|
|
1,
|
|
0,
|
|
1
|
|
],
|
|
"formName": "ABAB",
|
|
"fillP": 110,
|
|
"rot": 1,
|
|
"swing": 35,
|
|
"arc": 0,
|
|
"layback": 0,
|
|
"dens": [
|
|
89,
|
|
77
|
|
],
|
|
"accentCycle": 0,
|
|
"frame": 1,
|
|
"freeK": 3,
|
|
"freeRot": 12,
|
|
"scale": 0,
|
|
"root": 5,
|
|
"monoLen": 0,
|
|
"monoRange": 1,
|
|
"hocket": 180,
|
|
"bassDeg": 2,
|
|
"prog": [
|
|
0,
|
|
6,
|
|
5,
|
|
4
|
|
],
|
|
"motifLen": 5
|
|
}
|
|
},
|
|
{
|
|
"seed": "0x5EEDB0C5",
|
|
"salts": [
|
|
0,
|
|
5
|
|
],
|
|
"genome": {
|
|
"steps": 14,
|
|
"form": [
|
|
0,
|
|
1,
|
|
0,
|
|
1
|
|
],
|
|
"formName": "ABAB",
|
|
"fillP": 110,
|
|
"rot": 1,
|
|
"swing": 35,
|
|
"arc": 0,
|
|
"layback": 0,
|
|
"dens": [
|
|
59,
|
|
33
|
|
],
|
|
"accentCycle": 3,
|
|
"frame": 7,
|
|
"freeK": 4,
|
|
"freeRot": 3,
|
|
"scale": 12,
|
|
"root": 11,
|
|
"monoLen": 2,
|
|
"monoRange": 1,
|
|
"hocket": 170,
|
|
"bassDeg": 3,
|
|
"prog": [
|
|
0,
|
|
4,
|
|
5,
|
|
3
|
|
],
|
|
"motifLen": 5
|
|
}
|
|
},
|
|
{
|
|
"seed": "0x12345678",
|
|
"salts": [
|
|
0,
|
|
0
|
|
],
|
|
"genome": {
|
|
"steps": 16,
|
|
"form": [
|
|
0,
|
|
1,
|
|
0,
|
|
1
|
|
],
|
|
"formName": "ABAB",
|
|
"fillP": 43,
|
|
"rot": 1,
|
|
"swing": 0,
|
|
"arc": 2,
|
|
"layback": 1,
|
|
"dens": [
|
|
49,
|
|
72
|
|
],
|
|
"accentCycle": 5,
|
|
"frame": 4,
|
|
"freeK": 2,
|
|
"freeRot": 5,
|
|
"scale": 10,
|
|
"root": 2,
|
|
"monoLen": 1,
|
|
"monoRange": 2,
|
|
"hocket": 165,
|
|
"bassDeg": 2,
|
|
"prog": [
|
|
0,
|
|
6,
|
|
5,
|
|
4
|
|
],
|
|
"motifLen": 5
|
|
}
|
|
},
|
|
{
|
|
"seed": "0xC0FFEE00",
|
|
"salts": [
|
|
0,
|
|
0
|
|
],
|
|
"genome": {
|
|
"steps": 16,
|
|
"form": [
|
|
0,
|
|
0,
|
|
1,
|
|
0
|
|
],
|
|
"formName": "AABA",
|
|
"fillP": 115,
|
|
"rot": 0,
|
|
"swing": 0,
|
|
"arc": 1,
|
|
"layback": 0,
|
|
"dens": [
|
|
49,
|
|
47
|
|
],
|
|
"accentCycle": 3,
|
|
"frame": 3,
|
|
"freeK": 4,
|
|
"freeRot": 9,
|
|
"scale": 12,
|
|
"root": 3,
|
|
"monoLen": 0,
|
|
"monoRange": 1,
|
|
"hocket": 180,
|
|
"bassDeg": 4,
|
|
"prog": [
|
|
0,
|
|
6,
|
|
5,
|
|
4
|
|
],
|
|
"motifLen": 5
|
|
}
|
|
}
|
|
]
|
|
}
|