Dear all,

suppose we have 2 transposing instruments and a non transposing one. In PMX the convenient way to obtain transposed parts is 1) typeset all the voices in the tonal key (no transposition) with relative accidents (Ar) and 2) insert transposing command only in the desired part (e.g: %2 K-2+3).

Advantages of this method: 1) it produces a correct midi file; 2) every parts can be easily transposed in different keys.

But if we *need*, for editorial reasons, to print the score with the transposing instrument typeset in different key, we have to follow the trick proposed by Cornelius Noack (see his pmx manual, p.97), i.e., 1) insert the inline tex commands needed to set different key signature for the transposing instruments (setsign{n}{m}) and 2) typeset the transposing parts 'as they are written, not as they sound'

Disadvantages of this method: 1) it produces an incorrect midi file; 2) it's impossible to transpose those parts in another key.

I've found a *not so polish* trick in order to keep the advantage of the first method when we need to use the second one, with the aid of the abcpp preprocessor. Abcpp allows to define different note names and conditional output. So we have to: 1) define a set of note names for the first transposing instrument (XA = f, XB = g etc.) and another one for the second (YA = c, YB = d etc.); 2) set in conditional way a different definition of the same symbols (XA = a, YA = a) so that if TRASP is defined the output will be transposed and if not the output will not be transposed; 3) Typeset the transposing parts with relative accidents and in different ways (XA, XB or YA, YB etc).
4) compile with the command
  'abcpp -TRASP sample.pmp sample_tr.pmx'
  in order to obtain the score to print in editorial way
5) compile with the command
  'abcpp sample.pmp sample.pmx'
  in order to obtain the score not transposed and
  the extracted (if needed transposed) parts.

You can see a sample of the abcpp source at the end of this letter.

Disadvantages of this method: 1) we have to typeset transposing voices in different and unusual ways; 2) we need a preprocessor.

I'm sorry for this long, pedantic letter in my unsure english. Here comes my question. Is there a better way to obtain the same result (at tex level, for instance)?

Regards

Luigi

==== sample.pmp
#ifdef TRASP
#define XA f
#define XB g
#define XC a
#define XD b
#define XE c
#define XF d
#define XG e
#define YA c
#define YB d
#define YC e
#define YD f
#define YE g
#define YF a
#define YG b
#else
#define XA a
#define XB b
#define XC c
#define XD d
#define XE e
#define XF f
#define XG g
#define YA a
#define YB b
#define YC c
#define YD d
#define YE e
#define YF f
#define YG g
#endif
3 3 4 4 0 6 0 0
1 1 20 .06
a min.
fs min.
c min.
btt
./
Abr
B
#ifdef TRASP
%%
\\setsign{2}{+3}\setsign{3}{-3}\
#endif
It92ibaclob
%1It92iba
%2It92icl
%3It92iob
a4- b c d | e fs gs a | a gn fn e | d c b a /
%2 K-2+3
XA4 XB XC XD | XE XFs XGs XA | XA XGn XFn XE | XD XC XB XA /
%3 K+2-3
YA4 YB YC YD | YE YFs YGs YA | YA YGn YFn YE | YD YC YB YA /
====

_______________________________________________
[email protected] mailing list
If you want to unsubscribe or look at the archives, go to 
http://mailman.nfit.au.dk/mailman/listinfo/icking-music-archive.org-tex-music

Reply via email to