fholger / RocksmithToTab

Exports Rocksmith 2014 songs to Guitar Pro tabs
http://www.rocksmithtotab.de
BSD 2-Clause "Simplified" License
211 stars 36 forks source link

Options for handling duration of unsustained notes #23

Open ghost opened 10 years ago

ghost commented 10 years ago

Could there be an option for handling unsustained notes in a way other than holding them until the next note or measure? An example would be to represent all unsustained notes as 8th or 16th notes, possibly with staccato markings in order to distinguish them from sustained notes.

fholger commented 10 years ago

Theoretically, yes, but it's a bit tricky. What happens if the note value is shorter than 8th or 16th? What if the underlying rhythm is actually a triplet rhythm (which I can't reasonably know)? It would be easier to keep the current rhythm and just mark the notes as staccato.

How many arrangements are there where this handling would actually produce superior results to the current default? From what I've seen making the notes short would sound very weird in most songs.

ghost commented 10 years ago

I thought this through some more and came up with a different way it could be implemented: set an upper limit for the duration of unsustained notes, which can be set by the user. The rule that a note ends if a new note appears or if the measure ends still applies, so that should handle cases when the note values are shorter than this upper limit.

I would also be satisfied with just marking all unsustained notes as staccato, although I think that having a user-defined default maximum note value makes for more readable tabs. Ideally both of these things could be options. I am interested in using RocksmithToTab to view the parts and learn to play them, so for me having the tabs be an accurate visual representation is more important than having them sound good when played back. However, I also think it sounds odd when notes ring out for longer than they are supposed to, particularly for bass parts.

Your concern about triplet rhythms is valid. Perhaps there could be a separate rule/option preventing unsustained notes from crossing beat boundaries? Basically you would modify the existing rule that notes end when the measure ends so that they instead end with the next beat.

fholger commented 10 years ago

I'll think about it, but I can't promise you anything. Unfortunately, my time at the moment is very limited, and this is not a simple change.

Either way, though, the produced tabs can and will never be 100% correct on the rhythm. That's just a consequence of Rocksmith not having any concept of a pause. Sustained notes are fine, but unfortunately, unsustained notes can mean anything. The current default works reasonably for most parts of most arrangements, so please understand if I can't give this my highest priority right now :)