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