Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
const buildChord = (root, baseNotes, translator) => {
const notes = []
const chord13 = Chord.notes(root, "13") // 13コードを基準にして音を足したり減らしたりする
chord13.splice(5, 0, Distance.transpose(root, "M11")) // tonal の 13コードは 11th が omit されている
for (let i = 0; i < 7; i += 1) {
if (translator[i] !== null) notes.push(transposer(chord13[i], translator[i]))
}
return notes
}
const translate = (root, baseKey, chordType) => {
const notes = Chord.notes(`${root}${baseKey}`, translateType(chordType))
if (chordType === "m6") {
// [A3, C4, D4, E4, F#5] => [A3, C4, E4, F#4]
notes.splice(2, 1)
const lastNote = notes.pop()
notes.push(lastNote.replace(/\d{1}/, baseKey + 1))
}
return notes
}
m.forEach(c => {
let n = Chord.notes(c);
if (chordsEqual(n, keys.map(k => k.substring(0, k.length - 1)))) {
$(`.chord.${c}`).addClass("highlight");
}
});
};
onload: () => {
const notes = Chord.notes('C', 'maj7').reduce(
(allNotes, pc) =>
allNotes.concat([2, 3, 4].map(octave => `${pc}${octave}`)),
[]
);
notes.forEach(note => {
Tone.Transport.scheduleRepeat(
() => violins.triggerAttack(note, '+1'),
Math.random() * 120 + 60,
30
);
});
},
volume: -35,
export function getChordNotes(chord, validate?) {
chord = Harmony.getTonalChord(chord);
const tokens = Chord.tokenize(chord);
const notes = Chord.notes(chord);
return notes.filter(note => {
const interval = Distance.interval(tokens[0], note);
return !validate || validate(note, {
root: tokens[0],
symbol: tokens[1],
interval,
step: getStepFromInterval(interval),
degree: getDegreeFromInterval(interval + '')
});
});
}
OCTAVES.map(octave => Chord.notes(`${TONIC}${octave}${name}`))
),
OCTAVES.map(octave => Chord.notes(`${TONIC}${octave}${name}`))
),
(notes, octave) => notes.concat(Chord.notes(`${tonic}${octave}`, 'm7')),
[]
strings,
bassdrum1,
bassdrum2,
sleighbells,
fingerCymbals,
tom,
]) => {
reverb.connect(destination);
strings.connect(reverb);
bassdrum1.connect(reverb);
bassdrum2.connect(reverb);
sleighbells.connect(reverb);
fingerCymbals.connect(reverb);
const tomVol = new Tone.Volume(-10).connect(reverb);
tom.connect(tomVol);
const chord = Chord.notes('C1', 'm7');
const measureLength = Math.random() + 5;
let p = 1;
let pDelta = 0.02;
let didStringsPlayPreviously = false;
const play = () => {
bassdrum1.triggerAttack(`+${1 + Math.random() / 100}`);
bassdrum2.triggerAttack(`+${1 + Math.random() / 100}`);
if (Math.random() < p) {
sleighbells.triggerAttack(`+${1 + measureLength / 2}`);
} else {
fingerCymbals.triggerAttack(`+${1 + measureLength / 2}`);
}
for (let i = 0; i < measureLength; i += measureLength / 16) {
if (Math.random() < 1 - p) {