davidpots / fretmonster

In progress! Web-based guitar scales & other fretboard fun.
davidpots.com/fretmonster
28 stars 3 forks source link

Changing the tuning #4

Closed nidhhoggr closed 4 years ago

nidhhoggr commented 4 years ago

Very cool project. I am interested in getting this working with different fiddle tunings. I want to start with troll tuning or AEAC#. This seems possible using the string diff system you have implemented. This system however seems to be a tad cryptic. Do you think it's possible to add an instrument with this tuning? If I was asking for too much I'd ask to have the ability to interactively change the notes of each string on the selected instrument but for now I'd like to simple add a four stringed instrument with AEAC#. If you think this is possible please provide recommendations or pointers and that would be greatly appreciated.

nidhhoggr commented 4 years ago

I think i figured it out. The fiddle with troll tuning takes the following configuration:

  "trollfiddle": {
    "name": "trollfiddle",
    "numStrings": 4,
    "fretsToLabel": [1, 3, 5, 7, 10, 12, 15],
    "stringLabels": ["C#", "A", "E", "A"],
    "stringDiff": {
      1: 3, // C# string
      2: 7, // A string
      3: 0, // E string
      4: 7 // A string
    }
  },
nidhhoggr commented 4 years ago

I forked and made various changes, understand if you're not willing to merge but it will serve as a reference:

Here is an example of a fiddle tunings file. I've also included a legend at the top to calculate the string diff for each note. https://github.com/nidhhoggr/fretmonster/blob/develop/javascript/instruments.fiddletunings.js

davidpots commented 4 years ago

hi Joseph, thanks for doing this! I'm not going to merge at the moment only b/c I'm way out of touch w/ that code base (and otheriwse quite busy), but I'll obviously keep this around for when I eventually get back up to speed with things. Hope what i made helps to start with, and likewise best of luck forking + making improvements!

On Sun, Feb 23, 2020 at 8:46 PM Joseph M. Persie notifications@github.com wrote:

I forked and made various changes, understand if you're not willing to merge but it will serve as a reference:

  • remove the meta redirect as it breaks development
  • move Rakefile to npm (more appropriate for clientside deps)
  • externalize jquery dependency
  • whitespace format javascript and html files
  • remove unused html and sass cache folder
  • refactor instrument stringDiff prop to be an array instead of an object
  • add ability to dynamically populate instruments from instruments file
  • seperate instruments variable into seperate file (included with symlink)
  • move all development notes to readme file

Here is an example of a fiddle tunings file. I've also included a legend at the top to calculate the string diff for each note.

https://github.com/nidhhoggr/fretmonster/blob/develop/javascript/instruments.fiddletunings.js

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/davidpots/fretmonster/issues/4?email_source=notifications&email_token=AAAHFONA2I2FXHXMXACUAE3REMYJXA5CNFSM4KZ7DOA2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEMWPZFI#issuecomment-590150805, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAAHFONBSVGUTJEZAZXEX3DREMYJXANCNFSM4KZ7DOAQ .

nidhhoggr commented 4 years ago

It helps. At some point if I'm bored enough I'll make it a tad more interactive by changing the string notes interactively, adding removing strings and dynamically calculating the string diff based on the note. In the event you do accept pull requests I'd be willing to contribute. In any case this issue can be closed.