-
Notifications
You must be signed in to change notification settings - Fork 6
/
DESIGN
52 lines (44 loc) · 948 Bytes
/
DESIGN
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
FileFormat Design:
Spectmorph File:
* multiple "named" instruments
* should be compressable with xz/gzip
* should be relocatable (if samples are referred to and not included)
Instrument:
* multiple samples for
- multiple midi notes
- multiple velocity layers
Samples:
* multiple frames
-> noise component
-> deterministic component
* loop start, loop end, ping pong stuff
* cross vector quantization to save space
* mmap loadable
* demand-loading of instruments (should not need all instruments to be loaded at start)
* author, descripion and license fields
TODO:
* articulation (staccato vs. true legato)
CURRENT:
<header>
F mix_freq
F frame_size_ms
F frame_step_ms
F attack_start_ms
F attack_end_ms
F fundamental_freq
I zeropad
I loop_point
I zero_values_at_start
</header>
<frame>*
FB noise
FB freqs
FB phases
FB original_fft
FB debug_samples
</frame>
SmWavSet:
<wave>*
I midi_note
S path
</wave>