musescore / MuseScore

MuseScore is an open source and free music notation software. For support, contribution, bug reports, visit MuseScore.org. Fork and make pull requests!
https://musescore.org
Other
12.29k stars 2.66k forks source link

Guitar TAB and physical capo setting #19860

Open Kaateeband opened 1 year ago

Kaateeband commented 1 year ago

Issue type

Other type of issue

Bug description

Musescore imports .gp files with a capo - setting correctly but changes fingering (the TAB information) when generating the . mscz - file.

Steps to reproduce

  1. I import a (simple) guitar tab from Guitar Pro (a .gp file). The tab has been written - let us say with a capo applied at fret 2. The guitar pro tab displays the fingering with respect to capo 2 - that's what guitarists expect. E.g. a C chord with capo applied at fret 2 "sounds" like a D chord but has a completely different fingering as compared with a standard D chord.
  2. Import from .gp file goes well. Musescore displays the same fingering as Guitar pro and as a text line above the staff "capo fret 2" is displayed - just as in Guitar pro.
  3. Now I save the score in .mscz format and close the file.
  4. When re-reading the .mscz file, Musescore has changed the tab: The former C chord at fret 2 now has been changed to a D chord (with no capo at all) - which still sounds well, but that's not the right fingering of the arrangement. It also may happen that musescore generates TAB which is physically impossible to be played by a human hand. With other words: the .mscz file disregards the physical setting of a capo in an imported .gp file and computes a tab - I assume simply from the notes.

Screenshots/Screen recordings

No response

MuseScore Version

4.1.1

Regression

I don't know

Operating system

Windows 10

Additional context

No response

bkunda commented 1 year ago

I think I can see what's happening here.

So when the score is imported from GP, MuseScore currently replaces the capo text with regular stave text, and keeps the tab fingering exactly as it was in GP. This is to preserve the score as it appears in GP.

I agree with you there is a bug in that the tab fingering is then changed when saving to the MuseScore file format. It should keep it exactly as it is from the GP version.

There is a bit of a difference though between how the capo setting works in MuseScore vs. GP. In MuseScore, the standard stave by default shows you the open string equivalent playing position, which is preferable for people accustomed to reading standard notation (I.e. in the below example, it's easier to read a C major chord but hear the transposition to D major when the capo is on fret 2, rather than having to read all the notes as if there were no capo applied).

Screenshot 2023-11-08 at 4 05 26 pm

The way to achieve the same effect in GP seems to be via the stave transposition mechanism.

@abariska @Eism it seems some further optimisation work will be needed for GP import here. Let's discuss.

abariska commented 1 year ago

It's expected thing for now. The new guitar features (capo, tuning and bends) are not yet linked to the GP import code, so the old hacks still work. It definitely will be fixed in near future.

Kaateeband commented 12 months ago

Good Morning and thanks for your help in this matter. I simply wanted to add an example for illustration purposes:

[image: ImportFromGP.PNG]

This shows the Intro to a famous Beatles song played with capo at fret 7. It is more or less a (simple) D chord followed by a (simple) G chord and a (simple) A7 chord. MuseScore import from a .gp file works well and is shown above.

After saving in .mscz format the melody is kept as it is, but the TAB changes dramatically as shown in the next picture.

[image: Intro_HereComesTheSun _MSCZ.PNG]

I dare saying, that this TAB is unplayable by a guitarist.

The use of capos is widespread - at least in popular music - so it would be very helpful if Musescore (indeed a very good software) was capable of handling capos accurately.

Greetings

Am Mi., 8. Nov. 2023 um 16:23 Uhr schrieb Borys Kuzmenko < @.***>:

It's expected thing for now. The new guitar features (capo, tuning and bends) are not yet linked to the GP import code, so the old hacks still work. It definitely will be fixed in near future.

— Reply to this email directly, view it on GitHub https://github.com/musescore/MuseScore/issues/19860#issuecomment-1802112519, or unsubscribe https://github.com/notifications/unsubscribe-auth/BDTCXAKXL5K4AG7ISLNPQIDYDOPXJAVCNFSM6AAAAAA6UYSC3GVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQMBSGEYTENJRHE . You are receiving this because you authored the thread.Message ID: @.***>

ShibuyaCyana commented 11 months ago

In new version (10 Dec nightly), if I create something with capo in GP then import it into MuseScore, they still look the same, but things go wrong when I try to edit it (see #14218):

  1. I want to move it to a lower string, but it moves up instead, and doesn't let me change string anymore.
  2. The string change for this instrument is completely locked, even in a new staff.
  3. with capo 3, in guitar pro system, a 0 on 2nd string is a D; in MuseScore system a B in treble clef also sounds D. But the note is actually still a B - it plays a B, and appears as a B when pasted onto another staff. This corresponds to report from OP. SingleNote

This will make guitarists very confused, especially if he/she only uses tablature. A hidden solution would be creating a new instrument then paste everything into it, later add capo manually, but I'm afraid not many people - especially new user - would find out.

OS: Windows 10 Version 2009 or later, Arch.: x86_64, MuseScore version (64-bit): 4.2.0-233440505, revision: github-musescore-musescore-425c890

tmr232 commented 10 months ago

The difference between what you get after an import & what you get after saving the file is really jarring.

If making it work "correctly" for tab is tricky, maybe as a temporary solution we can have it show the issue as soon as you import? Importing a file, working on it, and then upon loading it finding out that it changed can be very frustrating.