Alphatab Does Not Accurately Reproduce GT8’s "Transpose C to D" Feature, Causing Notation Issues #2218
Replies: 1 comment 1 reply
-
I agree that something is not right in the area of transpose. But your solution proposal is not quite correct: Changing the tonality of the track, leads to a change of the key signature which has further impact on the placement of notes. Can you please file a bug (following the template) that the "C played as" option in Guitar Pro is not correctly respected? We should rather add proper support for this option than hard coding something assuming "it does not add value in practical use". If it is set, it should be respected accordingly, the tab author set it on purpose. As far I can see with fiddling in Guitar Pro the setting only influences the Key Signature of the track to be adjusted. It has some weird impact on how Guitar Pro behaves when combining custom key signatures with the transpose setting. But it should be possible to reproduce the exact Guitar Pro behaviour. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
I would like to report a possible bug or at least an inconsistency I observed in the file GpifParser.ts.
Currently, the relevant part of the code looks like this:
private parseTranspose(track: Track, node: XmlNode): void { let octave: number = 0; let chromatic: number = 0; for (const c of node.childElements()) { switch (c.localName) { case 'Chromatic': chromatic = GpifParser.parseIntSafe(c.innerText, 0); break; case 'Octave': octave = GpifParser.parseIntSafe(c.innerText, 0); break; } } for (const staff of track.staves) { staff.displayTranspositionPitch = octave * 12 + chromatic; } }
I would suggest directly setting chromatic = 0; instead of reading and parsing the chromatic value:
chromatic = 0;
Reason:
In my opinion, the feature in GT8 to transpose a C major part to other keys does not add much value in practical use. More importantly, after alphatab reads this setting, it does not fully replicate the display style from the GT8 software—instead, it leads to a much more confusing and less clear representation.
To ensure better compatibility and a simpler user experience, I recommend hardcoding chromatic = 0; here.
img:
gp file:
test.zip
Beta Was this translation helpful? Give feedback.
All reactions