UNPKG

@typedin/music-utilities

Version:

A set of resources and modules I use to develop music applications.

51 lines 1.89 kB
import { getAlterationForAugmentedInterval, getAlterationForDiminishedInterval, getAlterationForMajorInterval, getAlterationForMinorInterval, } from "./getAlteration.js"; import { getName } from "./getName.js"; import { getNoteOctave } from "./getNoteOctave.js"; const specialcases = { up: ["D", "E", "A", "B"], down: ["C", "F", "G", "D"], }; const notesThatMakeOctaveChange = { up: ["A", "B"], down: ["C", "D"], }; const semitones = { normal: { up: 4, down: 8, }, special: { up: 3, down: 9, }, }; function DiminishedThird(note, direction = "up") { return { name: getName(note, direction, semitones, specialcases), alteration: getAlterationForDiminishedInterval(note, direction, specialcases), octave: getNoteOctave(note, notesThatMakeOctaveChange[direction], direction), }; } function MinorThird(note, direction = "up") { return { name: getName(note, direction, semitones, specialcases), alteration: getAlterationForMinorInterval(note, direction, specialcases), octave: getNoteOctave(note, notesThatMakeOctaveChange[direction], direction), }; } function MajorThird(note, direction = "up") { return { name: getName(note, direction, semitones, specialcases), alteration: getAlterationForMajorInterval(note, direction, specialcases), octave: getNoteOctave(note, notesThatMakeOctaveChange[direction], direction), }; } function AugmentedThird(note, direction = "up") { return { name: getName(note, direction, semitones, specialcases), alteration: getAlterationForAugmentedInterval(note, direction, specialcases), octave: getNoteOctave(note, notesThatMakeOctaveChange[direction], direction), }; } export { DiminishedThird, MinorThird, MajorThird, AugmentedThird }; //# sourceMappingURL=Third.js.map