Socket
Socket
Sign inDemoInstall

harmonics

Package Overview
Dependencies
0
Maintainers
1
Versions
10
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 1.0.7 to 1.0.8

3

main.js

@@ -1,1 +0,2 @@

(()=>{"use strict";var n={413:n=>{n.exports=JSON.parse('{"5th":"100000010000","M7#5sus4":"100001001001","7#5sus4":"100001001010","sus4":"100001010000","M7sus4":"100001010001","7sus4":"100001010010","7no5":"100010000010","aug":"100010001000","M7b6":"100010001001","maj7#5":"100010001001","7#5":"100010001010","7b13":"100010001010","M":"100010010000","maj7":"100010010001","7th":"100010010010","6th":"100010010100","7add6":"100010010110","7b6":"100010011010","Mb5":"100010100000","M7b5":"100010100001","7b5":"100010100010","maj#4":"100010110001","7#11":"100010110010","M6#11":"100010110100","7#11b13":"100010111010","m#5":"100100001000","mb6M7":"100100001001","m7#5":"100100001010","m":"100100010000","m/ma7":"100100010001","m7":"100100010010","m6":"100100010100","mMaj7b6":"100100011001","dim":"100100100000","oM7":"100100100001","m7b5":"100100100010","dim7":"100100100100","o7M7":"100100100101","4th":"100101000010","madd4":"100101010000","m7add11":"100101010010","+add#9":"100110001000","7#5#9":"100110001010","7#9":"100110010010","13#9":"100110010110","7#9b13":"100110011010","maj7#9#11":"100110110001","7#9#11":"100110110010","13#9#11":"100110110110","7#9#11b13":"100110111010","sus2":"101000010000","M9#5sus4":"101001001001","sus24":"101001010000","M9sus4":"101001010001","11th":"101001010010","9sus4":"101001010010","13sus4":"101001010110","9no5":"101010000010","13no5":"101010000110","M#5add9":"101010001000","maj9#5":"101010001001","9#5":"101010001010","9b13":"101010001010","Madd9":"101010010000","maj9":"101010010001","9th":"101010010010","6/9":"101010010100","maj13":"101010010101","M7add13":"101010010101","13th":"101010010110","M9b5":"101010100001","9b5":"101010100010","13b5":"101010100110","9#5#11":"101010101010","maj9#11":"101010110001","9#11":"101010110010","69#11":"101010110100","M13#11":"101010110101","13#11":"101010110110","9#11b13":"101010111010","m9#5":"101100001010","madd9":"101100010000","mM9":"101100010001","m9":"101100010010","m69":"101100010100","m13":"101100010110","mMaj9b6":"101100011001","m9b5":"101100100010","m11A":"101101001010","m11":"101101010010","b9sus":"110001010010","11b9":"110001010010","7sus4b9b13":"110001011010","alt7":"110010000010","7#5b9":"110010001010","Maddb9":"110010010000","M7b9":"110010010001","7b9":"110010010010","13b9":"110010010110","7b9b13":"110010011010","7#5b9#11":"110010101010","7b9#11":"110010110010","13b9#11":"110010110110","7b9b13#11":"110010111010","mb6b9":"110100001000","7b9#9":"110110010010"}')},722:n=>{n.exports=JSON.parse('{"major pentatonic":"101010010100","ionian pentatonic":"100011010001","mixolydian pentatonic":"100011010010","ritusen":"101001010100","egyptian":"101001010010","neopolitan major pentatonic":"100011100010","vietnamese 1":"100101011000","pelog":"110100011000","kumoijoshi":"110001011000","hirajoshi":"101100011000","iwato":"110001100010","in-sen":"110001010010","lydian pentatonic":"100010110001","malkos raga":"100101001010","locrian pentatonic":"100101100010","minor pentatonic":"100101010010","minor six pentatonic":"100101010100","flat three pentatonic":"101100010100","flat six pentatonic":"101010011000","scriabin":"110010010100","whole tone pentatonic":"100010101010","lydian #5P pentatonic":"100010101001","lydian dominant pentatonic":"100010110010","minor #7M pentatonic":"100101010001","super locrian pentatonic":"100110100010","minor hexatonic":"101101010001","augmented":"100110011001","major blues":"101110010100","piongio":"101001010110","prometheus neopolitan":"110010100110","prometheus":"101010100110","mystery #1":"110010101010","six tone symmetric":"110011001100","whole tone":"101010101010","messiaen\'s mode #5":"110001110001","minor blues":"100101110010","locrian major":"101011101010","double harmonic lydian":"110010111001","harmonic minor":"101101011001","altered":"110110101010","locrian #2":"101101101010","mixolydian b6":"101011011010","lydian dominant":"101010110110","lydian":"101010110101","lydian augmented":"101010101101","dorian b2":"110101010110","melodic minor":"101101010101","locrian":"110101101010","ultralocrian":"110110101100","locrian 6":"110101100110","augmented heptatonic":"100111011001","romanian minor":"101100110110","dorian #4":"101100110110","lydian diminished":"101100110101","phrygian":"110101011010","leading whole tone":"101010101011","lydian minor":"101010111010","phrygian dominant":"110011011010","balinese":"110101011001","neopolitan major":"110101010101","aeolian":"101101011010","harmonic major":"101011011001","double harmonic major":"110011011001","dorian":"101101010110","hungarian minor":"101100111001","hungarian major":"100110110110","oriental":"110011100110","flamenco":"110110110010","todi raga":"110100111001","mixolydian":"101011010110","persian":"110011101001","major":"101011010101","enigmatic":"110010101011","major augmented":"101011001101","lydian #9":"100110110101","messiaen\'s mode #4":"111001111001","purvi raga":"110011111001","spanish heptatonic":"110111011010","bebop":"101011010111","bebop minor":"101111010110","bebop major":"101011011101","bebop locrian":"110101111010","minor bebop":"101101011011","diminished":"101101101101","ichikosucho":"101011110101","minor six diminished":"101101011101","half-whole diminished":"110110110110","kafi raga":"100111010111","messiaen\'s mode #6":"101011101011","composite blues":"101111110110","messiaen\'s mode #3":"101110111011","messiaen\'s mode #7":"111101111101","chromatic":"111111111111","ionian":"101011010101","minor":"101101011010"}')}},e={};function o(a){var i=e[a];if(void 0!==i)return i.exports;var t=e[a]={exports:{}};return n[a](t,t.exports,o),t.exports}o.d=(n,e)=>{for(var a in e)o.o(e,a)&&!o.o(n,a)&&Object.defineProperty(n,a,{enumerable:!0,get:e[a]})},o.o=(n,e)=>Object.prototype.hasOwnProperty.call(n,e),o.r=n=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(n,"__esModule",{value:!0})};var a={};(()=>{o.r(a),o.d(a,{chord:()=>m,chords:()=>r,inlineChord:()=>t,scale:()=>c,scales:()=>s});var n=o(722),e=o(413),i=function(o){var a=o.scale,i=o.chord,t=a||i,r=a?"scale":"chord";if("string"!=typeof t)throw"".concat(t," is not a valid input for ").concat(r);var s=t.indexOf(" "),m=t.slice(s+1),c=t.slice(0,s),d=c.replace(/\d/g,""),l=+c.replace(/\D/g,"");if(isNaN(l))throw"".concat(c[0]," does not have a valid octave");if(!n[m]&&!e[m])throw"".concat(t," is not a valid ").concat(r);for(var b=function(n,e){var o=["C","Db","D","Eb","E","F","Gb","G","Ab","A","Bb","B"].map((function(n){return n+e})),a=["C","Db","D","Eb","E","F","Gb","G","Ab","A","Bb","B"].map((function(n){return n+(e+1)})),i=o.concat(a);return i.slice(i.indexOf(n+e))}(d,l),u=[],p=0,h=0,f=a?n:e;p<f[m].length;)"1"===f[m][p]&&u.push(b[h]),p++,h++;return u},t=function(n){var e,o,a="b9sus",t=4;return n.includes(a)?(o=a,e=n.slice(0,n.indexOf(a))):(e=n[0],o=n.slice(1),"b"!==n[1]&&"#"!==n[1]||(e+=n[1],o=n.slice(2))),n.includes("_")&&(t=+n.split("_")[1],o=o.slice(0,o.indexOf("_"))),i({chord:e+t+" "+o})},r=function(){return Object.keys(e)},s=function(){return Object.keys(n)},m=function(n){return i({chord:n})},c=function(n){return i({scale:n})}})();var i=exports;for(var t in a)i[t]=a[t];a.__esModule&&Object.defineProperty(i,"__esModule",{value:!0})})();
(()=>{"use strict";var n={413:n=>{n.exports=JSON.parse('{"5th":"100000010000","M7#5sus4":"100001001001","7#5sus4":"100001001010","sus4":"100001010000","M7sus4":"100001010001","7sus4":"100001010010","7no5":"100010000010","aug":"100010001000","M7b6":"100010001001","maj7#5":"100010001001","7#5":"100010001010","7b13":"100010001010","M":"100010010000","maj7":"100010010001","7th":"100010010010","6th":"100010010100","7add6":"100010010110","7b6":"100010011010","Mb5":"100010100000","M7b5":"100010100001","7b5":"100010100010","maj#4":"100010110001","7#11":"100010110010","M6#11":"100010110100","7#11b13":"100010111010","m#5":"100100001000","mb6M7":"100100001001","m7#5":"100100001010","m":"100100010000","m/ma7":"100100010001","m7":"100100010010","m6":"100100010100","mMaj7b6":"100100011001","dim":"100100100000","oM7":"100100100001","m7b5":"100100100010","dim7":"100100100100","o7M7":"100100100101","4th":"100101000010","madd4":"100101010000","m7add11":"100101010010","+add#9":"100110001000","7#5#9":"100110001010","7#9":"100110010010","13#9":"100110010110","7#9b13":"100110011010","maj7#9#11":"100110110001","7#9#11":"100110110010","13#9#11":"100110110110","7#9#11b13":"100110111010","sus2":"101000010000","M9#5sus4":"101001001001","sus24":"101001010000","M9sus4":"101001010001","11th":"101001010010","9sus4":"101001010010","13sus4":"101001010110","9no5":"101010000010","13no5":"101010000110","M#5add9":"101010001000","maj9#5":"101010001001","9#5":"101010001010","9b13":"101010001010","Madd9":"101010010000","maj9":"101010010001","9th":"101010010010","6/9":"101010010100","maj13":"101010010101","M7add13":"101010010101","13th":"101010010110","M9b5":"101010100001","9b5":"101010100010","13b5":"101010100110","9#5#11":"101010101010","maj9#11":"101010110001","9#11":"101010110010","69#11":"101010110100","M13#11":"101010110101","13#11":"101010110110","9#11b13":"101010111010","m9#5":"101100001010","madd9":"101100010000","mM9":"101100010001","m9":"101100010010","m69":"101100010100","m13":"101100010110","mMaj9b6":"101100011001","m9b5":"101100100010","m11A":"101101001010","m11":"101101010010","b9sus":"110001010010","11b9":"110001010010","7sus4b9b13":"110001011010","alt7":"110010000010","7#5b9":"110010001010","Maddb9":"110010010000","M7b9":"110010010001","7b9":"110010010010","13b9":"110010010110","7b9b13":"110010011010","7#5b9#11":"110010101010","7b9#11":"110010110010","13b9#11":"110010110110","7b9b13#11":"110010111010","mb6b9":"110100001000","7b9#9":"110110010010"}')},722:n=>{n.exports=JSON.parse('{"major pentatonic":"101010010100","ionian pentatonic":"100011010001","mixolydian pentatonic":"100011010010","ritusen":"101001010100","egyptian":"101001010010","neopolitan major pentatonic":"100011100010","vietnamese 1":"100101011000","pelog":"110100011000","kumoijoshi":"110001011000","hirajoshi":"101100011000","iwato":"110001100010","in-sen":"110001010010","lydian pentatonic":"100010110001","malkos raga":"100101001010","locrian pentatonic":"100101100010","minor pentatonic":"100101010010","minor six pentatonic":"100101010100","flat three pentatonic":"101100010100","flat six pentatonic":"101010011000","scriabin":"110010010100","whole tone pentatonic":"100010101010","lydian #5P pentatonic":"100010101001","lydian dominant pentatonic":"100010110010","minor #7M pentatonic":"100101010001","super locrian pentatonic":"100110100010","minor hexatonic":"101101010001","augmented":"100110011001","major blues":"101110010100","piongio":"101001010110","prometheus neopolitan":"110010100110","prometheus":"101010100110","mystery #1":"110010101010","six tone symmetric":"110011001100","whole tone":"101010101010","messiaen\'s mode #5":"110001110001","minor blues":"100101110010","locrian major":"101011101010","double harmonic lydian":"110010111001","harmonic minor":"101101011001","altered":"110110101010","locrian #2":"101101101010","mixolydian b6":"101011011010","lydian dominant":"101010110110","lydian":"101010110101","lydian augmented":"101010101101","dorian b2":"110101010110","melodic minor":"101101010101","locrian":"110101101010","ultralocrian":"110110101100","locrian 6":"110101100110","augmented heptatonic":"100111011001","romanian minor":"101100110110","dorian #4":"101100110110","lydian diminished":"101100110101","phrygian":"110101011010","leading whole tone":"101010101011","lydian minor":"101010111010","phrygian dominant":"110011011010","balinese":"110101011001","neopolitan major":"110101010101","aeolian":"101101011010","harmonic major":"101011011001","double harmonic major":"110011011001","dorian":"101101010110","hungarian minor":"101100111001","hungarian major":"100110110110","oriental":"110011100110","flamenco":"110110110010","todi raga":"110100111001","mixolydian":"101011010110","persian":"110011101001","major":"101011010101","enigmatic":"110010101011","major augmented":"101011001101","lydian #9":"100110110101","messiaen\'s mode #4":"111001111001","purvi raga":"110011111001","spanish heptatonic":"110111011010","bebop":"101011010111","bebop minor":"101111010110","bebop major":"101011011101","bebop locrian":"110101111010","minor bebop":"101101011011","diminished":"101101101101","ichikosucho":"101011110101","minor six diminished":"101101011101","half-whole diminished":"110110110110","kafi raga":"100111010111","messiaen\'s mode #6":"101011101011","composite blues":"101111110110","messiaen\'s mode #3":"101110111011","messiaen\'s mode #7":"111101111101","chromatic":"111111111111","ionian":"101011010101","minor":"101101011010"}')}},e={};function o(a){var i=e[a];if(void 0!==i)return i.exports;var r=e[a]={exports:{}};return n[a](r,r.exports,o),r.exports}o.d=(n,e)=>{for(var a in e)o.o(e,a)&&!o.o(n,a)&&Object.defineProperty(n,a,{enumerable:!0,get:e[a]})},o.o=(n,e)=>Object.prototype.hasOwnProperty.call(n,e),o.r=n=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(n,"__esModule",{value:!0})};var a={};(()=>{o.r(a),o.d(a,{chord:()=>m,chords:()=>t,inlineChord:()=>r,scale:()=>c,scales:()=>s});var n=o(722),e=o(413),i=function(o){var a=o.scale,i=o.chord,r=a||i,t=a?"scale":"chord";if("string"!=typeof r)throw new Error("".concat(r," is not a valid input for ").concat(t));var s,m,c=r.indexOf(" ");-1===c?(s=r.slice(1),m=r[0],"b"!==r[1]&&"#"!==r[1]||(s=r.slice(2),m+=r[1])):(s=r.slice(-1===c?1:c+1),m=r.slice(0,c));var d=function(n){return{"C#":"Db","D#":"Eb","F#":"Gb","G#":"Ab","A#":"Bb"}[n.toUpperCase()]||n.charAt(0).toUpperCase()+n.slice(1)}(m.replace(/\d/g,"")),l=""!==m.replace(/\D/g,"")?+m.replace(/\D/g,""):4;if(isNaN(l))throw new Error("".concat(m[0]," does not have a valid octave"));if(!n[s]&&!e[s])throw new Error("".concat(r," is not a valid ").concat(t));for(var b=function(n,e){var o=["C","Db","D","Eb","E","F","Gb","G","Ab","A","Bb","B"],a=o.map((function(n){return n+e})),i=o.map((function(n){return n+(e+1)})),r=a.concat(i);return r.slice(r.indexOf(n+e))}(d,l),u=[],p=0,h=0,f=a?n:e;p<f[s].length;)"1"===f[s][p]&&u.push(b[h]),p++,h++;return u},r=function(n){var e,o,a="b9sus",r=4;return n.includes(a)?(o=a,e=n.slice(0,n.indexOf(a))):(e=n[0],o=n.slice(1),"b"!==n[1]&&"#"!==n[1]||(e+=n[1],o=n.slice(2))),n.includes("_")&&(r=+n.split("_")[1],o=o.slice(0,o.indexOf("_"))),i({chord:e+r+" "+o})},t=function(){return Object.keys(e)},s=function(){return Object.keys(n)},m=function(n){return i({chord:n})},c=function(n){return i({scale:n})}})();var i=exports;for(var r in a)i[r]=a[r];a.__esModule&&Object.defineProperty(i,"__esModule",{value:!0})})();
//# sourceMappingURL=main.js.map
{
"name": "harmonics",
"version": "1.0.7",
"version": "1.0.8",
"description": "Tools and utilities for a generic representation of scales, chords, progressions etc. for use in music software, music related web & mobile apps, VST/VCV plugins and Max for Live devices.",

@@ -9,4 +9,16 @@ "main": "main.js",

"test:watch": "jest --watch",
"build": "webpack"
"build": "webpack --mode=production",
"watch:browser": "webpack --watch --mode=development"
},
"dependencies": {},
"devDependencies": {
"@babel/core": "^7.13.16",
"@babel/preset-env": "^7.13.15",
"@tonaljs/tonal": "^4.6.0",
"babel-jest": "^26.6.3",
"babel-loader": "^8.2.2",
"jest": "^26.6.3",
"webpack": "^5.35.0",
"webpack-cli": "^4.6.0"
},
"repository": {

@@ -17,2 +29,3 @@ "type": "git",

"keywords": [
"javascript",
"music",

@@ -34,16 +47,5 @@ "scales",

"homepage": "https://github.com/scribbletune/harmonics#readme",
"devDependencies": {
"@babel/core": "^7.13.16",
"@babel/preset-env": "^7.13.15",
"@tonaljs/tonal": "^4.6.0",
"babel-jest": "^26.6.3",
"babel-loader": "^8.2.2",
"jest": "^26.6.3",
"webpack": "^5.35.0",
"webpack-cli": "^4.6.0"
},
"publishConfig": {
"registry": "https://registry.npmjs.org/"
},
"dependencies": {}
}
}

@@ -7,3 +7,3 @@ # Harmonics

```
```bash
npm install harmonics

@@ -10,0 +10,0 @@ ```

const scaleMaps = require('../gen/scaleMaps.json');
const chordMaps = require('../gen/chordMaps.json');
const DEFAULT_OCTAVE = 4;
const sharpToFlat = (root) => {
// Also capitalize 1st letter
const o = {

@@ -12,7 +15,7 @@ 'C#': 'Db',

};
return o[root] ? o[root] : root;
return o[root.toUpperCase()] || (root.charAt(0).toUpperCase() + root.slice(1));
};
const getChromatic = (root, octave) => {
const o1 = [
const o = [
'C',

@@ -30,17 +33,5 @@ 'Db',

'B',
].map((n) => n + octave);
const o2 = [
'C',
'Db',
'D',
'Eb',
'E',
'F',
'Gb',
'G',
'Ab',
'A',
'Bb',
'B',
].map((n) => n + (octave + 1));
];
const o1 = o.map((n) => n + octave);
const o2 = o.map((n) => n + (octave + 1));

@@ -55,16 +46,29 @@ const c = o1.concat(o2);

if (typeof rootOctaveScale !== 'string') {
throw `${rootOctaveScale} is not a valid input for ${SCALE_OR_CHORD}`;
throw new Error(`${rootOctaveScale} is not a valid input for ${SCALE_OR_CHORD}`);
}
const indexOfFirstSpace = rootOctaveScale.indexOf(' ');
const scaleOrChord = rootOctaveScale.slice(indexOfFirstSpace + 1);
const rootOctave = rootOctaveScale.slice(0, indexOfFirstSpace);
const root = sharpToFlat(rootOctave.replace(/\d/g, '').toUpperCase());
const octave = +rootOctave.replace(/\D/g, '');
let scaleOrChord;
let rootOctave;
if (indexOfFirstSpace === -1) {
scaleOrChord = rootOctaveScale.slice(1);
rootOctave = rootOctaveScale[0];
if (rootOctaveScale[1] === 'b' || rootOctaveScale[1] === '#') {
scaleOrChord = rootOctaveScale.slice(2);
rootOctave += rootOctaveScale[1];
}
} else {
scaleOrChord = rootOctaveScale.slice( (indexOfFirstSpace === -1) ? 1 : (indexOfFirstSpace + 1) );
rootOctave = rootOctaveScale.slice(0, indexOfFirstSpace);
}
const root = sharpToFlat(rootOctave.replace(/\d/g, ''));
const octaveNumber = rootOctave.replace(/\D/g, '');
const octave = octaveNumber !== '' ? +rootOctave.replace(/\D/g, '') : DEFAULT_OCTAVE;
if (isNaN(octave)) {
throw `${rootOctave[0]} does not have a valid octave`;
throw new Error(`${rootOctave[0]} does not have a valid octave`);
}
if (!scaleMaps[scaleOrChord] && !chordMaps[scaleOrChord]) {
throw `${rootOctaveScale} is not a valid ${SCALE_OR_CHORD}`;
throw new Error(`${rootOctaveScale} is not a valid ${SCALE_OR_CHORD}`);
}

@@ -102,3 +106,3 @@ const chroma = getChromatic(root, octave);

chord,
octave = 4;
octave = DEFAULT_OCTAVE;
if (rootChord_Oct.includes(B9SUS)) {

@@ -105,0 +109,0 @@ chord = B9SUS;

@@ -115,4 +115,10 @@ const scalesAndChords = require('./scalesAndChords');

]);
expect(scalesAndChords.chord('Db6 M')).toStrictEqual(['Db6', 'F6', 'Ab6']);
expect(scalesAndChords.chord('Ab m')).toStrictEqual(['Ab4', 'B4', 'Eb5']); // DEFAULT_CORD
});
test('returns the notes of a chord with inline notation if available', () => {
expect(scalesAndChords.chord('C#M')).toStrictEqual(['Db4', 'F4', 'Ab4']); // DEFAULT_CORD
});
test('returns the notes for an inline chord if available', () => {

@@ -119,0 +125,0 @@ expect(scalesAndChords.inlineChord('CM')).toStrictEqual(['C4', 'E4', 'G4']);

@@ -8,2 +8,5 @@ module.exports = {

},
devtool: 'source-map',
module: {

@@ -10,0 +13,0 @@ rules: [

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc