[GP6] better mapping between GP instruments and MuseScore instruments
MuseScore GP6 importer only recognize an handful of instruments. It would be very helpful if someone with GP6 could create a score for each instrument provided by GP6 or one score with most of the instruments so we can map the magic key from GP6 with the magic key from instruments.xml.
See the following link for the currently supported instruments https://github.com/musescore/MuseScore/blob/d474f719b7c520b8e19e2fc62ec…
Comments
First step, here is a list of instruments as they appear in GP6
http://paste.debian.net/396724/
Found with
In the gp6 data dir, SoundBanks
find -name bank.xml -exec fgrep "Instrument ref" {} +
Now we need to map them with instruments.xml key.
Here's the list of standard GP6 sound banks and their internal codes.
2Mrcs Percussions/Maracas-Percu
a-bass4 Bass/Acoustic-Bass
a-bass5 Bass/Acoustic-Bass
a-bass6 Bass/Acoustic-Bass
africaKit Kits/Kit-Africa
agogoKit Kits/Kit-Agogo
agogo Percussions/AgogoHigh-Percu
agogo Percussions/AgogoLow-Percu
alt-c Singers/MetaChoir-Pad
alt-s Singers/Vocal-Pad
a-piano-gs Keyboards/German-APiano
a-piano-ss Keyboards/German-APiano
bass-c Singers/MetaChoir-Pad
bass-flt-c Pipe/Flute-Ensemble
bass-flt-c Pipe/Flute-Solo
bassn Reeds/Bassoon-Ensemble
bassn Reeds/Bassoon-Solo
bass-s Singers/Vocal-Pad
basstuba-bb Brass/BassTuba-Solo
basstuba-eb Brass/BassTuba-Solo
bell-tree Percussions/BellTree-Percu
bgpp Reeds/Bassoon-Solo
bngKit Kits/Kit-Bongo
bnj4 ExoticGuitars/5-Banjo
bnj5 ExoticGuitars/5-Banjo
bnj6 ExoticGuitars/5-Banjo
bongo Percussions/BongoHigh-Percu
bongo Percussions/BongoLow-Percu
brthns Pipe/Recorder-Solo
brtn-c Singers/MetaChoir-Pad
brtn-s Singers/Vocal-Pad
bttlbw Pipe/Recorder-Solo
cbs Percussions/Cabasa-Percu
cello Strings/Cello-Ensemble
cello Strings/Cello-Ensemble-Pizz
cello Strings/Cello-Solo
cello Strings/Cello-Solo-Pizz
china Drums/Master-China
clrnt-a Reeds/Clarinet-Ensemble
clrnt-a Reeds/Clarinet-Solo
clrnt-bb-bass Reeds/BassClarinet-Solo
clrnt-bb-bass Reeds/Clarinet-Ensemble
clrnt-bb-bass Reeds/Clarinet-Solo
clrnt-bb Reeds/Clarinet-Ensemble
clrnt-bb Reeds/Clarinet-Solo
clrnt-c Reeds/Clarinet-Ensemble
clrnt-c Reeds/Clarinet-Solo
clrnt-d Reeds/Clarinet-Ensemble
clrnt-d Reeds/Clarinet-Solo
clrnt-eb Reeds/Clarinet-Ensemble
clrnt-eb Reeds/Clarinet-Solo
clrnt Reeds/BassClarinet-Solo
clst-gs Idiophones/Celesta-Tuned
clst-ss Idiophones/Celesta-Tuned
clvs Percussions/Claves-Percu
cngKit Kits/Kit-Conga
conbon Kits/Kit-Percu
conga Percussions/CongaHigh-Percu
conga Percussions/CongaLow-Percu
cowbell Percussions/CowbellBig-Percu
cowbell Percussions/CowbellMid-Percu
cowbell Percussions/CowbellSmall-Percu
crash Drums/Master-Crash01
crash Drums/Master-Crash02
cstnt Percussions/Castanets-Percu
ctbassn Reeds/Contrabassoon-Solo
ctbass Strings/Contrabass-Ensemble
ctbass Strings/Contrabass-Ensemble-Pizz
ctbass Strings/Contrabass-Solo
ctbass Strings/Contrabass-Solo-Pizz
cuicaKit Kits/Kit-Cuica
cuica Percussions/CuicaHigh-Percu
cuica Percussions/CuicaLow-Percu
drmkt Kits/BongoNCongas
drmkt Kits/Drumkit-Master
e-bass4 Bass/Pre-Bass
e-bass5 Bass/Pre-Bass
e-bass6 Bass/Pre-Bass
e-gtr12 ElectricGuitars/Classic-Guitar
e-gtr12 ElectricGuitars/ES-Guitar
e-gtr12 ElectricGuitars/Strat-Guitar
e-gtr6 ElectricGuitars/Classic-Guitar
e-gtr6 ElectricGuitars/ES-Guitar
e-gtr6 ElectricGuitars/Strat-Guitar
e-gtr7 ElectricGuitars/Classic-Guitar
e-gtr7 ElectricGuitars/ES-Guitar
e-gtr7 ElectricGuitars/Strat-Guitar
e-gtr8 ElectricGuitars/Classic-Guitar
e-gtr8 ElectricGuitars/ES-Guitar
e-gtr8 ElectricGuitars/Strat-Guitar
em-organ-gs Keyboards/Jazz-Organ
em-organ-ss Keyboards/Jazz-Organ
en-horn Reeds/EnglishHorn-Solo
e-piano-gs Keyboards/MarkI-EPiano
e-piano-gs Pipe/Harmonica
e-piano-ss Keyboards/MarkI-EPiano
e-piano-ss Pipe/Harmonica
flt-c Pipe/Flute-Ensemble
flt-c Pipe/Flute-Solo
flt-c Pipe/Piccolo-Solo
flt-c Pipe/Recorder-Solo
flt-g Pipe/Flute-Ensemble
flt-g Pipe/Flute-Solo
flt-g Pipe/Piccolo-Solo
flt-g Pipe/Recorder-Solo
flt-whstl Pipe/Recorder-Solo
fr-horn Brass/FrenchHorn-Ensemble
fr-horn Brass/FrenchHorn-Solo
grcss Percussions/Grancassa-Percu
guiro Percussions/Guiro-Percu
harp-gs Strings/Harp-Solo
harp-ss Strings/Harp-Solo
hclap Percussions/FreelyHandClap-Percu
hclap Percussions/GroupHandClap-Percu
hclap Percussions/RelaxedHandClap-Percu
hihat Drums/Master-Hihat
hrpch-gs Keyboards/Harpsicord-Key
hrpch-ss Keyboards/Harpsicord-Key
jngl-bell Percussions/JingleBell-Percu
kick Drums/Master-Kick
klmb Idiophones/Xilophone-Tuned
latinoKit Kits/Kit-Latino
mldctm Percussions/TimbaleHigh-Percu
mrcs Percussions/Maracas-Percu
n-gtr6 AcousticGuitars/Concerto-Nylon
n-gtr6 AcousticGuitars/D-Steel
n-gtr7 AcousticGuitars/Concerto-Nylon
n-gtr8 AcousticGuitars/Concerto-Nylon
oboe Reeds/Oboe-Ensemble
oboe Reeds/Oboe-Solo
ocrn Pipe/Recorder-Solo
pccl Pipe/Piccolo-Solo
pedalhihat Drums/Master-Hihat
pnflt Pipe/Recorder-Solo
ptt Percussions/Piatti-Percu
rec Pipe/Recorder-Solo
ride Drums/Master-Ride
rvs-cymb Drums/Master-Hihat
sambaKit Kits/Kit-Samba
sax-alt-eb Brass/Alto-Sax
sax-bar-eb Brass/Baritone-Sax
sax-bass-eb Brass/Baritone-Sax
sax-ms-f Brass/Soprano-Sax
sax-sop-bb Brass/Soprano-Sax
sax-sop-c Brass/Soprano-Sax
sax-sop-f Brass/Soprano-Sax
sax-ten-bb Brass/Tenor-Sax
sax-ten-c Brass/Tenor-Sax
s-bass4 Keyboards/Synth/FMSyn-Bass
s-bass5 Keyboards/Synth/FMSyn-Bass
s-bass6 Keyboards/Synth/FMSyn-Bass
s-gtr12 AcousticGuitars/12-Steel
s-gtr12 AcousticGuitars/D-Steel
s-gtr6 AcousticGuitars/12-Steel
s-gtr6 AcousticGuitars/Concerto-Nylon
s-gtr6 AcousticGuitars/D-Steel
s-gtr7 AcousticGuitars/D-Steel
s-gtr8 AcousticGuitars/D-Steel
shkr Percussions/ShakerEgg-Percu
shkr Percussions/ShakerStudio-Percu
shkr Percussions/ShakerWooden-Percu
shmsn ExoticGuitars/CC-Ukulele
shn Pipe/Flute-Ensemble
snare Drums/Master-Snare
snr Percussions/SnareDrum-Percu
snt-brass-gs Keyboards/Synth/Simple-Brass
snt-brass-ss Keyboards/Synth/Simple-Brass
snthdrm Percussions/TimbaleHigh-Percu
snt-key-gs Keyboards/Synth/DXPiano1-Key
snt-key-ss Keyboards/Synth/DXPiano1-Key
snt-lead-gs Keyboards/Synth/Classic-Lead
snt-lead-ss Keyboards/Synth/Classic-Lead
snt-pad-gs Keyboards/Synth/Huge-Pad
snt-pad Singers/MetaChoir-Pad
snt-pad Singers/Vocal-Pad
snt-pad-ss Keyboards/Synth/Huge-Pad
snt-seq-gs Keyboards/Synth/Harpy-Seq
snt-seq-ss Keyboards/Synth/Harpy-Seq
splash Drums/Master-Splash
sprn-c Singers/MetaChoir-Pad
sprn-s Singers/Vocal-Pad
surdo Percussions/Surdo-Percu
taiko Percussions/TimbaleLow-Percu
Tambourine-Percu Percussions/Latino
Tambourine Percussions/Tambourine-Percu
tmblKit Kits/Kit-Timbale
tmbl Percussions/TimbaleHigh-Percu
tmbl Percussions/TimbaleLow-Percu
tmpn Idiophones/TimpaniHi-Tuned
tmpn Idiophones/TimpaniLo-Tuned
tnklbll Idiophones/Vibraphone-Tuned
tnr-c Singers/MetaChoir-Pad
tnr-s Singers/Vocal-Pad
tom Drums/Master-Tom01
tom Drums/Master-Tom02
tom Drums/Master-Tom03
tom Drums/Master-Tom04
tom Drums/Master-Tom05
Triangle-Percu Percussions/Latino
trmbn-bb-bass Brass/Trombone-Ensemble
trmbn-bb-bass Brass/Trombone-Solo
trmbn-bb Brass/Trombone-Ensemble
trmbn-bb Brass/Trombone-Solo
trmbn-bb-treble Brass/Trombone-Ensemble
trmbn-bb-treble Brass/Trombone-Solo
trmbn-eb-bass Brass/Trombone-Ensemble
trmbn-eb-bass Brass/Trombone-Solo
trmbn-eb Brass/Trombone-Ensemble
trmbn-eb Brass/Trombone-Solo
trmpt-a Brass/Trumpet-Ensemble
trmpt-a Brass/Trumpet-Solo
trmpt-a Brass/Trumpet-Sordino-Solo
trmpt-bb Brass/Trumpet-Ensemble
trmpt-bb Brass/Trumpet-Solo
trmpt-bb Brass/Trumpet-Sordino-Solo
trmpt-c-bass Brass/Trumpet-Ensemble
trmpt-c-bass Brass/Trumpet-Solo
trmpt-c-bass Brass/Trumpet-Sordino-Solo
trmpt-c Brass/Trumpet-Ensemble
trmpt-c Brass/Trumpet-Solo
trmpt-c Brass/Trumpet-Sordino-Solo
trmpt-d-bass Brass/Trumpet-Ensemble
trmpt-d-bass Brass/Trumpet-Solo
trmpt-d-bass Brass/Trumpet-Sordino-Solo
trmpt-d Brass/Trumpet-Ensemble
trmpt-d Brass/Trumpet-Solo
trmpt-d Brass/Trumpet-Sordino-Solo
trmpt-eb-bass Brass/Trumpet-Ensemble
trmpt-eb-bass Brass/Trumpet-Solo
trmpt-eb-bass Brass/Trumpet-Sordino-Solo
trmpt-eb Brass/Trumpet-Ensemble
trmpt-eb Brass/Trumpet-Solo
trmpt-eb Brass/Trumpet-Sordino-Solo
trmpt-e Brass/Trumpet-Ensemble
trmpt-e Brass/Trumpet-Solo
trmpt-e Brass/Trumpet-Sordino-Solo
trmpt-f Brass/Trumpet-Ensemble
trmpt-f Brass/Trumpet-Solo
trmpt-f Brass/Trumpet-Sordino-Solo
trmpt-flgh Brass/Trumpet-Ensemble
trmpt-flgh Brass/Trumpet-Solo
trmpt-flgh Brass/Trumpet-Sordino-Solo
trmpt-g Brass/Trumpet-Ensemble
trmpt-g Brass/Trumpet-Solo
trmpt-g Brass/Trumpet-Sordino-Solo
trngl Percussions/Triangle-Percu
ukll4 ExoticGuitars/CC-Ukulele
vbrphn Idiophones/Vibraphone-Tuned
vbrslp Percussions/Vibraslap-Percu
vla Strings/Viola-Ensemble
vla Strings/Viola-Ensemble-Pizz
vla Strings/Viola-Solo
vla Strings/Viola-Solo-Pizz
vln Strings/Cello-Ensemble
vln Strings/Cello-Ensemble-Pizz
vln Strings/Cello-Solo
vln Strings/Cello-Solo-Pizz
vln Strings/Viola-Ensemble
vln Strings/Viola-Ensemble-Pizz
vln Strings/Viola-Solo
vln Strings/Viola-Solo-Pizz
vln Strings/Violin1-Ensemble
vln Strings/Violin1-Ensemble-Pizz
vln Strings/Violin-Solo
vln Strings/Violin-Solo-Pizz
wdblckKit Kits/Kit-Woodblock
wdblck Percussions/WoodblockHigh-Percu
wdblck Percussions/WoodblockLow-Percu
whstlKit Kits/Kit-Whistle
whstl Percussions/WhistleHigh-Percu
whstl Percussions/WhistleLow-Percu
whstl Pipe/Recorder-Solo
xlphn Idiophones/Xilophone-Tuned
From this list: https://github.com/musescore/MuseScore/blob/d474f719b7c520b8e19e2fc62ec…
I notice the same issue, ie #98751: [GP6] Nylon guitar imported with the piano sound for:
1) - Voice (-> Piano midi) : Voice.gpx
- Bass Guitar (ditto) : Bass Guitar.gpx
- Metallic-Synthe (ditto): I don't find exactly metallic-synthe, but eg Lead-Synthe:
Synth.gpx
With GP5: Synth.gp5
2) A bug for the Maracas?
I'm really not a expert at all for entering these instruments (I want say: percussion) in GP. I do it more or less by chance, sorry.
But in GP, with this sample:
the sound was as expected. So?
With GP6, I receive this: weird and no sound: Maracas.gpx
With GP5, no sound: Maracas.gp5
3) From Drums, maybe other minor problem (another sound) ?
GP 6: Drums.gpx
GP5: Drums.gp5
4) For other, it's as expected:
- Electric Guitar: Electric Guitar Clean.gpx
- Steel-Guitar: Steel guitar.gpx
Drums and percussions are probably particular but for the others we "just" need to map the first id in the list from mjtm with an id in instruments.xml in MuseScore https://github.com/musescore/MuseScore/blob/master/share/instruments/in…
The mapping is here https://github.com/musescore/MuseScore/blob/master/mscore/importgtp-gp6… but very incomplete...
I will create a spreadsheet so we can collaborate on it.
Here is a spreadsheet https://docs.google.com/spreadsheets/d/1z1ItG_spKdLTiHTRLT1ZGJobrxfm_uT…
Feel free to fill it. If you don't find any match, use --.
Hope this issue will be considered for MuseScore 3.0.
I'm looking for a Mac app which supports GuitarPro files well, especially the drum parts. It would be great if MuseScore – which I love to use for transcribing drums and for writing choir arrangements – would fit the bill.
In the case of the Guitar Pro file I'm attaching, the drum sounds drive me bonkers. ;-)
The actual issue for drums is here: #91341: Imports from *.gpx files play wrong drums sounds
Thanks!
As for this issue in particular, it's not a difficult one but it seems nobody care enough to file the spreadsheet https://docs.google.com/spreadsheets/d/1z1ItG_spKdLTiHTRLT1ZGJobrxfm_uT…
Maybe I wasn't clear enough, but it's a matter of mapping each Guitar Pro id (first column) with a MuseScore id (third column). MuseScore ids can be found in instruments.xml. It's a simple task that anyone can do.
I updated the spreadsheet a bit and added some mapping in the code. Still quite some work to do.
I tried to update it some more
I believe I won't get any further with this
In reply to #10 by [DELETED] 5
Hi!
I am new to musescore and would like to start contributing from something small first. I am not advanced in C++ yet but I think this issue is within my capabilities.
I have read through the entire instruments.xml file and filled in the missing instruments in the Google Docs so the Google docs is quite complete now. May I ask if the next steps are to simply key in the mappings into the static map at https://github.com/musescore/MuseScore/blob/ec85457cc1a5a0cf03fd3362784… and then write the else if conditional statements for handling each instruments at https://github.com/musescore/MuseScore/blob/d474f719b7c520b8e19e2fc62ec…?
Hi!
I am new to Open Source and musescore so I want to start from contributing something small.
I have read through the instruments.xml document and filled in most of the parts missing in the Google Sheet and so right now it is quite complete.
I just want to ask what should I do for the percussion instruments and drum? I have read through the functions at https://github.com/musescore/MuseScore/blob/ec85457cc1a5a0cf03fd3362784… and did not really understand what is the difference between drums/percs and normal wind/string instruments.
May I ask if the next steps are to simply key in the mappings into the static map at https://github.com/musescore/MuseScore/blob/ec85457cc1a5a0cf03fd3362784… and then write the else if conditional statements for handling each instruments at https://github.com/musescore/MuseScore/blob/d474f719b7c520b8e19e2fc62ec…?
Yes exactly.
The else if statement is not in master though, you link to an older version of the code. The current code already uses the map, and the map just need to be extended.
Yes I saw that the code is already using the map. I just want to ask if the mapping for the percussion/drums simply work in the same way as the other instruments. Because I read through the old discussions and there seem to be a problem with straight-forward mappings between percussion instruments.
Percussion is handled differently. We might need to define several drumset to match the one from GP.
Fixed in branch master, commit 461b523680
fix #98786 add mapping between GP6 and MS instruments
Fixed in branch master, commit cd7216c872
fix #98786 add mapping between GP6 and MS instruments
Fixed in branch 2.2, commit 099f1687ee
fix #98786 add mapping between GP6 and MS instruments
Automatically closed -- issue fixed for 2 weeks with no activity.