Seedbox v0.1 + firmware, generic kit/synth, ROOT/SCALE pages
Some checks failed
check / check (push) Has been cancelled
Some checks failed
check / check (push) Has been cancelled
First commit of the repo. Contents beyond the v0.1 simulator and layout: - Full Pico 2 W firmware (firmware/app, drivers, engine port, host test). - BANK page and 404 mode A/B removed; learned pads play exactly what was learned. - 404/MiniFreak renamed to KIT/SYNTH throughout (jacks, code, sim, docs, layout labels; wiring rebuilt). - ROLL returns to page select after a re-roll; a freshly learned track turns on. - LCD contrast 66. - ROOT and SCALE pages: 21 scales, AUTO = the seed picks; global and sticky. Intended music change: the scale table grew from 8 to 21 and AUTO picks from all of them, so every seed's scale changed. Vectors regenerated with npm run vectors, plus new key-override cases. Flash record is now version 2. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
22
test/cases.js
Normal file
22
test/cases.js
Normal file
@@ -0,0 +1,22 @@
|
||||
/* The golden-vector case list. Shared by gen-vectors.js and check-vectors.js. */
|
||||
var SEEDS=[0x5EEDB0C5,0x00000001,0xDEADBEEF,0x12345678,0xC0FFEE00,0x0BADF00D];
|
||||
var SETS=[[64,32],[0,0],[127,0],[127,127],[100,90],[40,64]]; // [energy, drift]
|
||||
var BARS=8;
|
||||
function cases(){
|
||||
var out=[];
|
||||
SEEDS.forEach(function(seed){ for(var gen=0;gen<5;gen++) SETS.forEach(function(ed){
|
||||
out.push({seed:seed,salts:[0,0],gen:gen,energy:ed[0],drift:ed[1],fillBars:[],scale:-1,root:-1});
|
||||
}); });
|
||||
// salts (re-rolling one half of the seed) and FILL
|
||||
[0,2,4].forEach(function(gen){
|
||||
out.push({seed:0x5EEDB0C5,salts:[3,0],gen:gen,energy:64,drift:32,fillBars:[],scale:-1,root:-1});
|
||||
out.push({seed:0x5EEDB0C5,salts:[0,5],gen:gen,energy:64,drift:32,fillBars:[],scale:-1,root:-1});
|
||||
out.push({seed:0x5EEDB0C5,salts:[0,0],gen:gen,energy:80,drift:50,fillBars:[3,7],scale:-1,root:-1});
|
||||
});
|
||||
// ROOT / SCALE pages: [seed, gen, scale, root]; -1 = AUTO. Covers 5-, 6-, 7- and 8-note scales and each override alone.
|
||||
[[0x5EEDB0C5,0,14,2],[0x5EEDB0C5,2,19,9],[0x5EEDB0C5,4,0,7],[0xDEADBEEF,1,18,-1],[0x12345678,3,-1,5],[0xC0FFEE00,0,7,11],[0x00000001,1,20,0]].forEach(function(k){
|
||||
out.push({seed:k[0],salts:[0,0],gen:k[1],energy:64,drift:32,fillBars:[3],scale:k[2],root:k[3]});
|
||||
});
|
||||
return out;
|
||||
}
|
||||
module.exports={cases:cases,BARS:BARS};
|
||||
21
test/check-vectors.js
Normal file
21
test/check-vectors.js
Normal file
@@ -0,0 +1,21 @@
|
||||
/* Re-renders every golden case with sim/engine.js and compares with test/vectors.
|
||||
Exit code 0 = engine unchanged. Use the same files to test the C port. */
|
||||
var fs=require('fs'), path=require('path');
|
||||
var E=require('../sim/engine.js'), R=require('./render.js');
|
||||
var dir=path.join(__dirname,'vectors'), fail=0, n=0;
|
||||
var prim=JSON.parse(fs.readFileSync(path.join(dir,'primitives.json'),'utf8'));
|
||||
prim.mix.forEach(function(v){ n++; if(R.hex(E.mix(parseInt(v.a,16)>>>0,v.b))!==v.out){ fail++; console.log('mix',v.a,v.b,'differs'); } });
|
||||
prim.rng.forEach(function(v){ n++; var r=new E.Rng(parseInt(v.seed,16)>>>0); for(var i=0;i<16;i++) if(R.hex(r.next())!==v.next[i]){ fail++; console.log('rng',v.seed,'step',i,'differs'); break; } });
|
||||
prim.genomes.forEach(function(v){ n++; if(JSON.stringify(E.genome(parseInt(v.seed,16)>>>0))!==JSON.stringify(v.genome)){ fail++; console.log('genome',v.seed,'differs'); } });
|
||||
fs.readdirSync(dir).filter(function(f){ return /^gen\d/.test(f); }).sort().forEach(function(f){
|
||||
JSON.parse(fs.readFileSync(path.join(dir,f),'utf8')).cases.forEach(function(c){
|
||||
n++;
|
||||
var got=R.renderCase({seed:parseInt(c.seed,16)>>>0,salts:c.salts,gen:c.gen,energy:c.energy,drift:c.drift,fillBars:c.fillBars,scale:c.scale,root:c.root},c.bars.length);
|
||||
if(got.checksum===c.checksum) return;
|
||||
fail++;
|
||||
for(var b=0;b<c.bars.length;b++){ var a=JSON.stringify(c.bars[b].events), g=JSON.stringify(got.bars[b].events);
|
||||
if(a!==g){ console.log('FAIL',c.id,'first difference in bar',b); break; } }
|
||||
});
|
||||
});
|
||||
console.log(fail? fail+' of '+n+' checks FAILED' : 'all '+n+' checks pass');
|
||||
process.exit(fail?1:0);
|
||||
34
test/gen-vectors.js
Normal file
34
test/gen-vectors.js
Normal file
@@ -0,0 +1,34 @@
|
||||
/* Regenerates test/vectors/*.json from sim/engine.js.
|
||||
Only run this when you MEAN to change the music. Otherwise run check-vectors.js. */
|
||||
var fs=require('fs'), path=require('path');
|
||||
var E=require('../sim/engine.js'), C=require('./cases.js'), R=require('./render.js');
|
||||
var dir=path.join(__dirname,'vectors');
|
||||
var FORMAT='events: [tick, lane, voice, vel, len, track]. lane 0 = kit (voice 0 kick, 1 snare, 2 hat, 3 perc), lane 1 = synth (voice = MIDI pitch). scale/root: -1 = AUTO (the seed picks). Every track is listed; on/off is applied at output. Ticks: 840 per quarter, 210 per 16th.';
|
||||
|
||||
// 1. primitives: hash, RNG, genome. Port these first.
|
||||
var mixV=[], pairs=[[0,0],[1,0],[0,1],[0x5EEDB0C5,0x46494C],[0xFFFFFFFF,0xFFFFFFFF],[0xDEADBEEF,-1],[12345,0x4E55+7]];
|
||||
pairs.forEach(function(p){ mixV.push({a:R.hex(p[0]>>>0),b:p[1]|0,out:R.hex(E.mix(p[0]>>>0,p[1]))}); });
|
||||
var rngV=[]; [0,1,0x5EEDB0C5,0xDEADBEEF].forEach(function(s){ var r=new E.Rng(s), seq=[], below=[], ch=[];
|
||||
for(var i=0;i<16;i++) seq.push(R.hex(r.next()));
|
||||
r=new E.Rng(s); for(i=0;i<16;i++) below.push(r.below(i+1));
|
||||
r=new E.Rng(s); for(i=0;i<16;i++) ch.push(r.chance(i*4096)?1:0);
|
||||
rngV.push({seed:R.hex(s>>>0),next:seq,below_1_to_16:below,chance_i_times_4096:ch}); });
|
||||
var genV=C.cases().filter(function(c,i,a){ return a.findIndex(function(d){ return d.seed===c.seed; })===i; })
|
||||
.map(function(c){ return {seed:R.hex(c.seed),genome:E.genome(c.seed>>>0)}; });
|
||||
fs.writeFileSync(path.join(dir,'primitives.json'),JSON.stringify({note:'mix(a,b) hash, xorshift32 Rng (next, below(n), chance(p)) and genome(seed). genome keys are the JS field names.',mix:mixV,rng:rngV,genomes:genV},null,1)+'\n');
|
||||
|
||||
// 2. full renders, one file per generator
|
||||
var byGen={}, index=[];
|
||||
C.cases().forEach(function(c){
|
||||
var out=R.renderCase(c,C.BARS), id=R.caseId(c);
|
||||
(byGen[c.gen]=byGen[c.gen]||[]).push({id:id,seed:R.hex(c.seed),salts:c.salts,gen:c.gen,energy:c.energy,drift:c.drift,fillBars:c.fillBars,scale:c.scale,root:c.root,checksum:out.checksum,bars:out.bars.map(function(b){
|
||||
return {bar:b.bar,sec:b.sec,fill:b.fill,barTicks:b.barTicks,events:b.events}; })});
|
||||
index.push({id:id,checksum:out.checksum});
|
||||
});
|
||||
Object.keys(byGen).forEach(function(g){
|
||||
var s=JSON.stringify({generator:E.GEN_NAMES[g],format:FORMAT,cases:byGen[g]});
|
||||
s=s.replace(/\],\[/g,'],\n['); // one event per line keeps git diffs readable
|
||||
fs.writeFileSync(path.join(dir,'gen'+g+'-'+E.GEN_NAMES[g].toLowerCase()+'.json'),s+'\n');
|
||||
});
|
||||
fs.writeFileSync(path.join(dir,'index.json'),JSON.stringify({bars:C.BARS,cases:index},null,1)+'\n');
|
||||
console.log('wrote',index.length,'cases');
|
||||
14
test/render.js
Normal file
14
test/render.js
Normal file
@@ -0,0 +1,14 @@
|
||||
/* Renders one case to rows [tick,lane,voice,vel,len,track] per bar, plus a whole-case checksum. */
|
||||
var E=require('../sim/engine.js');
|
||||
function hex(n){ return '0x'+('00000000'+(n>>>0).toString(16).toUpperCase()).slice(-8); }
|
||||
function renderCase(c,bars){
|
||||
var st={seed:c.seed>>>0,salts:c.salts.slice()}, all=[], out=[];
|
||||
for(var b=0;b<bars;b++){
|
||||
var r=E.renderBar(st,{gen:c.gen,energy:c.energy,drift:c.drift,fill:c.fillBars.indexOf(b)>=0,scale:c.scale,root:c.root},b);
|
||||
var ev=r.events.map(function(e){ return [e.t,e.lane,e.v,e.vel,e.len,e.tr]; });
|
||||
out.push({bar:b,sec:r.sec,fill:!!r.fill,barTicks:r.barTicks,events:ev}); all=all.concat(ev);
|
||||
}
|
||||
return {bars:out,checksum:hex(E.checksum(all))};
|
||||
}
|
||||
function caseId(c){ return hex(c.seed).slice(2)+'_s'+c.salts.join('-')+'_g'+c.gen+'_e'+c.energy+'_d'+c.drift+(c.fillBars.length?'_f'+c.fillBars.join('-'):'')+(c.scale>=0?'_sc'+c.scale:'')+(c.root>=0?'_r'+c.root:''); }
|
||||
module.exports={renderCase:renderCase,caseId:caseId,hex:hex};
|
||||
9356
test/vectors/gen0-euclid.json
Normal file
9356
test/vectors/gen0-euclid.json
Normal file
File diff suppressed because it is too large
Load Diff
9247
test/vectors/gen1-skeleton.json
Normal file
9247
test/vectors/gen1-skeleton.json
Normal file
File diff suppressed because it is too large
Load Diff
8028
test/vectors/gen2-subdiv.json
Normal file
8028
test/vectors/gen2-subdiv.json
Normal file
File diff suppressed because it is too large
Load Diff
8431
test/vectors/gen3-automata.json
Normal file
8431
test/vectors/gen3-automata.json
Normal file
File diff suppressed because it is too large
Load Diff
9407
test/vectors/gen4-amenizer.json
Normal file
9407
test/vectors/gen4-amenizer.json
Normal file
File diff suppressed because it is too large
Load Diff
789
test/vectors/index.json
Normal file
789
test/vectors/index.json
Normal file
@@ -0,0 +1,789 @@
|
||||
{
|
||||
"bars": 8,
|
||||
"cases": [
|
||||
{
|
||||
"id": "5EEDB0C5_s0-0_g0_e64_d32",
|
||||
"checksum": "0x4F5DE957"
|
||||
},
|
||||
{
|
||||
"id": "5EEDB0C5_s0-0_g0_e0_d0",
|
||||
"checksum": "0x21423F8D"
|
||||
},
|
||||
{
|
||||
"id": "5EEDB0C5_s0-0_g0_e127_d0",
|
||||
"checksum": "0x047B79A5"
|
||||
},
|
||||
{
|
||||
"id": "5EEDB0C5_s0-0_g0_e127_d127",
|
||||
"checksum": "0x706D45DF"
|
||||
},
|
||||
{
|
||||
"id": "5EEDB0C5_s0-0_g0_e100_d90",
|
||||
"checksum": "0x514A841A"
|
||||
},
|
||||
{
|
||||
"id": "5EEDB0C5_s0-0_g0_e40_d64",
|
||||
"checksum": "0xD7D4FEF1"
|
||||
},
|
||||
{
|
||||
"id": "5EEDB0C5_s0-0_g1_e64_d32",
|
||||
"checksum": "0x4175DD2C"
|
||||
},
|
||||
{
|
||||
"id": "5EEDB0C5_s0-0_g1_e0_d0",
|
||||
"checksum": "0xC8BE2789"
|
||||
},
|
||||
{
|
||||
"id": "5EEDB0C5_s0-0_g1_e127_d0",
|
||||
"checksum": "0xFBB77BE9"
|
||||
},
|
||||
{
|
||||
"id": "5EEDB0C5_s0-0_g1_e127_d127",
|
||||
"checksum": "0xEFC24FAA"
|
||||
},
|
||||
{
|
||||
"id": "5EEDB0C5_s0-0_g1_e100_d90",
|
||||
"checksum": "0x4410BA5C"
|
||||
},
|
||||
{
|
||||
"id": "5EEDB0C5_s0-0_g1_e40_d64",
|
||||
"checksum": "0xA6DCEC5A"
|
||||
},
|
||||
{
|
||||
"id": "5EEDB0C5_s0-0_g2_e64_d32",
|
||||
"checksum": "0x03978773"
|
||||
},
|
||||
{
|
||||
"id": "5EEDB0C5_s0-0_g2_e0_d0",
|
||||
"checksum": "0x2381EB35"
|
||||
},
|
||||
{
|
||||
"id": "5EEDB0C5_s0-0_g2_e127_d0",
|
||||
"checksum": "0x2F3A4EB9"
|
||||
},
|
||||
{
|
||||
"id": "5EEDB0C5_s0-0_g2_e127_d127",
|
||||
"checksum": "0xA21D7C70"
|
||||
},
|
||||
{
|
||||
"id": "5EEDB0C5_s0-0_g2_e100_d90",
|
||||
"checksum": "0x56AEEC48"
|
||||
},
|
||||
{
|
||||
"id": "5EEDB0C5_s0-0_g2_e40_d64",
|
||||
"checksum": "0xB8F4407B"
|
||||
},
|
||||
{
|
||||
"id": "5EEDB0C5_s0-0_g3_e64_d32",
|
||||
"checksum": "0x55C2ED60"
|
||||
},
|
||||
{
|
||||
"id": "5EEDB0C5_s0-0_g3_e0_d0",
|
||||
"checksum": "0xD5FD1E2D"
|
||||
},
|
||||
{
|
||||
"id": "5EEDB0C5_s0-0_g3_e127_d0",
|
||||
"checksum": "0x29C313A5"
|
||||
},
|
||||
{
|
||||
"id": "5EEDB0C5_s0-0_g3_e127_d127",
|
||||
"checksum": "0x31BFD6A0"
|
||||
},
|
||||
{
|
||||
"id": "5EEDB0C5_s0-0_g3_e100_d90",
|
||||
"checksum": "0x626428CC"
|
||||
},
|
||||
{
|
||||
"id": "5EEDB0C5_s0-0_g3_e40_d64",
|
||||
"checksum": "0xF53B86E4"
|
||||
},
|
||||
{
|
||||
"id": "5EEDB0C5_s0-0_g4_e64_d32",
|
||||
"checksum": "0x8C01C1F9"
|
||||
},
|
||||
{
|
||||
"id": "5EEDB0C5_s0-0_g4_e0_d0",
|
||||
"checksum": "0x49195CD6"
|
||||
},
|
||||
{
|
||||
"id": "5EEDB0C5_s0-0_g4_e127_d0",
|
||||
"checksum": "0x2B77305E"
|
||||
},
|
||||
{
|
||||
"id": "5EEDB0C5_s0-0_g4_e127_d127",
|
||||
"checksum": "0xBCE32A21"
|
||||
},
|
||||
{
|
||||
"id": "5EEDB0C5_s0-0_g4_e100_d90",
|
||||
"checksum": "0x049DE447"
|
||||
},
|
||||
{
|
||||
"id": "5EEDB0C5_s0-0_g4_e40_d64",
|
||||
"checksum": "0x19D81B14"
|
||||
},
|
||||
{
|
||||
"id": "00000001_s0-0_g0_e64_d32",
|
||||
"checksum": "0x1B668BA7"
|
||||
},
|
||||
{
|
||||
"id": "00000001_s0-0_g0_e0_d0",
|
||||
"checksum": "0xB317F8A3"
|
||||
},
|
||||
{
|
||||
"id": "00000001_s0-0_g0_e127_d0",
|
||||
"checksum": "0xB8A7A475"
|
||||
},
|
||||
{
|
||||
"id": "00000001_s0-0_g0_e127_d127",
|
||||
"checksum": "0xFD32AF12"
|
||||
},
|
||||
{
|
||||
"id": "00000001_s0-0_g0_e100_d90",
|
||||
"checksum": "0x2A4AF905"
|
||||
},
|
||||
{
|
||||
"id": "00000001_s0-0_g0_e40_d64",
|
||||
"checksum": "0x261DB9CA"
|
||||
},
|
||||
{
|
||||
"id": "00000001_s0-0_g1_e64_d32",
|
||||
"checksum": "0x963CE4D1"
|
||||
},
|
||||
{
|
||||
"id": "00000001_s0-0_g1_e0_d0",
|
||||
"checksum": "0xADEFE751"
|
||||
},
|
||||
{
|
||||
"id": "00000001_s0-0_g1_e127_d0",
|
||||
"checksum": "0xE7CAE585"
|
||||
},
|
||||
{
|
||||
"id": "00000001_s0-0_g1_e127_d127",
|
||||
"checksum": "0x2C0DC228"
|
||||
},
|
||||
{
|
||||
"id": "00000001_s0-0_g1_e100_d90",
|
||||
"checksum": "0xA7173DAC"
|
||||
},
|
||||
{
|
||||
"id": "00000001_s0-0_g1_e40_d64",
|
||||
"checksum": "0x3135C017"
|
||||
},
|
||||
{
|
||||
"id": "00000001_s0-0_g2_e64_d32",
|
||||
"checksum": "0xFD1D01E5"
|
||||
},
|
||||
{
|
||||
"id": "00000001_s0-0_g2_e0_d0",
|
||||
"checksum": "0xE9837637"
|
||||
},
|
||||
{
|
||||
"id": "00000001_s0-0_g2_e127_d0",
|
||||
"checksum": "0x9D751F13"
|
||||
},
|
||||
{
|
||||
"id": "00000001_s0-0_g2_e127_d127",
|
||||
"checksum": "0x2DCF4824"
|
||||
},
|
||||
{
|
||||
"id": "00000001_s0-0_g2_e100_d90",
|
||||
"checksum": "0xF0ED3D0F"
|
||||
},
|
||||
{
|
||||
"id": "00000001_s0-0_g2_e40_d64",
|
||||
"checksum": "0x370EE4B9"
|
||||
},
|
||||
{
|
||||
"id": "00000001_s0-0_g3_e64_d32",
|
||||
"checksum": "0x403E0B96"
|
||||
},
|
||||
{
|
||||
"id": "00000001_s0-0_g3_e0_d0",
|
||||
"checksum": "0x24DCABC8"
|
||||
},
|
||||
{
|
||||
"id": "00000001_s0-0_g3_e127_d0",
|
||||
"checksum": "0x2800F8EA"
|
||||
},
|
||||
{
|
||||
"id": "00000001_s0-0_g3_e127_d127",
|
||||
"checksum": "0xC62FB65A"
|
||||
},
|
||||
{
|
||||
"id": "00000001_s0-0_g3_e100_d90",
|
||||
"checksum": "0xFED1503D"
|
||||
},
|
||||
{
|
||||
"id": "00000001_s0-0_g3_e40_d64",
|
||||
"checksum": "0x43796A8B"
|
||||
},
|
||||
{
|
||||
"id": "00000001_s0-0_g4_e64_d32",
|
||||
"checksum": "0x9AAECD27"
|
||||
},
|
||||
{
|
||||
"id": "00000001_s0-0_g4_e0_d0",
|
||||
"checksum": "0xF5408301"
|
||||
},
|
||||
{
|
||||
"id": "00000001_s0-0_g4_e127_d0",
|
||||
"checksum": "0x0438ABF1"
|
||||
},
|
||||
{
|
||||
"id": "00000001_s0-0_g4_e127_d127",
|
||||
"checksum": "0x54D1C6C0"
|
||||
},
|
||||
{
|
||||
"id": "00000001_s0-0_g4_e100_d90",
|
||||
"checksum": "0xC73622DC"
|
||||
},
|
||||
{
|
||||
"id": "00000001_s0-0_g4_e40_d64",
|
||||
"checksum": "0x29952EAD"
|
||||
},
|
||||
{
|
||||
"id": "DEADBEEF_s0-0_g0_e64_d32",
|
||||
"checksum": "0x797AF814"
|
||||
},
|
||||
{
|
||||
"id": "DEADBEEF_s0-0_g0_e0_d0",
|
||||
"checksum": "0xC2D63031"
|
||||
},
|
||||
{
|
||||
"id": "DEADBEEF_s0-0_g0_e127_d0",
|
||||
"checksum": "0xEC6B6DC5"
|
||||
},
|
||||
{
|
||||
"id": "DEADBEEF_s0-0_g0_e127_d127",
|
||||
"checksum": "0x3D0EE1E3"
|
||||
},
|
||||
{
|
||||
"id": "DEADBEEF_s0-0_g0_e100_d90",
|
||||
"checksum": "0xB515BF46"
|
||||
},
|
||||
{
|
||||
"id": "DEADBEEF_s0-0_g0_e40_d64",
|
||||
"checksum": "0x9C91B1FE"
|
||||
},
|
||||
{
|
||||
"id": "DEADBEEF_s0-0_g1_e64_d32",
|
||||
"checksum": "0x756DCDCF"
|
||||
},
|
||||
{
|
||||
"id": "DEADBEEF_s0-0_g1_e0_d0",
|
||||
"checksum": "0xB507F6C5"
|
||||
},
|
||||
{
|
||||
"id": "DEADBEEF_s0-0_g1_e127_d0",
|
||||
"checksum": "0x88872B09"
|
||||
},
|
||||
{
|
||||
"id": "DEADBEEF_s0-0_g1_e127_d127",
|
||||
"checksum": "0x8B392FD7"
|
||||
},
|
||||
{
|
||||
"id": "DEADBEEF_s0-0_g1_e100_d90",
|
||||
"checksum": "0x027972EC"
|
||||
},
|
||||
{
|
||||
"id": "DEADBEEF_s0-0_g1_e40_d64",
|
||||
"checksum": "0x145A52B4"
|
||||
},
|
||||
{
|
||||
"id": "DEADBEEF_s0-0_g2_e64_d32",
|
||||
"checksum": "0x8C44AE71"
|
||||
},
|
||||
{
|
||||
"id": "DEADBEEF_s0-0_g2_e0_d0",
|
||||
"checksum": "0xC565B151"
|
||||
},
|
||||
{
|
||||
"id": "DEADBEEF_s0-0_g2_e127_d0",
|
||||
"checksum": "0x50688071"
|
||||
},
|
||||
{
|
||||
"id": "DEADBEEF_s0-0_g2_e127_d127",
|
||||
"checksum": "0xB394F949"
|
||||
},
|
||||
{
|
||||
"id": "DEADBEEF_s0-0_g2_e100_d90",
|
||||
"checksum": "0x99546B5F"
|
||||
},
|
||||
{
|
||||
"id": "DEADBEEF_s0-0_g2_e40_d64",
|
||||
"checksum": "0x01377919"
|
||||
},
|
||||
{
|
||||
"id": "DEADBEEF_s0-0_g3_e64_d32",
|
||||
"checksum": "0xDB5C3174"
|
||||
},
|
||||
{
|
||||
"id": "DEADBEEF_s0-0_g3_e0_d0",
|
||||
"checksum": "0x793380FD"
|
||||
},
|
||||
{
|
||||
"id": "DEADBEEF_s0-0_g3_e127_d0",
|
||||
"checksum": "0xDF07368D"
|
||||
},
|
||||
{
|
||||
"id": "DEADBEEF_s0-0_g3_e127_d127",
|
||||
"checksum": "0x1BF6126D"
|
||||
},
|
||||
{
|
||||
"id": "DEADBEEF_s0-0_g3_e100_d90",
|
||||
"checksum": "0x846CD40B"
|
||||
},
|
||||
{
|
||||
"id": "DEADBEEF_s0-0_g3_e40_d64",
|
||||
"checksum": "0x3EF11E79"
|
||||
},
|
||||
{
|
||||
"id": "DEADBEEF_s0-0_g4_e64_d32",
|
||||
"checksum": "0x3358C89B"
|
||||
},
|
||||
{
|
||||
"id": "DEADBEEF_s0-0_g4_e0_d0",
|
||||
"checksum": "0xD03B2AF3"
|
||||
},
|
||||
{
|
||||
"id": "DEADBEEF_s0-0_g4_e127_d0",
|
||||
"checksum": "0x213A658F"
|
||||
},
|
||||
{
|
||||
"id": "DEADBEEF_s0-0_g4_e127_d127",
|
||||
"checksum": "0x6C4F5E2A"
|
||||
},
|
||||
{
|
||||
"id": "DEADBEEF_s0-0_g4_e100_d90",
|
||||
"checksum": "0x181E5284"
|
||||
},
|
||||
{
|
||||
"id": "DEADBEEF_s0-0_g4_e40_d64",
|
||||
"checksum": "0x1BCB4282"
|
||||
},
|
||||
{
|
||||
"id": "12345678_s0-0_g0_e64_d32",
|
||||
"checksum": "0x5A4F3C08"
|
||||
},
|
||||
{
|
||||
"id": "12345678_s0-0_g0_e0_d0",
|
||||
"checksum": "0x331E7A09"
|
||||
},
|
||||
{
|
||||
"id": "12345678_s0-0_g0_e127_d0",
|
||||
"checksum": "0xA3674ADD"
|
||||
},
|
||||
{
|
||||
"id": "12345678_s0-0_g0_e127_d127",
|
||||
"checksum": "0x83884A89"
|
||||
},
|
||||
{
|
||||
"id": "12345678_s0-0_g0_e100_d90",
|
||||
"checksum": "0x130C35C4"
|
||||
},
|
||||
{
|
||||
"id": "12345678_s0-0_g0_e40_d64",
|
||||
"checksum": "0xFE2109A6"
|
||||
},
|
||||
{
|
||||
"id": "12345678_s0-0_g1_e64_d32",
|
||||
"checksum": "0x8B245E0C"
|
||||
},
|
||||
{
|
||||
"id": "12345678_s0-0_g1_e0_d0",
|
||||
"checksum": "0x3E84A555"
|
||||
},
|
||||
{
|
||||
"id": "12345678_s0-0_g1_e127_d0",
|
||||
"checksum": "0xAAB67769"
|
||||
},
|
||||
{
|
||||
"id": "12345678_s0-0_g1_e127_d127",
|
||||
"checksum": "0x3DD0B079"
|
||||
},
|
||||
{
|
||||
"id": "12345678_s0-0_g1_e100_d90",
|
||||
"checksum": "0x88F591F9"
|
||||
},
|
||||
{
|
||||
"id": "12345678_s0-0_g1_e40_d64",
|
||||
"checksum": "0xEF44FDC2"
|
||||
},
|
||||
{
|
||||
"id": "12345678_s0-0_g2_e64_d32",
|
||||
"checksum": "0x6D0725F2"
|
||||
},
|
||||
{
|
||||
"id": "12345678_s0-0_g2_e0_d0",
|
||||
"checksum": "0x8C33A579"
|
||||
},
|
||||
{
|
||||
"id": "12345678_s0-0_g2_e127_d0",
|
||||
"checksum": "0x8FFBCA05"
|
||||
},
|
||||
{
|
||||
"id": "12345678_s0-0_g2_e127_d127",
|
||||
"checksum": "0x18819E92"
|
||||
},
|
||||
{
|
||||
"id": "12345678_s0-0_g2_e100_d90",
|
||||
"checksum": "0x59F8D5BB"
|
||||
},
|
||||
{
|
||||
"id": "12345678_s0-0_g2_e40_d64",
|
||||
"checksum": "0xC682051E"
|
||||
},
|
||||
{
|
||||
"id": "12345678_s0-0_g3_e64_d32",
|
||||
"checksum": "0xD0EA040D"
|
||||
},
|
||||
{
|
||||
"id": "12345678_s0-0_g3_e0_d0",
|
||||
"checksum": "0xA70CFBDD"
|
||||
},
|
||||
{
|
||||
"id": "12345678_s0-0_g3_e127_d0",
|
||||
"checksum": "0x3535E98D"
|
||||
},
|
||||
{
|
||||
"id": "12345678_s0-0_g3_e127_d127",
|
||||
"checksum": "0x16A8AB23"
|
||||
},
|
||||
{
|
||||
"id": "12345678_s0-0_g3_e100_d90",
|
||||
"checksum": "0xAFF8C3A6"
|
||||
},
|
||||
{
|
||||
"id": "12345678_s0-0_g3_e40_d64",
|
||||
"checksum": "0x8F9EF374"
|
||||
},
|
||||
{
|
||||
"id": "12345678_s0-0_g4_e64_d32",
|
||||
"checksum": "0x97C66D44"
|
||||
},
|
||||
{
|
||||
"id": "12345678_s0-0_g4_e0_d0",
|
||||
"checksum": "0xB8EA077E"
|
||||
},
|
||||
{
|
||||
"id": "12345678_s0-0_g4_e127_d0",
|
||||
"checksum": "0x92FE51BE"
|
||||
},
|
||||
{
|
||||
"id": "12345678_s0-0_g4_e127_d127",
|
||||
"checksum": "0xD9E2F70E"
|
||||
},
|
||||
{
|
||||
"id": "12345678_s0-0_g4_e100_d90",
|
||||
"checksum": "0x882625B9"
|
||||
},
|
||||
{
|
||||
"id": "12345678_s0-0_g4_e40_d64",
|
||||
"checksum": "0xC26462BD"
|
||||
},
|
||||
{
|
||||
"id": "C0FFEE00_s0-0_g0_e64_d32",
|
||||
"checksum": "0x409C226C"
|
||||
},
|
||||
{
|
||||
"id": "C0FFEE00_s0-0_g0_e0_d0",
|
||||
"checksum": "0x6DC8B525"
|
||||
},
|
||||
{
|
||||
"id": "C0FFEE00_s0-0_g0_e127_d0",
|
||||
"checksum": "0xEED3EB25"
|
||||
},
|
||||
{
|
||||
"id": "C0FFEE00_s0-0_g0_e127_d127",
|
||||
"checksum": "0x2A4D1330"
|
||||
},
|
||||
{
|
||||
"id": "C0FFEE00_s0-0_g0_e100_d90",
|
||||
"checksum": "0x81D06CC9"
|
||||
},
|
||||
{
|
||||
"id": "C0FFEE00_s0-0_g0_e40_d64",
|
||||
"checksum": "0xB02166B8"
|
||||
},
|
||||
{
|
||||
"id": "C0FFEE00_s0-0_g1_e64_d32",
|
||||
"checksum": "0x9D21C166"
|
||||
},
|
||||
{
|
||||
"id": "C0FFEE00_s0-0_g1_e0_d0",
|
||||
"checksum": "0xFEFB871D"
|
||||
},
|
||||
{
|
||||
"id": "C0FFEE00_s0-0_g1_e127_d0",
|
||||
"checksum": "0x70E58385"
|
||||
},
|
||||
{
|
||||
"id": "C0FFEE00_s0-0_g1_e127_d127",
|
||||
"checksum": "0xBB8654C4"
|
||||
},
|
||||
{
|
||||
"id": "C0FFEE00_s0-0_g1_e100_d90",
|
||||
"checksum": "0x2854DE5D"
|
||||
},
|
||||
{
|
||||
"id": "C0FFEE00_s0-0_g1_e40_d64",
|
||||
"checksum": "0x67A2217F"
|
||||
},
|
||||
{
|
||||
"id": "C0FFEE00_s0-0_g2_e64_d32",
|
||||
"checksum": "0x7BEE9F19"
|
||||
},
|
||||
{
|
||||
"id": "C0FFEE00_s0-0_g2_e0_d0",
|
||||
"checksum": "0x7B8332C9"
|
||||
},
|
||||
{
|
||||
"id": "C0FFEE00_s0-0_g2_e127_d0",
|
||||
"checksum": "0x65B3D6C5"
|
||||
},
|
||||
{
|
||||
"id": "C0FFEE00_s0-0_g2_e127_d127",
|
||||
"checksum": "0x232BB94B"
|
||||
},
|
||||
{
|
||||
"id": "C0FFEE00_s0-0_g2_e100_d90",
|
||||
"checksum": "0x8A7EE028"
|
||||
},
|
||||
{
|
||||
"id": "C0FFEE00_s0-0_g2_e40_d64",
|
||||
"checksum": "0xE8731798"
|
||||
},
|
||||
{
|
||||
"id": "C0FFEE00_s0-0_g3_e64_d32",
|
||||
"checksum": "0xBA4FDBDC"
|
||||
},
|
||||
{
|
||||
"id": "C0FFEE00_s0-0_g3_e0_d0",
|
||||
"checksum": "0x29BA4BB5"
|
||||
},
|
||||
{
|
||||
"id": "C0FFEE00_s0-0_g3_e127_d0",
|
||||
"checksum": "0x84A8ADFD"
|
||||
},
|
||||
{
|
||||
"id": "C0FFEE00_s0-0_g3_e127_d127",
|
||||
"checksum": "0x98E5C8DE"
|
||||
},
|
||||
{
|
||||
"id": "C0FFEE00_s0-0_g3_e100_d90",
|
||||
"checksum": "0xC2C59DE5"
|
||||
},
|
||||
{
|
||||
"id": "C0FFEE00_s0-0_g3_e40_d64",
|
||||
"checksum": "0x54D6D8F3"
|
||||
},
|
||||
{
|
||||
"id": "C0FFEE00_s0-0_g4_e64_d32",
|
||||
"checksum": "0x477C2799"
|
||||
},
|
||||
{
|
||||
"id": "C0FFEE00_s0-0_g4_e0_d0",
|
||||
"checksum": "0xF057EBE5"
|
||||
},
|
||||
{
|
||||
"id": "C0FFEE00_s0-0_g4_e127_d0",
|
||||
"checksum": "0xBF2A4C45"
|
||||
},
|
||||
{
|
||||
"id": "C0FFEE00_s0-0_g4_e127_d127",
|
||||
"checksum": "0x699081A3"
|
||||
},
|
||||
{
|
||||
"id": "C0FFEE00_s0-0_g4_e100_d90",
|
||||
"checksum": "0x549E5CBC"
|
||||
},
|
||||
{
|
||||
"id": "C0FFEE00_s0-0_g4_e40_d64",
|
||||
"checksum": "0x58BA5FEF"
|
||||
},
|
||||
{
|
||||
"id": "0BADF00D_s0-0_g0_e64_d32",
|
||||
"checksum": "0x954515B3"
|
||||
},
|
||||
{
|
||||
"id": "0BADF00D_s0-0_g0_e0_d0",
|
||||
"checksum": "0xECD6B65D"
|
||||
},
|
||||
{
|
||||
"id": "0BADF00D_s0-0_g0_e127_d0",
|
||||
"checksum": "0x320DFCCD"
|
||||
},
|
||||
{
|
||||
"id": "0BADF00D_s0-0_g0_e127_d127",
|
||||
"checksum": "0x9136FE16"
|
||||
},
|
||||
{
|
||||
"id": "0BADF00D_s0-0_g0_e100_d90",
|
||||
"checksum": "0xBFE1652E"
|
||||
},
|
||||
{
|
||||
"id": "0BADF00D_s0-0_g0_e40_d64",
|
||||
"checksum": "0xB06D7C1B"
|
||||
},
|
||||
{
|
||||
"id": "0BADF00D_s0-0_g1_e64_d32",
|
||||
"checksum": "0x95EA2C4A"
|
||||
},
|
||||
{
|
||||
"id": "0BADF00D_s0-0_g1_e0_d0",
|
||||
"checksum": "0xACE809ED"
|
||||
},
|
||||
{
|
||||
"id": "0BADF00D_s0-0_g1_e127_d0",
|
||||
"checksum": "0x505897A5"
|
||||
},
|
||||
{
|
||||
"id": "0BADF00D_s0-0_g1_e127_d127",
|
||||
"checksum": "0x18BB7F1F"
|
||||
},
|
||||
{
|
||||
"id": "0BADF00D_s0-0_g1_e100_d90",
|
||||
"checksum": "0xAF303405"
|
||||
},
|
||||
{
|
||||
"id": "0BADF00D_s0-0_g1_e40_d64",
|
||||
"checksum": "0x83D7E35B"
|
||||
},
|
||||
{
|
||||
"id": "0BADF00D_s0-0_g2_e64_d32",
|
||||
"checksum": "0x1D9A1E48"
|
||||
},
|
||||
{
|
||||
"id": "0BADF00D_s0-0_g2_e0_d0",
|
||||
"checksum": "0xB506D305"
|
||||
},
|
||||
{
|
||||
"id": "0BADF00D_s0-0_g2_e127_d0",
|
||||
"checksum": "0x00B1BB95"
|
||||
},
|
||||
{
|
||||
"id": "0BADF00D_s0-0_g2_e127_d127",
|
||||
"checksum": "0xDE2D6A59"
|
||||
},
|
||||
{
|
||||
"id": "0BADF00D_s0-0_g2_e100_d90",
|
||||
"checksum": "0x12258F4F"
|
||||
},
|
||||
{
|
||||
"id": "0BADF00D_s0-0_g2_e40_d64",
|
||||
"checksum": "0xBE863461"
|
||||
},
|
||||
{
|
||||
"id": "0BADF00D_s0-0_g3_e64_d32",
|
||||
"checksum": "0x8C83C9BB"
|
||||
},
|
||||
{
|
||||
"id": "0BADF00D_s0-0_g3_e0_d0",
|
||||
"checksum": "0x424BC27D"
|
||||
},
|
||||
{
|
||||
"id": "0BADF00D_s0-0_g3_e127_d0",
|
||||
"checksum": "0x6D55EA75"
|
||||
},
|
||||
{
|
||||
"id": "0BADF00D_s0-0_g3_e127_d127",
|
||||
"checksum": "0xD0A8C249"
|
||||
},
|
||||
{
|
||||
"id": "0BADF00D_s0-0_g3_e100_d90",
|
||||
"checksum": "0xF414BA93"
|
||||
},
|
||||
{
|
||||
"id": "0BADF00D_s0-0_g3_e40_d64",
|
||||
"checksum": "0x73277AF0"
|
||||
},
|
||||
{
|
||||
"id": "0BADF00D_s0-0_g4_e64_d32",
|
||||
"checksum": "0xF8E95F3F"
|
||||
},
|
||||
{
|
||||
"id": "0BADF00D_s0-0_g4_e0_d0",
|
||||
"checksum": "0x73E27C78"
|
||||
},
|
||||
{
|
||||
"id": "0BADF00D_s0-0_g4_e127_d0",
|
||||
"checksum": "0x4907E37C"
|
||||
},
|
||||
{
|
||||
"id": "0BADF00D_s0-0_g4_e127_d127",
|
||||
"checksum": "0xA7C479CA"
|
||||
},
|
||||
{
|
||||
"id": "0BADF00D_s0-0_g4_e100_d90",
|
||||
"checksum": "0xF8EA9EA7"
|
||||
},
|
||||
{
|
||||
"id": "0BADF00D_s0-0_g4_e40_d64",
|
||||
"checksum": "0xCC25D6B6"
|
||||
},
|
||||
{
|
||||
"id": "5EEDB0C5_s3-0_g0_e64_d32",
|
||||
"checksum": "0x4BC1C255"
|
||||
},
|
||||
{
|
||||
"id": "5EEDB0C5_s0-5_g0_e64_d32",
|
||||
"checksum": "0x1D608FBA"
|
||||
},
|
||||
{
|
||||
"id": "5EEDB0C5_s0-0_g0_e80_d50_f3-7",
|
||||
"checksum": "0xF613C7F0"
|
||||
},
|
||||
{
|
||||
"id": "5EEDB0C5_s3-0_g2_e64_d32",
|
||||
"checksum": "0xCDA54E56"
|
||||
},
|
||||
{
|
||||
"id": "5EEDB0C5_s0-5_g2_e64_d32",
|
||||
"checksum": "0xCD7A1CF7"
|
||||
},
|
||||
{
|
||||
"id": "5EEDB0C5_s0-0_g2_e80_d50_f3-7",
|
||||
"checksum": "0x13BCBDA8"
|
||||
},
|
||||
{
|
||||
"id": "5EEDB0C5_s3-0_g4_e64_d32",
|
||||
"checksum": "0x13CF5E5E"
|
||||
},
|
||||
{
|
||||
"id": "5EEDB0C5_s0-5_g4_e64_d32",
|
||||
"checksum": "0x5E1C452C"
|
||||
},
|
||||
{
|
||||
"id": "5EEDB0C5_s0-0_g4_e80_d50_f3-7",
|
||||
"checksum": "0xFFD1BA41"
|
||||
},
|
||||
{
|
||||
"id": "5EEDB0C5_s0-0_g0_e64_d32_f3_sc14_r2",
|
||||
"checksum": "0x1F87B79B"
|
||||
},
|
||||
{
|
||||
"id": "5EEDB0C5_s0-0_g2_e64_d32_f3_sc19_r9",
|
||||
"checksum": "0x186EFC62"
|
||||
},
|
||||
{
|
||||
"id": "5EEDB0C5_s0-0_g4_e64_d32_f3_sc0_r7",
|
||||
"checksum": "0x6A3A6680"
|
||||
},
|
||||
{
|
||||
"id": "DEADBEEF_s0-0_g1_e64_d32_f3_sc18",
|
||||
"checksum": "0x7A5704D3"
|
||||
},
|
||||
{
|
||||
"id": "12345678_s0-0_g3_e64_d32_f3_r5",
|
||||
"checksum": "0x6D812076"
|
||||
},
|
||||
{
|
||||
"id": "C0FFEE00_s0-0_g0_e64_d32_f3_sc7_r11",
|
||||
"checksum": "0x28DFCADD"
|
||||
},
|
||||
{
|
||||
"id": "00000001_s0-0_g1_e64_d32_f3_sc20_r0",
|
||||
"checksum": "0x02ADD2DB"
|
||||
}
|
||||
]
|
||||
}
|
||||
506
test/vectors/primitives.json
Normal file
506
test/vectors/primitives.json
Normal file
@@ -0,0 +1,506 @@
|
||||
{
|
||||
"note": "mix(a,b) hash, xorshift32 Rng (next, below(n), chance(p)) and genome(seed). 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",
|
||||
"genome": {
|
||||
"steps": 14,
|
||||
"form": [
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
1
|
||||
],
|
||||
"formName": "ABAB",
|
||||
"scale": 18,
|
||||
"root": 6,
|
||||
"dens": [
|
||||
81,
|
||||
37
|
||||
],
|
||||
"fillP": 47,
|
||||
"monoLen": 1,
|
||||
"monoRange": 2,
|
||||
"rot": 0,
|
||||
"hocket": 85,
|
||||
"bassDeg": 2,
|
||||
"prog": [
|
||||
0,
|
||||
3,
|
||||
0,
|
||||
4
|
||||
],
|
||||
"swing": 35,
|
||||
"arc": 1,
|
||||
"motifLen": 5,
|
||||
"accentCycle": 3,
|
||||
"layback": 0,
|
||||
"frame": 2,
|
||||
"freeK": 3,
|
||||
"freeRot": 5
|
||||
}
|
||||
},
|
||||
{
|
||||
"seed": "0x00000001",
|
||||
"genome": {
|
||||
"steps": 16,
|
||||
"form": [
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0
|
||||
],
|
||||
"formName": "AABA",
|
||||
"scale": 16,
|
||||
"root": 2,
|
||||
"dens": [
|
||||
80,
|
||||
95
|
||||
],
|
||||
"fillP": 110,
|
||||
"monoLen": 1,
|
||||
"monoRange": 2,
|
||||
"rot": 0,
|
||||
"hocket": 90,
|
||||
"bassDeg": 3,
|
||||
"prog": [
|
||||
0,
|
||||
5,
|
||||
0,
|
||||
5
|
||||
],
|
||||
"swing": 21,
|
||||
"arc": 1,
|
||||
"motifLen": 3,
|
||||
"accentCycle": 3,
|
||||
"layback": 0,
|
||||
"frame": 0,
|
||||
"freeK": 2,
|
||||
"freeRot": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
"seed": "0xDEADBEEF",
|
||||
"genome": {
|
||||
"steps": 12,
|
||||
"form": [
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0
|
||||
],
|
||||
"formName": "AAAA",
|
||||
"scale": 10,
|
||||
"root": 0,
|
||||
"dens": [
|
||||
91,
|
||||
66
|
||||
],
|
||||
"fillP": 40,
|
||||
"monoLen": 0,
|
||||
"monoRange": 2,
|
||||
"rot": 1,
|
||||
"hocket": 170,
|
||||
"bassDeg": 4,
|
||||
"prog": [
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
6
|
||||
],
|
||||
"swing": 50,
|
||||
"arc": 2,
|
||||
"motifLen": 4,
|
||||
"accentCycle": 5,
|
||||
"layback": 0,
|
||||
"frame": 7,
|
||||
"freeK": 4,
|
||||
"freeRot": 3
|
||||
}
|
||||
},
|
||||
{
|
||||
"seed": "0x12345678",
|
||||
"genome": {
|
||||
"steps": 16,
|
||||
"form": [
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
1
|
||||
],
|
||||
"formName": "ABAB",
|
||||
"scale": 0,
|
||||
"root": 5,
|
||||
"dens": [
|
||||
50,
|
||||
83
|
||||
],
|
||||
"fillP": 111,
|
||||
"monoLen": 1,
|
||||
"monoRange": 1,
|
||||
"rot": 2,
|
||||
"hocket": 170,
|
||||
"bassDeg": 3,
|
||||
"prog": [
|
||||
0,
|
||||
0,
|
||||
5,
|
||||
4
|
||||
],
|
||||
"swing": 0,
|
||||
"arc": 1,
|
||||
"motifLen": 5,
|
||||
"accentCycle": 3,
|
||||
"layback": 0,
|
||||
"frame": 1,
|
||||
"freeK": 3,
|
||||
"freeRot": 9
|
||||
}
|
||||
},
|
||||
{
|
||||
"seed": "0xC0FFEE00",
|
||||
"genome": {
|
||||
"steps": 16,
|
||||
"form": [
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0
|
||||
],
|
||||
"formName": "AABA",
|
||||
"scale": 19,
|
||||
"root": 0,
|
||||
"dens": [
|
||||
42,
|
||||
74
|
||||
],
|
||||
"fillP": 78,
|
||||
"monoLen": 1,
|
||||
"monoRange": 2,
|
||||
"rot": 2,
|
||||
"hocket": 210,
|
||||
"bassDeg": 2,
|
||||
"prog": [
|
||||
0,
|
||||
0,
|
||||
3,
|
||||
3
|
||||
],
|
||||
"swing": 21,
|
||||
"arc": 1,
|
||||
"motifLen": 3,
|
||||
"accentCycle": 5,
|
||||
"layback": 0,
|
||||
"frame": 3,
|
||||
"freeK": 3,
|
||||
"freeRot": 12
|
||||
}
|
||||
},
|
||||
{
|
||||
"seed": "0x0BADF00D",
|
||||
"genome": {
|
||||
"steps": 16,
|
||||
"form": [
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0
|
||||
],
|
||||
"formName": "AABA",
|
||||
"scale": 9,
|
||||
"root": 6,
|
||||
"dens": [
|
||||
46,
|
||||
85
|
||||
],
|
||||
"fillP": 92,
|
||||
"monoLen": 1,
|
||||
"monoRange": 1,
|
||||
"rot": 1,
|
||||
"hocket": 90,
|
||||
"bassDeg": 2,
|
||||
"prog": [
|
||||
0,
|
||||
3,
|
||||
0,
|
||||
4
|
||||
],
|
||||
"swing": 35,
|
||||
"arc": 2,
|
||||
"motifLen": 3,
|
||||
"accentCycle": 3,
|
||||
"layback": 0,
|
||||
"frame": 3,
|
||||
"freeK": 2,
|
||||
"freeRot": 9
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user