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