diff --git a/README.md b/README.md index fdfe7db..4ca1fc5 100644 --- a/README.md +++ b/README.md @@ -60,6 +60,8 @@ oscillators: amp: { val: 1 } ``` +In [examples/template.yaml](examples/template.yaml) you can find templates for all available modules. + ### Data types | Envelope | | | @@ -171,6 +173,7 @@ Some examples of syntactically valid notes: `eb_5`, `c#_2`, `d_7`, `b#_4`, `fb_3 | noises | Noise[0..*] | all noise generators | | wavetables | Wavetables[0..*] | all wavetables | | samplers | Sampler[0..*] | all samplers | +| sequences | Sequence[0..*] | all sequences | | Wavetable | | | | --------- | ------------ | -------------------------------------------------------------- | diff --git a/examples/a-major.yaml b/examples/a-major.yaml index ce998e1..7c19ce0 100644 --- a/examples/a-major.yaml +++ b/examples/a-major.yaml @@ -1,90 +1,60 @@ vol: 1 out: [root, third, fifth, seventh, noise] + noises: - name: noise - amp: - val: 0.005 - mod: [amp-mod] - mod-amp: 0.005 - pan: - mod: [pan-mod] - mod-amp: 0.1 + amp: { val: 0.005, mod: [amp-mod], mod-amp: 0.005 } + pan: { mod: [pan-mod], mod-amp: 0.1 } filters: [f2] oscillators: - name: root type: Sine - freq: - val: 220 - amp: - val: 0.1 + freq: { val: 220 } + amp: { val: 0.1 } filters: [f1] - name: third type: Sine - freq: - val: 275 - mod: [fm] - mod-amp: 0.5 - amp: - val: 0.06 + freq: { val: 275, mod: [fm], mod-amp: 0.5 } + amp: { val: 0.06 } filters: [f1] - name: fifth type: Sine - freq: - val: 330 - mod: [fm] - mod-amp: 0.6 - amp: - val: 0.08 + freq: { val: 330, mod: [fm], mod-amp: 0.6 } + amp: { val: 0.008 } filters: [f1] - name: seventh type: Sine - freq: - val: 415 - mod: [fm] - mod-amp: 1 - amp: - val: 0.1 + freq: { val: 415, mod: [fm], mod-amp: 1 } + amp: { val: 0.1 } filters: [f1] - name: f1-mod type: Sine - freq: - val: 0.2 - amp: - val: 1 + freq: { val: 0.2 } + amp: { val: 1 } - name: amp-mod type: Sine - freq: - val: 0.13 - amp: - val: 1 + freq: { val: 0.13 } + amp: { val: 1 } - name: fm type: Sine - freq: - val: 1.7 - amp: - val: 1 + freq: { val: 1.7 } + amp: { val: 1 } - name: pan-mod type: Sine - freq: - val: 0.1 - amp: - val: 1 + freq: { val: 0.1 } + amp: { val: 1 } filters: - name: f1 - high-cutoff: - val: 300 - mod: [f1-mod] - mod-amp: 220 + high-cutoff: { val: 300, mod: [f1-mod], mod-amp: 220 } - name: f2 - low-cutoff: - val: 8000 + low-cutoff: { val: 8000 } diff --git a/examples/template.yaml b/examples/template.yaml new file mode 100644 index 0000000..da9e7cb --- /dev/null +++ b/examples/template.yaml @@ -0,0 +1,95 @@ +# vol: 0 +# out: [] +# time: 0 + +# filters: +# - name: "" +# low-cutoff: { val: 0, mod: [], mod-amp: 0 } +# high-cutoff: { val: 0, mod: [], mod-amp: 0 } + +# oscillators: +# - name: "" +# amp: { val: 0, mod: [], mod-amp: 0 } +# type: "" +# freq: { val: 0, mod: [], mod-amp: 0 } +# phase: 0 +# pan: { val: 0, mod: [], mod-amp: 0 } +# filters: [] +# envelope: +# attack: { val: 0, mod: [], mod-amp: 0 } +# decay: { val: 0, mod: [], mod-amp: 0 } +# sustain: { val: 0, mod: [], mod-amp: 0 } +# release: { val: 0, mod: [], mod-amp: 0 } +# peak: { val: 0, mod: [], mod-amp: 0 } +# sustain-level: { val: 0, mod: [], mod-amp: 0 } +# bpm: { val: 0, mod: [], mod-amp: 0 } +# time-shift: 0 + +# noises: +# - name: "" +# amp: { val: 0, mod: [], mod-amp: 0 } +# pan: { val: 0, mod: [], mod-amp: 0 } +# filters: [] +# envelope: +# attack: { val: 0, mod: [], mod-amp: 0 } +# decay: { val: 0, mod: [], mod-amp: 0 } +# sustain: { val: 0, mod: [], mod-amp: 0 } +# release: { val: 0, mod: [], mod-amp: 0 } +# peak: { val: 0, mod: [], mod-amp: 0 } +# sustain-level: { val: 0, mod: [], mod-amp: 0 } +# bpm: { val: 0, mod: [], mod-amp: 0 } +# time-shift: 0 + +# samplers: +# - name: "" +# amp: { val: 0, mod: [], mod-amp: 0 } +# pan: { val: 0, mod: [], mod-amp: 0 } +# freq: { val: 0, mod: [], mod-amp: 0 } +# filters: [] +# inputs: [] +# envelope: +# attack: { val: 0, mod: [], mod-amp: 0 } +# decay: { val: 0, mod: [], mod-amp: 0 } +# sustain: { val: 0, mod: [], mod-amp: 0 } +# release: { val: 0, mod: [], mod-amp: 0 } +# peak: { val: 0, mod: [], mod-amp: 0 } +# sustain-level: { val: 0, mod: [], mod-amp: 0 } +# bpm: { val: 0, mod: [], mod-amp: 0 } +# time-shift: 0 + +# sequences: +# - name: "" +# amp: { val: 0, mod: [], mod-amp: 0 } +# type: "" +# sequence: [] +# pan: { val: 0, mod: [], mod-amp: 0 } +# filters: [] +# pitch: 0 +# transpose: { val: 0, mod: [], mod-amp: 0 } +# randomize: false +# envelope: +# attack: { val: 0, mod: [], mod-amp: 0 } +# decay: { val: 0, mod: [], mod-amp: 0 } +# sustain: { val: 0, mod: [], mod-amp: 0 } +# release: { val: 0, mod: [], mod-amp: 0 } +# peak: { val: 0, mod: [], mod-amp: 0 } +# sustain-level: { val: 0, mod: [], mod-amp: 0 } +# bpm: { val: 0, mod: [], mod-amp: 0 } +# time-shift: 0 + +# wavetables: +# - name: "" +# amp: { val: 0, mod: [], mod-amp: 0 } +# pan: { val: 0, mod: [], mod-amp: 0 } +# freq: { val: 0, mod: [], mod-amp: 0 } +# table: [] +# filters: [] +# envelope: +# attack: { val: 0, mod: [], mod-amp: 0 } +# decay: { val: 0, mod: [], mod-amp: 0 } +# sustain: { val: 0, mod: [], mod-amp: 0 } +# release: { val: 0, mod: [], mod-amp: 0 } +# peak: { val: 0, mod: [], mod-amp: 0 } +# sustain-level: { val: 0, mod: [], mod-amp: 0 } +# bpm: { val: 0, mod: [], mod-amp: 0 } +# time-shift: 0