Hints of musixpss package

Last Updated: 2003/01/05, 2006/05/13

Contents


How to apply musixpss package to old score sources

A. Modification of score sources

  1. MusiXTeX alone
    conventional
    MusiXTeX
    \input musixtex
    \input musixmad
    \input musixlyr
    \normalmusicsize%
    \def\nbinstruments{1}
    ....
    \startmuflex\startpiece
    ....
    with musixpss \input musixtex
    \input musixmad
    \input musixlyr
    \input musixpss
    \normalmusicsize%
    \def\nbinstruments{1}
    ....
    \startmuflex\startpiece
    ....
  2. PMX
    conventional
    PMX
    
    1 1 4 4 0 6  0 0 0 4 20 0
    
    0
    ./
    w110m
    c24d s s2u c44 s zc7 s2 | /
    
    c25d s c45 s+0+0+15 /
    
    with musixpss
    
    1 1 4 4 0 6  0 0 0 4 20 0
    
    0
    ./
    w110m
    \\input musixpss\relax\ 
    c24d s s2u c44 s zc7 s2 | /
    
    c25d s c45 s+0+0+15 /
    

    * PMX supports another PostScript slurs/ties/crescendos package by Stanislav Kneifl. For details see PMX manuals and Icking Music Archive.

  3. M-Tx

    see the example in the next chapter.

B. Commands to be run (in general mode)

conventional

(Pass 0a.) prepmx foo
(Pass 0b.) pmxab foo

(Pass 1.)  tex foo
(Pass 2.)  musixflx foo
(Pass 3.)  tex foo
with musixpss

(Pass 0a.) prepmx foo
(Pass 0b.) pmxab foo

(Pass 1.)  tex foo
(Pass 2.)  musixflx foo
(Pass 3.)  tex foo
(Pass 4.)  musixpss foo
(Pass 5.)  mpost foo
(Pass 6.)  tex foo

Compatibility and incompatibility with traditional slurs

Here is an example of snapshots and M-Tx source for slur height and slope.
See the section about "traditional" slur of PMX and M-Tx manuals for details.

Note: These M-Tx code requires M-Tx ver.0.54c or later.

PS slurs with musixpss with musixpss

Style: Solo
Meter: C
PMX: w110m \\input musixpss\relax\ 
Bars/Line: 4

c2d4 s s2u c44 s zc7 s2 | c2d5 s c45 s+0+0+15 
Font-based slurs (conventional MusiXTeX without musixpss) without musixpss

Style: Solo
Meter: C
PMX: w110m 
Bars/Line: 4

c2d4 s s2u c44 s zc7 s2 | c2d5 s c45 s+0+0+15 

(1) General

The syntax of describing slurs is almost completely compatible with conventional syntax of original MusiXTeX (and PMX/M-Tx, of course). This means one can easily refine most of the old MusiXTeX/PMX/M-Tx scores.

The shape of slur is slightly different from original font-based slur. This is because the curve generation algorithm is quite different from the original. Also, line weight is much lighter than the original. I think this package would provide more beautiful slur shape with flexibility than the original.

(2) Compound slur and simple slur

In this package there is no internal difference between them, while in the original there are many differences.

(3) Limits of slur height, slope, length

In this package there are no limits of slur height, slope, and length within the MetaPost capacity, while in the original slur height and slope are limited to 16 \Internote , and length is limited by the macro.

(4) Slur height adjustment: slight incompatibility

Some adjustment --- a few increment to h of \midslur h --- may be required for slurs with large (approx. >10) slope.
This is a trial for better musical expression of such slurs. I think font-based slur at the first bar shown above is out of sense because of too much height, but it can't be adjusted anymore. This is a poor specification of original MusiXTeX's slur macros; while with this package the slur is still adjustable.

(5) Curvature adjustment

Unsupported at present. \curve hij becomes equivalent to \midslur h . Even so, it seems this package provides enough acceptable results in most cases.
However, I think some curvature adjustment method will be required; for example a very complicated pianoforte tune with a long arpeggio among both hands. The method will be a new one different from the original's "too logical" assignment way.

(6) Inverted slur

Both \invertslur and \Tslurbreak , \Islur[u|d]break are available. (Some shape differences exists.)

(7) Resolution of devices

This package relaxes the limits of resolution (dpi) of printers. The only limit is the capacity of the dviware. For better appearance, a printer with resolution at least 600dpi, if possible 1200dpi or up, is recommended.


Behavior difference due to characteristics of dviwares

Dviwares can be categorized into two groups in the view point of PostScript processing:

  1. with internal PostScript processor (dvips, dvipdfm*1, pdfTeX*2)
  2. with child process execution of ghostscript (dviout, xdvi(?), ...)

*1 only for EPS generated by MetaPost.
*2 pdfTeX is not a dviware, but the behavior is similar to this group.

This package works on both groups of dviwares. However, using group A dviwares is recommended.
Dviwares of group B will run very much slower (not bearable in case of many slurs) with this package. This is because this package generates an EPS file for each slur and so such dviwares call ghostscript as a child process for each slur.


A demonstration of some new options of version 0.50

Compare this file and its result to the sample shown in previous page.


MusiXTeX top / musixpss / Hints