Adding new instrument - two questions

• Oct 3, 2013 - 12:22


I am trying to add a new instrument, a set of bagpipes. I took a look at the notes on adding instruments and have gotten this far:

clef = 0
transposeDiatonic =1 ?
aPitchRange= 67-79
pPitchRange = 67-79
program = 0

I am stuck on two things:

1. The instrument is a transposing instrument dropping the note read by a semitone i.e. a "g" actually sounds as an f#. I am not sure what to enter into transposeDiatonic and transposeChromatic can anyone help on this?

2. The range of the instrument is limited, it is not chromatic so whilst it is capable of 67-79 the actual notes available are 67,69,71,72,74,76,78,79. Is there a way to enter this in the PitchRange section?

thanks in advance


I know more about MuseScore than bagpipes (and maybe not all that much about MuseScore), but I've been doing similar work in the last few weeks (on different instruments) and I'd like to help, if I can.

One thing: there's already a Bagpipe definition in MuseScore 1.3's "instruments.xml" file. It differs from what you specify in one important respect, however: the Bagpipe in "instruments.xml" is defined as a transposing instrument where the written music differs from the instrument's sounding pitch by a whole tone, not a semitone. I get the idea from my little bit of internet research that bagpipe music is written with 'A' as its lowest note. And then, assuming that most Highland bagpipes have 'G' as the chanter's lowest note, this means the bagpipe defined in "instruments.xml" seems to be correct (A differs from G by a whole tone). So maybe the existing instrument definition will serve for you?

However, maybe you're trying to define a "non typical" bagpipe? For example, from my research, competition and band pipers might prefer pipes that are pitched up (sharp). So if that's what you're trying to do, then I think you need to define your instrument's chanter in the key of G# rather than G. If that's the case, then all your pitch numbers need to be increased by one.

You might consider setting 'program' to 109 if you want MIDI playback to sound as a bagpipe.

There seem to be open questions about whether the instrument's range is only an octave, or an octave plus another note. Perhaps you'd want to set pPitchRange to include that additional highest note, and keep aPitchRange as you've specified it, one octave.

If you do settle on transposeChromatic being 1, then my best feeling is that transposeDiatonic should be 1. transposeDiatonic controls how the key signature changes between Concert Pitch and not Concert Pitch, and IMHO transposeDiatonic's value is best determined experimentally, by trying real music or scales. (With the instruments I've been defining, I still haven't finished the testing I believe I need, so my suggestion transposeDiatonic be '1' has only weak-ish evidence at this point.)

Regarding your second question: I don't know a way. But it should be pretty easy to do a plugin that changes the color of the problematical notes.

In reply to by NAF Lover


thanks for the response. I had not realised that bagpipes were listed in the standard instruments.xml and have altered my program setting to 109 but I think I will try to get a better sound match at some point.
I think the bagpipes we are talking about may be different as the pipes you are referring to seem to be the Highland Pipes and mine are Northumbrian Smallpipes (an unkeyed set) which are different in a number of ways, and of course just to make life more entertaining the Northumbrian pipes come in a whole range of shapes and sizes and of course you can then add in the drones.
In terms of pitch when I play a G from the sheet music the pipes sound an F# (more or less) so I have opted for -1 settings for both for now and try to work out exactly what these two settings actually do.
As far as I can tell however if I get the range settings correct Musescore can already show notes beyond my range in a different colour but because my range is incomplete this will not always work for me. Maybe the next version will allow me to enter a non-chromatic range in the instruments.xml file. In the meantime I just need to transpose everything into the key of G and then look for accidentals in the score.
Once again thanks for the input.

In reply to by burnsyslad

So you'd need something like a comma separated list of pitches in aPitchRange/pPitchRange or a new aPitchSet/pPitchSet. Sounds like a reasonable enhancement request, doesn't it?
Until then you could modify the 'Color notes' plugin to do this for you.

In reply to by Jojo-Schmitz


yes if I was able to enter a comma separated list of the notes I have then that would pretty much allow me to do what I need to do (I think). I could then go ahead and add the full range of Northumbrian Pipes from unkeyed chanters, 7 keyed, 9 keyed, 11 keyed and 17 keyed.
I will take a look at the Color Notes plugin but I would guess I will most likely not be able to do anything useful with it.
Thanks for the information.

In reply to by burnsyslad

I'm just going by what I see for other instruments, but it seems transposeChromatic is number of semitones, transposeDiatonic is number of scale steps. You definitely want transposeChromatic to be -1, but the transposeDiatonic should help MuseScore decide on spelling. Eg, if you want concert C to come out written Db, use transposeDiatonic -1. If you want concert C to come out written C#, use transposeDiatonic 0. Or something like that.

Do you still have an unanswered question? Please log in first to post your question.