7 comments

  • ycombiredd 5 hours ago
    OP here. I need to update the readme, but running it with --help will show you all of the alternate tunings and such. The mapper algorithm is nearly 100% tunable.

    As I said, I'll put this info in the README, but last night I made a medium post that shows some of this (--bass, etc).

    https://medium.com/@scott.vr/about-seven-months-ago-via-hack...

  • omoikane 1 day ago
    If I read it correctly, the mapper will score fingering based on how many frets the hand needs to stretch:

    https://github.com/scottvr/gtrsnipe/blob/4cae149e1dac766c3c3...

    But this doesn't seem to account for other shape concerns. The bit I am most interested in is whether this mapper can avoid barre chords where possible.

    Related, I think there should also be an option to take capo into account.

    • ycombiredd 5 hours ago
      There's quite a bit more involved in the scoring, such as string hopping, runs on the same string, etc. I invite you to run --help and look at the mapper config tunables. Ideas for improvement are welcome.
  • robbomacrae 1 day ago
    Nice! This reminds me of my PhD research! I built some similar tools to go the other way (for comparing similarity with scores) but probably nowhere near as reliable as this. QQ How do you handle repeat segments? I remember having to extrapolate the x2's etc but in your you could detect patterns and do the reverse for compactness.
    • ycombiredd 5 hours ago
      Thanks! TBH I hadn't thought about handling repeating segments yet - in either direction. Because the tab-to-midi direction is mostly a novelty I haven't done much of it except with tabs generated by gtrsnipe, and since it doesn't handle repeats specially, I haven't had to parse any "x2" type notation, but now that you mention it I should. Thanks again.
  • jmkr 1 day ago
    Awesome OP. I'll give it a shot because I've been considering doing something similar for chord charts. Glad to see abc notation support.
  • jarmitage 1 day ago
    Hi @ycombiredd, could this be used to turn MIDI into http://strudel.cc mini-notation?

    Previous effort: https://github.com/TylerMclaughlin/midi_to_tidalcycles

    • ycombiredd 5 hours ago
      I hadn't heard of Strudel before but I'll look into it. Thanks!
  • nartho 1 day ago
    Looks interesting, too bad it's limited to 6 strings and 3 tunings, that excludes a lot of music
    • ycombiredd 5 hours ago
      I probably need to update the documentation. Since I posted I've added many alternate tunings and it supports from four to seven strings. I'm still improving it. Thanks for checking it out.
  • westurner 1 day ago
    I looked for similar tools;

    Looks like tayuya is also written in Python, on mido and music21. It has a "get all notes to play" feature, mentions LilyPond tab output as a todo, and has a get_key(midi) method built on music21: https://github.com/vipul-sharma20/tayuya#get-all-notes-to-pl...

    tayuya.tabs:note_nearest_to_fret: https://github.com/vipul-sharma20/tayuya/blob/master/tayuya/...

    Kord has a fretboard visualizer tool: https://github.com/synestematic/kord#fretboard-tool

    Textual is another way to create CLIs for Python scripts.

    What about tab playback and CLI-based scrubbing?

    There was a post a week or so ago about an LWN article about spotify/pedalboard, which is written in Python and built on JUCE (C++) and supports VST3 and LV2 plugins like a MIDI player or a wavetable synth and a Guitarix effects rack: https://news.ycombinator.com/item?id=44604024#44648290