Live data from Hacker News

Show HN: Generate guitar tablature using a constraint solver

github.com

21–28 of 28 posts

Re: Show HN: Generate guitar tablature using a constraint solver

#21
post #3

Pretty cool. It’s nice that computing the good fingerings takes a while, makes my brain feel less ‘out of a job’ that it can do that nearly real-time. Would be good to see some harmony and how the solver would deal with multiple notes at once. If you’re seriously writing out tabs and need some software, I’ve been using Dorico and it’s pretty damn good. It gives you a medium grade solve and then you hit a few keys to…

I think I understand what you mean. A trained guitar player would not need such a tool, and a beginner should probably avoid using it :). My original idea was to explore how I could rapidly get playable tablatures of jazz solos from available sheet music that I still cannot read fluently. > It’s nice that computing the good fingerings takes a while Actually, a few tweaks and the use of optimization options allowed to…

Check out Soundslice (https://www.soundslice.com/) for an excellent tab and notation editor. It’s web-based and hence works well on Linux.

Re: Show HN: Generate guitar tablature using a constraint solver

#22
A story. Many years ago, my guitar teacher set me a challenge to learn the guitar solo to “Time” by Pink Floyd. At one point, he pointed out that what I was playing was much more easily played with a more efficient fingering. I responded by saying “But that’s not the fingering he’s using, take another listen.”

Which is to say: this sounds fun, but the expressivity of a guitar is rarely captured by a MIDI file, which makes it hard to get this “right”.

Re: Show HN: Generate guitar tablature using a constraint solver

#23
post #14

Earlier quoted context omitted.

How did you learn this. Math undergrad? Comp sci? Something else?

You would definitely cover some graph and dynamic programming algorithms in a good introductory algorithms course.

This is one of the only huge benefits of formal CS education — those basic algorithm and discrete math courses make some problems trivial.

Re: Show HN: Generate guitar tablature using a constraint solver

#24

If you’re looking for a more practical algorithm: this problem can be formulated as a shortest path problem on the graph whose vertices are (n, fret, finger, string) tuples. A simple dynamic programming solution is to fill out a distance table whose entry distance[n, fret, finger, string] is the optimal cost of the prefix of the melody ending at note n, which can be computed as 0 if n = 1, or in terms of the entries…

How did you learn this. Math undergrad? Comp sci? Something else?

This example is directly mentioned in MIT Introduction to Algorithms, I would recommend it - https://ocw.mit.edu/courses/electrical-engineering-and-compu...

Re: Show HN: Generate guitar tablature using a constraint solver

#25
post #22

A story. Many years ago, my guitar teacher set me a challenge to learn the guitar solo to “Time” by Pink Floyd. At one point, he pointed out that what I was playing was much more easily played with a more efficient fingering. I responded by saying “But that’s not the fingering he’s using, take another listen.” Which is to say: this sounds fun, but the expressivity of a guitar is rarely captured by a MIDI file, which…

Yeah, I've seen a lot of bickering over what the "correct" fingering is for some songs that produce the same notes. For example, the repeated two-note riff at 0:17 in Nirvana - Smells Like Teen Spirit [0]. In the top tab for it on UG [1], it's tabbed as:

    E---1
    B-1--
    G----
    D----
    A----
    E----
But there are TONS of people in the comments saying it should be:

    E----
    B---6
    G-5--
    D----
    A----
    E----
Both are going to play C F, but there's so much fighting over which one is correct, and while I know due to the different thickness of the strings, there's going to be a very subtle difference between them, but I bet most untrained ears won't be able to tell, especially without having the two of them played back-to-back.

As a guitar noob, I know I'd be more inclined to play the 1-1 version over the 5-6 version. It's going to be a lot easier to finger.

[0] https://youtu.be/hTWKbfoikeg?t=17

[1] https://tabs.ultimate-guitar.com/tab/nirvana/smells-like-tee...

Re: Show HN: Generate guitar tablature using a constraint solver

#26

If you’re looking for a more practical algorithm: this problem can be formulated as a shortest path problem on the graph whose vertices are (n, fret, finger, string) tuples. A simple dynamic programming solution is to fill out a distance table whose entry distance[n, fret, finger, string] is the optimal cost of the prefix of the melody ending at note n, which can be computed as 0 if n = 1, or in terms of the entries…

How did you learn this. Math undergrad? Comp sci? Something else?

Check out Coursera's algorithms specialization: https://www.coursera.org/specializations/algorithms

Re: Show HN: Generate guitar tablature using a constraint solver

#27
post #22

A story. Many years ago, my guitar teacher set me a challenge to learn the guitar solo to “Time” by Pink Floyd. At one point, he pointed out that what I was playing was much more easily played with a more efficient fingering. I responded by saying “But that’s not the fingering he’s using, take another listen.” Which is to say: this sounds fun, but the expressivity of a guitar is rarely captured by a MIDI file, which…

Yeah, I've seen a lot of bickering over what the "correct" fingering is for some songs that produce the same notes. For example, the repeated two-note riff at 0:17 in Nirvana - Smells Like Teen Spirit [0]. In the top tab for it on UG [1], it's tabbed as: E---1 B-1-- G---- D---- A---- E---- But there are TONS of people in the comments saying it should be: E---- B---6 G-5-- D---- A---- E---- Both are going to play C F,…

In my case, it was a lot easier to work out, since you needed to accommodate note-sliding. But there’s a lot the difference in strings as well.

I suspect an experienced guitarist would probably opt for 56, though for the exact same reason: it fits your hand shape. Sometimes what’s easy changes with experience. :)

Re: Show HN: Generate guitar tablature using a constraint solver

#28
post #27

Earlier quoted context omitted.

Yeah, I've seen a lot of bickering over what the "correct" fingering is for some songs that produce the same notes. For example, the repeated two-note riff at 0:17 in Nirvana - Smells Like Teen Spirit [0]. In the top tab for it on UG [1], it's tabbed as: E---1 B-1-- G---- D---- A---- E---- But there are TONS of people in the comments saying it should be: E---- B---6 G-5-- D---- A---- E---- Both are going to play C F,…

In my case, it was a lot easier to work out, since you needed to accommodate note-sliding. But there’s a lot the difference in strings as well. I suspect an experienced guitarist would probably opt for 56, though for the exact same reason: it fits your hand shape. Sometimes what’s easy changes with experience. :)

I'm not experienced, and I'd go with the 11 because I can do it with just one finger.

I need to play more Rocksmith. I want to know how to play, but learning just feels so tedious.

Post reply on HN