Hi Andrei,

Determining note duration is a common issue with text-based tabs, and in
most cases it is left to the performer to infer note durations from recorded
audio of the songs being tabbed.

That said, for the purposes of conversion, I think there is one good way to
get a best approximation of note duration. In many cases, information can be
gleaned about the duration of notes relative to one another from their
spacing within a measure. Text tabs use '-' for spacing, and generally the
insertion of more than one dashe between subsequent notes indicates longer
duration for the first note. For any given measure, determining duration
should be a matter of counting the number of notes and dashes contained
within that measure, and then using the spacing between notes to determine
their relative durations. An initial guess will have to be computed for the
duration represented by the standard single dash spacing, and this could be
done by dividing the measure count by the total number of notes within the
measure. An assumption will also have to be made about the key signature,
and in most case I believe 4:4 would be appropriate.

I'll illustrate what I'm talking about with an example tab. The below tab is
from Stairway to Heaven by Led Zeppelin.



In the first two measures, the spacing is the same between each note.
Therefore, I would just assume the measure length to be 4 beats, and then
divide by the total number of notes in the measure (8) to arrive at the
conclusion that each note should be rendered in MuseScore as an eighth note.
This is actually the correct representation of the notes within those
measures. 

In measure 3, you can see that three dashes separate the second 1 on the
second string, and the second 0 on the first string. In this case, there are
two more dashes than normal, so the program would assume that the duration
of the 1 should be twice that of the duration of the zero. (If there was one
extra dash, it would be one and a half times the duration, i.e. a dotted
note) Since the standard note for the measure is an eighth note the 1 would
be converted into a quarter note, and the total duration for the measure
would still be correct.

I should note that this process is definitely reliant on the person
providing the tab to articulate the correct relative spacings, but I think
it's the best that can be done given the source format. If there were any
miscalculated durations, it would be up to the user to go in and fix them
manually once the notation was generated.

I should also mention that this process is much easier in reverse, i.e. for
the purposes of exporting, as the durations would already be keyed into
MuseScore and the program could easily calculate the corrective relative
spacings between notes to provide in the outputted text tab.

If I did put this forward as my official proposal, I'd make the algorithm
explicit and create examples of text tabs and the desired outputs in
MuseScore for further illustration. I hope this makes the general idea of
the process clear though.



--
View this message in context: 
http://dev-list.musescore.org/GSOC-Project-Ideas-tp7579623p7579625.html
Sent from the MuseScore Developer mailing list archive at Nabble.com.

------------------------------------------------------------------------------
_______________________________________________
Mscore-developer mailing list
Mscore-developer@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mscore-developer

Reply via email to