danigb

Results 119 comments of danigb

This is now possible: ```js [4, 5, 6, 7].map(Chord.degrees("G2add9")) // => [ 'A3', 'G3', 'B3', 'D4' ] [4, 6, 7, 5].map(Chord.degrees("G2add9")) // => [ 'A3', 'B3', 'D4', 'G3' ] ```...

Thanks for the code @alindsay55661 I've (finally!) implemented `Scale.detect`. Is like yours, but it returns the scale name with tonic and accept some options. See https://github.com/tonaljs/tonal/tree/main/packages/scale#scaledetectnotes-string-options--tonic-string-match-fit--exact---string ```js Scale.detect(["Ab", "Bb", "C",...

Hi, This seems to be a midi-jar, not a tonal issue. Tonal returns `Am/E` and `DM/A` for the examples you mention. Also, choosing what to show first is a tricky...

I've implemented a function based on yours: ```js const nearest = Midi.pcsetNearest(Scale.get("D dorian").chroma); [60, 61, 62, 63, 64, 65, 66].map(nearest); // => [60, 62, 62, 63, 65, 65, 67] ```...

Interesting... I'll investigate the issue. Thanks a lot for reporting! 🙏

Hi! Very happy to see the modulorado marged into master, great! Good work (y) I see a problem with `Note = require('teoria').Note`. The problem is that `require('teoria')` will load all...

After working with your code for a couple of days, thats what I imagine: I would start with three submodules (you're good naming modules ;-): - A `vector`: just the...

Ajá... I see... you mean something like... ? ``` js var solfege = require('solfege'); solfege(note, scale, true) => ... ```

When I was thinking about teoria refactoring, the idea of a "pitch" module always come to me. Something that integrates interval with the minimun core of note: ``` js var...

A cascade of calculations over the two-element array sounds very nice to me!