notes (954B)
1 The de-facto standard for wavetables seems to be 2048 samples per waveform, 2 up to 256 waveforms per table. 3 4 wavetable: 5 256*2048 array of s16int 6 7 envelope: 8 len[] 9 val[] 10 loop 11 hold 12 13 instrument: 14 wavetable 15 vol, pan, freq, filter, etc envelopes 16 17 voice: 18 instrument 19 state (osc_t, pos on every envelope) 20 21 ------ 22 # note control commands 23 24 1 byte is enough, I guess 25 26 0 → no command 27 1-12? → note 28 ????? → ??? 29 0xFE → note release 30 0xFF → note off 31 32 # base volume commands 33 34 would like to fit into 1 byte as well 35 36 no command (can be combined with something else???) 37 volume 38 volume, relative 39 volume, relative, repeat latest ??? 40 pan ??? 41 pan, relative ??? 42 pan, relative, repeat latest ??? 43 44 # modifier commands 45 46 [modifier index] [operation] [argument] 47 argument must be 2 bytes. 48 49 no command ??? 50 value 51 value relative 52 value relative repeat ??? 53 54 ???? 55 56 ---- 57 # synth input 58 59 wtsynth: table freq phase mod volume pan 60 channel: note prog volume