summaryrefslogtreecommitdiffstats
path: root/upstream/mageia-cauldron/man1/abc2midi.1
diff options
context:
space:
mode:
Diffstat (limited to 'upstream/mageia-cauldron/man1/abc2midi.1')
-rw-r--r--upstream/mageia-cauldron/man1/abc2midi.1568
1 files changed, 568 insertions, 0 deletions
diff --git a/upstream/mageia-cauldron/man1/abc2midi.1 b/upstream/mageia-cauldron/man1/abc2midi.1
new file mode 100644
index 00000000..f5488955
--- /dev/null
+++ b/upstream/mageia-cauldron/man1/abc2midi.1
@@ -0,0 +1,568 @@
+.TH ABC2MIDI 1 "June 2017"
+.SH NAME
+\fBabc2midi\fP \- converts abc file to MIDI file(s)
+.SH SYNOPSIS
+abc2midi \fIinfile\fP [\fIrefnum\fP] [\-c] [\-v] [\-ver] [\-t] [\-n limit] [\-CS] [\-quiet] [\-silent] [\-Q tempo] [\-NFNP] [\-NFER] [\-NGRA] [\-NGUI] [\-STFW] [\-OCC] [\-NCOM] [\-HARP] [\-BF] [\-TT] [\-o outfile] \-CSM [filename]
+.SH DESCRIPTION
+ The default action is to write a MIDI file for each abc tune
+ with the filename <stem>N.mid, where <stem> is the filestem
+ of the abc file and N is the tune reference number. If the \-o
+ option is used, only one file is written. This is the tune
+ specified by the reference number or, if no reference number
+ is given, the first tune in the file.
+.SH OPTIONS
+.TP
+.B \fIrefnum\fP
+process the tune with reference number \fIrefnum\fP
+.TP
+.B -c
+selects checking only
+.TP
+.B -v n
+selects verbose option where n is the level (optional)
+.TP
+.B -ver
+prints version number and exits
+.TP
+.B -t
+selects filenames derived from tune titles
+.TP
+.B -CS
+use 2:1 instead of 3:1 for broken rhythms
+.TP
+.B -quiet
+Suppresses some common warnings.
+.TP
+.B -silent
+Suppresses other messages.
+.TP
+.B -n \fI X\fP
+limits the length of the file name stem to X characters
+.TP
+.B -Q \fI tempo\fP
+sets the default tempo in quarter notes per minute if it was not
+specified in the abc header.
+.TP
+.B -NFNP
+Ignore any dynamic indications !f! !ff! etc.
+.TP
+.B -NFER
+Ignore any fermata indications (eg H or !fermata!).
+.TP
+.B -NGRA
+Ignore any grace notes.
+.TP
+.B -NGUI
+Ignore any guitar chords enclosed in double quotes.
+.TP
+.B -STFW
+Place lyric text in separate MIDI tracks.
+.TP
+.B -NCOM
+Suppress some comments in the output MIDI file.
+.TP
+.B -OCC
+Accept old chord convention (eg +D2G2+ instead of [DG]2).
+.TP
+.B -BF
+BarFly mode: invokes a stress model if possible.
+.TP
+.B -HARP
+Roll ornaments=roll are generated for the harpist (same pitch)
+.TP
+.B -TT
+Changes the tuning from A = 440 Hz.
+.TP
+.B -o \fIoutfile\fP
+write output to \fIoutfile\fP
+.TP
+.B -CSM \fIinfile\fP
+load a set of custom stress modes from a file
+.SH FEATURES
+.PP
+* Broken rhythms (>, <), chords, n-tuples, slurring, ties, staccatto notes,
+repeats, in-tune tempo/length/time signature changes are all supported.
+.PP
+* R:hornpipe or r:hornpipe is recognized and note timings are adjusted to
+give a broken rhythm (ab is converted to a>b).
+.PP
+* Most errors in the abc input will generate a suitable error message in
+the output and the converter keeps going.
+.PP
+* Comments and text fields in the abc source are converted to text events
+in the MIDI output
+.PP
+* If guitar chords are present, they are used to generate an accompaniment
+in the MIDI output.
+.PP
+* If there are mis-matched repeat signs in the abc, the program attempts to
+fix them. However, it will not attempt this if a multi-part tune
+description has been used or if multiple voices are in use.
+.PP
+* Karaoke MIDI files can be generated by using the w: field to include
+lyrics.
+.PP
+* Nonnumeric voice id's, eg. V: soprano, as proposed for the new
+abc standard is accepted.
+.PP
+* Invisible rests specified by x are treated the same way as
+normal rests (z).
+.PP
+* Decorations may be indicated using either the deprecated
+notation (eg. !fermata!) or the standard version 2.0 notation
+(eg. +fermata+).
+.PP
+.SH LIMITATIONS
+* No field is inherited from above the X: field of the tune.
+
+
+.SH "ABC SYNTAX EXTENSIONS"
+* There are some extensions to the abc syntax of the form
+.PP
+%%MIDI channel n
+.PP
+These control channel and program selection, transposing and various
+other features of abc2midi.
+.PP
+Each of these should appear on a line by itself. All of them are allowed
+within the abc tune body. By using these in combination with the part
+notation, one can, for example, play a part transposed or in a different key.
+.PP
+The idea behind this syntax is that other programs will treat it as a
+comment and ignore it.
+.PP
+%%MIDI channel n
+.PP
+selects melody channel n (in the range 1-16).
+.PP
+%%MIDI program [c] n
+.PP
+selects program n (in the range 0-127) on channel c. If c is not given, the
+program is selected on the current melody channel. Most modern tone
+generators follow the General MIDI standard which defines the instrument
+type for each program number.
+.PP
+%%MIDI beat a b c n
+.PP
+controls the way note velocities are selected. The first note in a bar has
+velocity a. Other "strong" notes have velocity b and all the rest have velocity
+c. a, b and c must be in the range 0-127. The parameter n determines which
+notes are "strong". If the time signature is x/y, then each note is given
+a position number k = 0, 1, 2 .. x-1 within each bar. Note that the units for
+n are not the unit note length. If k is a multiple of n, then the note is
+"strong". The volume specifiers !ppp! to !fff! are equivalent to the
+following :
+.P
+!ppp! = %%MIDI beat 30 20 10 1
+.br
+!pp! = %%MIDI beat 45 35 20 1
+.br
+!p! = %%MIDI beat 60 50 35 1
+.br
+!mp! = %%MIDI beat 75 65 50 1
+.br
+!mf! = %%MIDI beat 90 80 65 1
+.br
+!f! = %%MIDI beat 105 95 80 1
+.br
+!ff! = %%MIDI beat 120 110 95 1
+.br
+!fff! = %%MIDI beat 127 125 110 1
+
+.PP
+%%MIDI beatmod n
+.PP
+Increments by n (or decrements if n is negative) the velocities a, b and
+c described above. The instructions !crescendo(! and !crescendo)!
+are equivalent to inserting a %%MIDI beatmod 15 wherever they
+occur. (Alternatively you can use !<(! and !<)!.) Similarly the
+instructions !diminuendo(! and !diminuendo)! are equivalent
+to %%MIDI beatmod \-15.
+
+.PP
+%%MIDI deltaloudness n
+.PP
+where n is a small positive number. By default the crescendo and
+diminuendo instructions modify the beat variables a, b, and c by
+15 velocity units. This instruction allows you to set this default
+to value n.
+
+.PP
+%%MIDI nobeataccents
+.PP
+For instruments such as church organ that have no greatly emphasized beat notes,
+using this will force use of the 'b' velocity (see %%MIDI beat)
+for every note irrespective of position in the bar. This allows dynamics
+(ff, f, etc) to be used in the normal way.
+.PP
+%%MIDI beataccents
+.PP
+Revert to emphasizing notes the the usual way. (default)
+
+.PP
+%%MIDI beatstring <string of f, m and p>
+.PP
+This provides an alternative way of specifying where the strong and weak
+stresses fall within a bar. 'f' means velocity a (normally strong), 'm'
+means velocity b (medium velocity) and 'p' means velocity c (soft velocity).
+For example, if the time signature is 7/8 with stresses on the first, fourth
+and sixth notes in the bar, we could use the following
+.PP
+%%MIDI beatstring fppmpmp
+.PP
+%%MIDI transpose n
+.PP
+transposes the output by the specified number of semitones. n may be
+positive or negative.
+.PP
+%%MIDI rtranspose n
+.PP
+Relative transpose by the specified number of semitones. i.e.
+%%MIDI transpose a followed by %%MIDI rtranspose b results in a
+transposition of a+b. %%MIDI transpose b will result in a transposition
+of b semitones, regardless of any previous transposition.
+.PP
+%%MIDI c n
+.PP
+specifies the MIDI pitch which corresponds to c. The default is 60. This
+number should normally be a multiple of 12.
+.PP
+%%MIDI grace a/b
+.PP
+sets the fraction of the next note that grace notes will take up. a
+must be between 1 and b-1. The grace notes may not sound natural
+in this approach, since the length of the individual grace notes
+vary with the complexity of the grace and the length of the
+following note. A different approach (which is now the default)
+assumes that the grace notes always have a fixed duration.
+To use the other approach you would specify,
+
+%%MIDI gracedivider b
+
+where b specifies how many parts to divide the unit length
+specified by the L: field command. For example if b = 4 and
+L: = 1/8, then every grace note would be 1/(8*4) or a 32nd
+note. Time would be stolen from the note to which the grace
+notes are applied. If that note is not long enough to handle
+the grace then the grace notes would be assigned 0 duration.
+
+
+
+.PP
+%%MIDI chordname name n1 n2 n3 n4 n5 n6
+.PP
+Defines how to play a guitar chord called "name". n1 is usually 0 and
+n2, n3 to n6 give the pitches of the other notes in semitones relative
+to the root note. There may be fewer than 6 notes in the chord, but not
+more.If "name" is already defined, this command re-defines it. Unlike
+most other commands, chordname definitions stay in effect from where they
+are defined to the end of the abc file. The following illustrates how
+m, 7, m7 and maj7 could be set up if they were not already defined.
+.PP
+%%MIDI chordname m 0 3 7
+.br
+%%MIDI chordname 7 0 4 7 10
+.br
+%%MIDI chordname m7 0 3 7 10
+.br
+%%MIDI chordname maj7 0 4 7 11
+.PP
+%%MIDI gchord string
+.PP
+sets up how guitar chords are generated. The string is a sequence made of
+of z's, c's f's and b's for rests, chords, fundamental and fundamental
+plus chord notes respectively. This specifies how each bar is to be played.
+An optional length is allowed to follow the z's, c's f's and b's e.g. czf2zf3.
+If the abc contains guitar chords, then abc2midi automatically adds chords and
+fundamentals after encountering the first guitar chord. It keeps using that
+chord until a new chord is specified in the abc. Whenever the M: field is
+encountered in the abc, an appropriate default string is set :
+.P
+For 2/4 or 4/4 time default is equivalent to :
+%%MIDI gchord fzczfzcz
+.P
+For 3/4 time default is equivalent to :
+%%MIDI gchord fzczcz
+.P
+For 6/8 time default is equivalent to :
+%%MIDI gchord fzcfzc
+.P
+For 9/8 time default is equivalent to :
+%%MIDI gchord fzcfzcfzc
+.P
+
+The gchord command has been extended to allow you to play
+the individual notes comprising the guitar chord. This allows
+you to play broken chords or arpeggios. The new codes g,h,i,j,
+G,H,I,J reference the individual notes starting from the
+lowest note of the chord (not necessarily the root in the
+case of inversions). For example for the C major chord, g
+refers to C, h refers to E and i refers to G. For a gchord
+command such as,
+.P
+%%MIDI gchord ghih
+.P
+Abc2midi will arpeggiate the C major guitar chord to
+CEGE. The upper case letters G,H,I, and J refer to
+the same notes except they are transposed down one
+octave. Note for the first inversion of the C major
+chord (indicated by "C/E"), E would be the lowest
+note so g would reference the note E.
+.P
+Like other gchord codes, you may append a numeral indicating
+the duration of the note. The same rules apply as before.
+You can use any combination of the gchord codes,
+(fcbghijGHIJz).
+
+
+.PP
+%%MIDI chordprog n
+.PP
+Sets the MIDI instrument for the chords to be n. If the command
+includes the string octave=n where n is a number between \-2 and 2
+inclusive, then this will shift the pitch of the instrument by n
+octaves. For example %%MIDI chordprog 10 octave=1.)
+
+.PP
+%%MIDI bassprog n
+.PP
+Sets the MIDI instrument for the bass notes to be n. If the command
+includes the string octave=n where n is a number between \-2 and 2
+inclusive, then this will shift the pitch of the instrument by n
+octaves. For example %%MIDI bassprog 10 octave=\-1.)
+.PP
+%%MIDI chordvol n
+.PP
+Sets the volume (velocity) of the chord notes at n.
+.PP
+%%MIDI bassvol n
+.PP
+Sets the volume (velocity) of the bass notes at n. There is no corresponding
+melodyvol command since there are 3 velocity values for melody, set using the
+beat command.
+.PP
+%%MIDI gchordon
+.PP
+Turns on guitar chords (they are turned on by default at the start of a
+tune).
+.PP
+%%MIDI gchordoff
+.PP
+Turns off guitar chords.
+.PP
+%%MIDI droneon
+.PP
+Turns on a continuous drone (used in bagpipe music) consisting
+of two notes. By default the notes are A, and A,, played
+on a bassoon at a velocity of 80. This can be configured
+by the %%MIDI drone command described below.
+.PP
+%%MIDI droneoff
+.PP
+Turns off the continuous drone.
+.PP
+%%MIDI drone n1 n2 n3 n4 n5
+.PP
+Sets the drone parameters where n1 is the MIDI program, n2 and
+n3 specify the MIDI pitches of the two notes in the chord, and n4
+and n5 specify the MIDI velocities of the two notes.
+If you do not set these parameters they are by default
+70 45 33 80 80. A value of zero or less indicates that
+the setting of this parameter should be left as it is.
+.PP
+%%MIDI drum string [drum programs] [drum velocities]
+.PP
+This sets up a drum pattern. The string determines when there is a drum beat
+and the drum program values determine what each drum strike sounds like.
+.PP
+e.g. %%MIDI drum d2zdd 35 38 38 100 50 50
+.PP
+The string may contain 'd' for a drum strike or 'z' for a rest. By default
+a voice starts with no drum pattern and '%%MIDI drumon' is
+needed to enable the drumming. The drum pattern is repeated during
+each bar until '%%MIDI drumoff' is encountered. The %%MIDI drum
+command may be used within a tune to change the drum pattern.
+This command places the drum sounds on channel 10 and
+assumes your tone generator complies with the General Midi standard - if
+it does not, then you may hear tones instead of drum sounds.
+.PP
+In both the gchord and drum commands, the standard note length of
+a single note f,c,z or d is not set by the L: command. Instead it
+is adjusted so that the entire gchord string or drum string fits
+exactly into one bar. In other words the duration of each note
+is divided by the total duration of the string. This means that,
+for example, the drum string "dd" is equivalent to drum string "d4d4".
+You cannot currently specify fractions directly (eg. C3/2)
+as done in the body of the music, but it is still possible to express
+complex rhythms. For example, to indicate a rhythm such as
+(3ddd d/d/d/d, you would write the string "d4d4d4d3d3d3d3".
+.PP
+%%MIDI drumbars n
+.PP
+The %%MIDI drum line can sound quite monotonous if it is repeated
+each bar. To circumvent this problem a new MIDI command
+%%MIDI drumbars n
+where n is a small number will spread out the drum string over
+n consecutive bars. By default drumbars is set to 1 maintaining
+compatibility with existing abc files. You should take
+care that the drumstring is evenly divisible between the
+drumbar bars. Also the time signature should not change
+between bars in a drumbar unit. (Sample abc file in doc/CHANGES
+June 24 2008.)
+.PP
+%%MIDI gchordbars n
+.PP
+This command spreads the gchord string over n consecutive bars
+just like drumbars (above). (A sample is found in doc/CHANGES
+March 17 2009.)
+
+
+
+
+.PP
+With version 1.54 Dec 4 2004 of abc2midi, notes in chords
+(eg. [FAc]) are not played in the same instant but offsetted
+and shortened by 10 MIDI time units. Thus the first note
+in the chord (eg. F) is played for the full indicated time,
+the second note (eg. A) starts 10 MIDI units later and is shortened
+by the same amount and the third note starts another 10 MIDI
+units later and is shortened by another 10 units. This introduces
+an "expressivo" option and avoids the heavy attack. (This
+does not apply to gchords or multivoiced chords.) The amount
+of the delay and shortening may be configured by the MIDI command
+
+.PP
+%%MIDI chordattack n
+
+.PP
+where n is a small number. If n is zero, then abc2midi should
+behave as in earlier versions. The delay n is in MIDI time units
+where there are 480 units in a quarter note beat. The program
+may not run correctly if n is too large and there are short
+chords.
+
+.PP
+%%MIDI randomchordattack n
+.PP
+Like above except that the delay is a random variable uniformly
+distributed between 0 and n-1.
+
+.PP
+%%MIDI trim x/y
+.PP
+where x and y are two numbers. This command controls the articulation
+of notes and chords by placing silent gaps between the notes. The length
+of these gaps is determined by x/y and the unit length specified by the L:
+command. These gaps are produced by shortening the notes by the same amount.
+If the note is already shorter than the specified gap, then the gap
+is set to half the length of the note. The fraction x/y indicates
+a note duration in the same manner as specified in the abc file.
+The actual duration is based on the unit length specified by the
+L: field command. It is recommended that x/y be a fraction close
+to zero. Note trimming is disabled inside slurs as specified by
+parentheses. You can turn off all note trimming by setting x to 0,
+eg 0/1. By default, note trimming is turned off at the beginning
+of a tune or voice command.
+
+.PP
+%%MIDI expand x/y
+.PP
+where x and y are two numbers defining a fraction less than 1.
+This command controls the articulation of notes and chords in the
+reverse manner. The notes are lengthened by this fraction so they
+overlap the start of the next note.
+
+
+.PP
+%%MIDI drummap note midipitch
+.PP
+Please see abcguide.txt.
+.PP
+%%MIDI ptstress filename
+.PP
+This command loads file filename into abc2midi which contains
+the Phil Taylor stress parameters and puts abc2midi in the mode
+where it applies these stress parameters on every note. This
+model runs in opposition to the standard beat model, so the
+MIDI beat, beatstring, beatmod commands become ineffectual.
+This also means that the dynamic indications !f! !pp! etc.
+do not work any more.
+.PP
+There are two different implementations of the stress model.
+Model 1 modifies the note articulation and takes
+control of the MIDI trim parameters too. To revert back to
+the standard model, put the command %%MIDI beataccents.
+Model 2 modifies both the onset and ending of each note
+allowing a musical beat to expand or contract in time. However,
+the length of a musical measure should be preserved. Note
+if you using model 2, which the current default, you must
+include \-BF as one of the runtime parameters of abc2midi.
+.PP
+The model divides a bar into equal segments. For each segment,
+a loudness or MIDI velocity is specified and a duration multiplier
+is specified. If a note falls into a specific segment, it assumes
+the velocity of that segment and its duration is modified
+accordingly. If the note overlaps more than one segment, then
+the note assumes the average of those segment values.
+.PP
+The input file specifies the number of segments and the loudness
+and duration multipliers for each segment. The file has the
+following format. The first value is the number of segments and each line
+specifies the velocity and duration multiplier of the specific
+segment. The velocity is limited to 127 and the duration is a
+decimal number. The note durations is modified by varying the
+gap between notes, so it is not possible to extend a note. This
+preserves the regular tempo of the music. The program scales,
+the note duration indications by dividing it by the maximum
+value which here is 1.4.
+
+.PP
+%%MIDI stressmodel n
+.PP
+
+where n is either 1 or 2, selects the stress model implementation.
+
+.PP
+ other %%MIDI commands such as bendvelocity, bendstring,
+controlstring have been introduced recently and are described
+in the file abcguide.txt.
+
+
+
+.SH "COMPATIBILITY WITH DRAFT STANDARD 2.0"
+
+.PP
+The proposed standard introduces a new copyright field
+using the syntax
+
+.PP
+%%abc-copyright (c) Copyright John Smith 2003
+
+.PP
+Abc2midi now inserts this in the MIDI file in the form of a
+metatext copyright tag. Changes were made to the event_specific
+function in store.c to process the copyright information. It
+is also copied into the Karaoke track (if it is created) as
+as @T field.
+
+.PP
+
+
+.SH SEE ALSO
+abc2ps(1), midi2abc(1), yaps(1).
+.SH AUTHOR
+James Allwright <J.R.Allwright@westminster.ac.uk>
+.SH SUPPORTED
+ by Seymour Shlien <fy733@ncf.ca>
+.SH VERSION
+This man page describes abc2midi version 2.27 June 25 2006.
+.SH COPYRIGHT
+Copyright 1999 James Allwright
+.PP
+abc2midi is supplied "as is" without any warranty. It
+is free software and can be used, copied, modified and
+distributed without fee under the terms of the GNU General
+Public License.
+.PP
+More complete documentation may be found in abcguide.txt
+which comes with the abcMIDI distribution.