|
|
@ -21,56 +21,57 @@ const motifs = [ |
|
|
|
|
|
|
|
export function getMotif1(synth) { |
|
|
|
const now = Tone.now(); |
|
|
|
synth.triggerAttackRelease("A3", "4n", now); |
|
|
|
synth.triggerAttackRelease("C#4", "4n", now + 0.24); |
|
|
|
synth.triggerAttackRelease("C#3", "4n", now); |
|
|
|
synth.triggerAttackRelease("E3", "4n", now + 0.24); |
|
|
|
} |
|
|
|
|
|
|
|
export function getMotif2(synth) { |
|
|
|
const now = Tone.now(); |
|
|
|
synth.triggerAttackRelease("A3", 0.2, now); |
|
|
|
synth.triggerAttackRelease("E#4", "4n", now + 0.16); |
|
|
|
synth.triggerAttackRelease("C#3", 0.2, now); |
|
|
|
synth.triggerAttackRelease("G#3", "4n", now + 0.16); |
|
|
|
} |
|
|
|
|
|
|
|
export function getMotif3(synth) { |
|
|
|
const now = Tone.now(); |
|
|
|
synth.triggerAttackRelease("A3", 0.2, now); |
|
|
|
synth.triggerAttackRelease("G#4", "4n", now + 0.16); |
|
|
|
synth.triggerAttackRelease("C#3", 0.2, now); |
|
|
|
synth.triggerAttackRelease("A3", "4n", now + 0.16); |
|
|
|
} |
|
|
|
|
|
|
|
export function getMotif4(synth) { |
|
|
|
const now = Tone.now(); |
|
|
|
synth.triggerAttackRelease("A3", 0.2, now); |
|
|
|
synth.triggerAttackRelease("A4", "4n", now + 0.16); |
|
|
|
synth.triggerAttackRelease("C#3", 0.2, now); |
|
|
|
synth.triggerAttackRelease("C#4", "4n", now + 0.16); |
|
|
|
} |
|
|
|
|
|
|
|
// Medium Motifs |
|
|
|
|
|
|
|
export function getMotif5(synth) { |
|
|
|
const now = Tone.now(); |
|
|
|
synth.triggerAttackRelease("A3", 0.2, now); |
|
|
|
synth.triggerAttackRelease("C#4", 0.2, now + 0.16); |
|
|
|
synth.triggerAttackRelease("E4", "4n", now + 0.32); |
|
|
|
|
|
|
|
synth.triggerAttackRelease("C#3", 0.2, now); |
|
|
|
synth.triggerAttackRelease("E3", 0.2, now + 0.16); |
|
|
|
synth.triggerAttackRelease("G#3", "4n", now + 0.32); |
|
|
|
} |
|
|
|
|
|
|
|
export function getMotif6(synth) { |
|
|
|
const now = Tone.now(); |
|
|
|
synth.triggerAttackRelease("A3", 0.2, now); |
|
|
|
synth.triggerAttackRelease("C#4", 0.2, now + 0.16); |
|
|
|
synth.triggerAttackRelease("G#4", "4n", now + 0.32); |
|
|
|
synth.triggerAttackRelease("C#3", 0.2, now); |
|
|
|
synth.triggerAttackRelease("E3", 0.2, now + 0.16); |
|
|
|
synth.triggerAttackRelease("A3", "4n", now + 0.32); |
|
|
|
} |
|
|
|
|
|
|
|
export function getMotif7(synth) { |
|
|
|
const now = Tone.now(); |
|
|
|
synth.triggerAttackRelease("A3", 0.2, now); |
|
|
|
synth.triggerAttackRelease("E4", 0.2, now + 0.16); |
|
|
|
synth.triggerAttackRelease("A4", "4n", now + 0.32); |
|
|
|
synth.triggerAttackRelease("C#3", 0.2, now); |
|
|
|
synth.triggerAttackRelease("E3", 0.2, now + 0.16); |
|
|
|
synth.triggerAttackRelease("C4", "4n", now + 0.32); |
|
|
|
} |
|
|
|
|
|
|
|
export function getMotif8(synth) { |
|
|
|
const now = Tone.now(); |
|
|
|
synth.triggerAttackRelease("A3", 0.2, now); |
|
|
|
synth.triggerAttackRelease("G#4", 0.2, now + 0.16); |
|
|
|
synth.triggerAttackRelease("C#5", "4n", now + 0.32); |
|
|
|
synth.triggerAttackRelease("C#3", 0.2, now); |
|
|
|
synth.triggerAttackRelease("A3", 0.2, now + 0.16); |
|
|
|
synth.triggerAttackRelease("C#4", "4n", now + 0.32); |
|
|
|
} |
|
|
|
|
|
|
|
// Large Motifs |
|
|
|