home tune search software learn abc discuss about blog Starbound/LOTRO contact  

  [abc standard: home | current | route-map | updating | proposals]

 

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
abc:standard:v2.1:proposals:transposition:v4 [2012/01/24 09:37]
cwalshaw
abc:standard:v2.1:proposals:transposition:v4 [2012/01/27 18:14]
cwalshaw
Line 8: Line 8:
     * Whether to deprecate ''​transpose=''​     * Whether to deprecate ''​transpose=''​
     * The ''​I:​transposition''​ directive     * The ''​I:​transposition''​ directive
-    * ''​abc=[sounding-pitch|written-pitch]''​ or ''​pitch=[sounding|written]''​+    * ''​abc=[sounding-pitch|written-pitch]''​ or ''​pitch=[sounding|written]''​?
     * All of the //TODO// indicators below     * All of the //TODO// indicators below
     * Other suggestions made on the abcusers mailing list     * Other suggestions made on the abcusers mailing list
 +    * [[#scope and precedence of modifiers|Scope and precedence of modifiers]]
  
 ==== 4.6 Clefs and transposition ==== ==== 4.6 Clefs and transposition ====
Line 23: Line 24:
 // ... unchanged ... // // ... unchanged ... //
  
-  * ''​[shift-<​type>​=<​semitones>​[<​enharmonic indicator>​]]''​ - the ''​shift''​ modifiers are used when [[#writing abc code for transposing instruments]]. They describe how abc software must treat the abc code in order to produce ​typeset score or playback ​as desired ​and indicate ​the shift in current voice as a number of semitones; positive numbers shift up, negative down. The ''<​enharmonic indicator>''​ can optionally be used to clarify which key is meant - for more details see [[#​enharmonic indicators|enharmonic indicators]]. +  * ''​[shift-<​type>​=<​semitones>​[<​enharmonic indicator>​]]''​ - the ''​shift''​ modifiers are used when [[#writing abc code for transposing instruments]]. They describe how abc software must treat the abc code in order to produce ​the required ​typeset score or playback and specify ​the shift in the current voice as a number of semitones; positive numbers shift up, negative down. The ''<​enharmonic indicator>''​ can optionally be used to clarify which key is meant - for more details see [[#​enharmonic indicators|enharmonic indicators]]. ​There are two ''​shift''​ modifiers (for more information see [[#writing abc code for transposing instruments]]):
-    * ''​[shift-sound=<​semitones>​[<​enharmonic indicator>​]]''​ - for playback, shift the sound in the current voice. This setting does not affect the typeset score.+
     * ''​[shift-score=<​semitones>​[<​enharmonic indicator>​]]''​ - for typesetting,​ shift the typeset score in the current voice. This setting does not affect playback.     * ''​[shift-score=<​semitones>​[<​enharmonic indicator>​]]''​ - for typesetting,​ shift the typeset score in the current voice. This setting does not affect playback.
-    * ''​[shift-both=<​semitones>​[<​enharmonic indicator>​]]''​ - for typesetting and playback, ​combines both and is equivalent to ''​[shift-sound=<​semitones>​[<​enharmonic indicator>​]] [shift-score=<​semitones>​[<​enharmonic indicator>​]]''​.+    * ''​[shift-sound=<​semitones>​[<​enharmonic indicator>​]]''​ - for playback, shift the sound in the current voice. This setting does not affect the typeset ​score.
   * ''​[instrument=<​key>​[<​octave>​]]''​ - when [[#writing abc code for transposing instruments]],​ the ''​instrument''​ modifier is used to indicate the transposing instrument that the abc code relates to. For more information see [[#writing abc code for transposing instruments]].   * ''​[instrument=<​key>​[<​octave>​]]''​ - when [[#writing abc code for transposing instruments]],​ the ''​instrument''​ modifier is used to indicate the transposing instrument that the abc code relates to. For more information see [[#writing abc code for transposing instruments]].
   * ''​[abc=sounding-pitch | written-pitch]''​ - when [[#writing abc code for transposing instruments]],​ the ''​pitch''​ modifier is used to indicate whether the abc code has been transcribed at sounding pitch or written pitch. For more information see [[#writing abc code for transposing instruments]].   * ''​[abc=sounding-pitch | written-pitch]''​ - when [[#writing abc code for transposing instruments]],​ the ''​pitch''​ modifier is used to indicate whether the abc code has been transcribed at sounding pitch or written pitch. For more information see [[#writing abc code for transposing instruments]].
Line 34: Line 34:
 The ''​shift-sound''​ modifier is equivalent to the ''​transpose''​ modifier of [[abc:​standard:​v2.1#​clefs and transposition|abc 2.1]] and either may be used. The ''​shift-sound''​ modifier is equivalent to the ''​transpose''​ modifier of [[abc:​standard:​v2.1#​clefs and transposition|abc 2.1]] and either may be used.
  
-For more details about transposition ​and how the ''​shift''​ modifiers may be used see [[#​enharmonic indicators]] and [[#writing abc code for transposing instruments]]. For more details about ''​instrument''​ and ''​abc''​ modifiers, see [[#writing abc code for transposing instruments]].+For more details about transposing instruments ​and how the ''​shift''​ modifiers may be used see [[#writing abc code for transposing instruments]] and [[#​enharmonic indicators]]. For more details about ''​instrument''​ and ''​abc''​ modifiers, see [[#writing abc code for transposing instruments]].
  
 // TODO: // Here or elsewhere, clarify how the ''​shift''​ modifiers affect the clef - see messages [[http://​tech.groups.yahoo.com/​group/​abcusers/​message/​6316|6316]] and [[http://​tech.groups.yahoo.com/​group/​abcusers/​message/​6324|6324]]. // TODO: // Here or elsewhere, clarify how the ''​shift''​ modifiers affect the clef - see messages [[http://​tech.groups.yahoo.com/​group/​abcusers/​message/​6316|6316]] and [[http://​tech.groups.yahoo.com/​group/​abcusers/​message/​6324|6324]].
Line 40: Line 40:
 // ... unchanged ... // // ... unchanged ... //
  
-=== 4.6.1 Scope of modifiers ===+=== 4.6.1 Scope and precedence ​of modifiers ===
  
-// TODO: // The scope of the modifiers needs some careful work as it hasn't been addressed properly yet (including ​in abc 2.0 where most of them were introduced). ​It also touches on multi-voice ​issues, slated for abc 2.2. The scoping needs to address the interaction between global ''​V:''​ fields (in the tune header), the global ''​K:''​ field (signalling the end of the tune header and the start of the tune body), local ''​V:''​ fields (within the tune body) and local ''​K:''​ fields (also within the tune body).+// TODO: // The scoping and precedence of all of the modifiers needs some careful work as it hasn't been addressed properly yet (even in abc 2.0 where most of them were introduced). ​This issue also touches on multi-voice ​syntax, slated for abc 2.2. The scoping needs to address the interaction between global ''​V:''​ fields (in the tune header), the global ''​K:''​ field (signalling the end of the tune header and the start of the tune body), local ''​V:''​ fields (within the tune body) and local ''​K:''​ fields (also within the tune body).
  
 === 4.6.2 Transposition of a tune / file === === 4.6.2 Transposition of a tune / file ===
Line 50: Line 50:
 When included in the tune header (or even the file header) the ''​I:​transposition''​ directive, followed by the number of semitones and, optionally, an [[#​enharmonic indicators|enharmonic indicator]],​ can be used to transpose a complete tune (or even all the tunes in a file). When included in the tune header (or even the file header) the ''​I:​transposition''​ directive, followed by the number of semitones and, optionally, an [[#​enharmonic indicators|enharmonic indicator]],​ can be used to transpose a complete tune (or even all the tunes in a file).
  
-// Example: // The following excerpt would be transposed up a fifth from C into G.+// Example: // The following excerpt would be transposed up a fifth (7 semitones) ​from C into G.
   I:​transposition 7   I:​transposition 7
   K:C   K:C
Line 62: Line 62:
 The [[#semitone shift table]] shows the number of semitones required to achieve any transposition between every key from ''​K:​Cb''​ (seven flats) through to ''​K:​C#''​ (seven sharps). The [[#semitone shift table]] shows the number of semitones required to achieve any transposition between every key from ''​K:​Cb''​ (seven flats) through to ''​K:​C#''​ (seven sharps).
  
-// Comment for developers: // The ''​I:​transposition <​semitones>​[<​enharmonic indicator>​]''​ directive is equivalent to applying ''​shift-score=<​semitones>​[<​enharmonic indicator>​]''​ and ''​shift-sound=<​semitones>​[<​enharmonic indicator>​]''​ to every ''​K:''​ field in the tune (file).+// Comment for developers: // The ''​I:​transposition <​semitones>​[<​enharmonic indicator>​]''​ directive is equivalent to applying ''​shift-score=<​semitones>​[<​enharmonic indicator>​]''​ and ''​shift-sound=<​semitones>​[<​enharmonic indicator>​]''​ to every ''​K:''​ field in the tune (or file).
  
-For details of how the ''​I:​transposition''​ directive combines with existing ​''​shift'' ​modifiers in the tune (i.e. in a tune that has one or more voices written for transposing instruments),​ see [[#​transposition for transposing instruments]].+For details of how the ''​I:​transposition''​ directive combines with existing ​transposing instrument ​modifiers in the tune (i.e. in a tune that has one or more voices written for transposing instruments),​ see [[#​transposition for transposing instruments]].
  
 === 4.6.3 Writing abc code for transposing instruments === === 4.6.3 Writing abc code for transposing instruments ===
Line 72: Line 72:
 This section uses **written pitch** (i.e. the pitch that is written on a transposing instrument'​s score) and **sounding pitch** (i.e. the pitch is actually sounded) to distinguish between the two. This section uses **written pitch** (i.e. the pitch that is written on a transposing instrument'​s score) and **sounding pitch** (i.e. the pitch is actually sounded) to distinguish between the two.
  
-(Note: "​sounding pitch" is also often referred to as "​concert pitch";​ however, confusingly,​ this term is also sometimes used to indicate "play A above middle C at 440Hz",​ so for in this section, ​the former terminology is preferred.)+(Note: "​sounding pitch" is also often referred to as "​concert pitch";​ however, confusingly,​ this term is also sometimes used to indicate "play A above middle C at 440Hz",​ so for clarity ​the former terminology is used.)
  
 To write abc code for a transposing instrument, each appropriate ''​V:​voice''​ or ''​K:​key''​ field has modifiers applied to it which indicate how the abc code should be interpreted. To write abc code for a transposing instrument, each appropriate ''​V:​voice''​ or ''​K:​key''​ field has modifiers applied to it which indicate how the abc code should be interpreted.
  
-The following modifiers are available ​when transcribing:+The following modifiers are available:
   * the ''​instrument=<​key>''​ modifier describes the "​key"​ of the instrument (e.g. Bb clarinet is indicated by ''​instrument=Bb''​),​ followed optionally by an octave indicator (e.g. +1, -2) to specify if the transposition is "​high"​ or "​low"​   * the ''​instrument=<​key>''​ modifier describes the "​key"​ of the instrument (e.g. Bb clarinet is indicated by ''​instrument=Bb''​),​ followed optionally by an octave indicator (e.g. +1, -2) to specify if the transposition is "​high"​ or "​low"​
   * the ''​abc''​ modifier describes the pitch at which the abc code has been transcribed;​ use ''​abc=sounding-pitch''​ for sounding pitch and ''​abc=written-pitch''​ for written pitch   * the ''​abc''​ modifier describes the pitch at which the abc code has been transcribed;​ use ''​abc=sounding-pitch''​ for sounding pitch and ''​abc=written-pitch''​ for written pitch
-  * the ''​shift'' ​modifier describes ​what the software must do to produce ​typeset score or sound output: if the abc code has been transcribed at sounding pitch, ''​shift-score''​ indicates how to produce ​a typeset score at written pitch; conversely, if the abc code has been transcribed at written pitch, ''​shift-sound''​ indicates how to produce playback at sounding pitch+  * the ''​shift'' ​modifiers describe ​what the software must do to produce ​the required ​typeset score or to adjust the playback: if the abc code has been transcribed at sounding pitch, ​the typeset score will need transposing to written pitch and ''​shift-score''​ indicates how to produce ​this; conversely, if the abc code has been transcribed at written pitch, ​the playback will need adjusting and the ''​shift-sound''​ indicates how to achieve this
  
-// Example: // Bb instruments sound a tone below what is written so that if the abc code is transcribed at sounding pitchthe typeset score must be shifted up by two semitones. This is fully specified as:+// Example: // Bb instruments sound a tone below what is writtenso that if the abc code is transcribed at sounding pitch the typeset score must be shifted up by two semitones. This is fully specified as:
   V:clarinet instrument=Bb abc=sounding-pitch shift-score=+2   V:clarinet instrument=Bb abc=sounding-pitch shift-score=+2
   ​   ​
Line 87: Line 87:
   V:clarinet instrument=Bb abc=written-pitch shift-sound=-2   V:clarinet instrument=Bb abc=written-pitch shift-sound=-2
  
-The ''​instrument''​ and ''​abc''​ modifiers describe how the music has been transcribed and closely mimic typical language used by musicians who play transposing instruments. By contrast, the ''​shift''​ modifiers instruct the reader (human or software) how to produce the desired output. These mutually dependent constructs have been deliberately chosen to suit different ways of looking at the same issue and in fact each modifier can inferred from one or both of the others.+The ''​instrument''​ and ''​abc''​ modifiers ​jointly ​describe how the music has been transcribed and closely mimic typical language used by musicians who play transposing instruments. By contrast, the ''​shift''​ modifiers instruct the reader (human or software) how to produce the desired output. These mutually dependent constructs have been deliberately chosen to suit different ways of looking at the same issue and in fact each modifier can inferred from oneor bothof the others.
  
-The following table lists the ''​instrument''​ "​keys"​ that are supported (see [[http://​en.wikipedia.org/​wiki/​Transposing_instrument|Wikipedia]] for a full list of transposing instruments) together with their corresponding ''​shift''​ values:+The following table lists the ''​instrument''​ "​keys"​ that are supported ​together with their corresponding ''​shift''​ values ​(see [[http://​en.wikipedia.org/​wiki/​Transposing_instrument|Wikipedia]] for a full list of transposing instruments ​and their keys):
  
-^ ''​instrument'' ​   ^ ''​abc=sounding-pitch''​ ^ ''​abc=written-pitch''​ ^  example ^+^ ''​instrument'' ​   ^ ''​abc=sounding-pitch''​ ^ ''​abc=written-pitch''​ ^ example ^
 | ''​instrument=C'' ​ | ''​shift-score=0'' ​     | ''​shift-sound=0'' ​    | | | ''​instrument=C'' ​ | ''​shift-score=0'' ​     | ''​shift-sound=0'' ​    | |
 | ''​instrument=Bb''​ | ''​shift-score=+2'' ​    | ''​shift-sound=-2'' ​   | Bb clarinet | | ''​instrument=Bb''​ | ''​shift-score=+2'' ​    | ''​shift-sound=-2'' ​   | Bb clarinet |
Line 113: Line 113:
 == Syntax possibilities and alternatives == == Syntax possibilities and alternatives ==
  
-Because each modifier can inferred from one or both of the others it is possible to omit one (or sometimes even two) of the modifiers as follows: +Because each modifier can inferred from one or both of the others it is possible to omit one (or sometimes even two) of the modifiers, according to taste, ​as follows: 
-  * if the ''​instrument'' ​modifier is omitted, it can be inferred from the ''​shift''​ modifier (e.g. see the table above) +  * if either or both of the ''​instrument'' ​and ''​abc''​ modifiers are omitted ​they can each be inferred from the ''​shift''​ modifier: the ''​instrument''​ modifier can be inferred by calculating the semitone shift (e.g. see the table above)the ''​abc''​ modifier can be inferred ​direclty ​- a ''​shift-score''​ modifier implies ''​abc=sounding-pitch''​ and ''​shift-sound''​ implies ''​abc=written-pitch''​
-  * if the ''​abc''​ modifier ​is omitted it can also be inferred ​from the ''​shift''​ modifier ​- a ''​shift-score''​ modifier implies ''​abc=sounding-pitch''​ and ''​shift-sound''​ implies ''​abc=written-pitch''​ +
-  * in fact, if both ''​instrument''​ and ''​abc''​ are omitted they can both be inferred from the ''​shift''​ modifier+
   * if the ''​shift''​ modifier is omitted, it can be inferred from the ''​instrument''​ and ''​abc''​ modifiers (e.g. see the table above)   * if the ''​shift''​ modifier is omitted, it can be inferred from the ''​instrument''​ and ''​abc''​ modifiers (e.g. see the table above)
   * the default for the ''​abc''​ modifier is sounding pitch, so that if both ''​abc''​ and ''​shift''​ modifiers are missing, the default ''​abc=sounding-pitch''​ is assumed and the ''​shift''​ modifier can then be inferred (e.g. see the table above)   * the default for the ''​abc''​ modifier is sounding pitch, so that if both ''​abc''​ and ''​shift''​ modifiers are missing, the default ''​abc=sounding-pitch''​ is assumed and the ''​shift''​ modifier can then be inferred (e.g. see the table above)
Line 132: Line 130:
   V:clarinet shift-sound=-2   V:clarinet shift-sound=-2
  
-// Recommendation:​ // These differing possibilities have been deliberately included because of the wide-range of views whilst this syntax was being discussed. The user is recommended to find decide on set of modifiers that they find most suggestive and stick with them.+// Recommendation:​ // These differing possibilities have been deliberately included because of wide-range of views whilst this syntax was being discussed. The user is recommended to decide on the set of modifiers that they find most suggestive and stick with them.
  
 Since there are more ways to specify abc code for a transposing instrument than is absolutely necessary, it is possible for the modifiers within a field to contain conflicting information. If this happens the ''​shift''​ modifiers always override ''​instrument''​ and ''​abc''​. However, software encountering such conflicts should issue a warning to the user. Since there are more ways to specify abc code for a transposing instrument than is absolutely necessary, it is possible for the modifiers within a field to contain conflicting information. If this happens the ''​shift''​ modifiers always override ''​instrument''​ and ''​abc''​. However, software encountering such conflicts should issue a warning to the user.
  
-// Example: // The modifiers ​''​instrument=Bb abc=written-pitch shift-score=+3'' ​are meaningless musically ​(and logically)Since the ''​shift''​ modifier overrides the other two, this would be treated exactly the same as ''​instrument=A abc=sounding-pitch shift-score=+3'',​ although the software should issue a warning that the modifiers did not make sense.+// Example: // The combination of ''​instrument=Bb abc=written-pitch shift-score=+3'' ​is meaningless musically. ​However, since the ''​shift''​ modifier overrides the other two, this would be treated exactly the same as ''​instrument=A abc=sounding-pitch shift-score=+3'',​ although the software should issue a warning that the modifiers did not make sense.
  
 == Extended example == == Extended example ==
Line 146: Line 144:
   CDEF|   CDEF|
  
-For the clarinet part, there is a choice. If, say, the composer of the piece prefers to work at sounding pitch, the clarinet part can be transcribed as sounded with modifiers to indicate that the score should be typeset ​at written pitch, ​two semitones up from where it is sounded:+For the clarinet part, there is a choice. If, say, the composer of the piece prefers to work at sounding pitch, the clarinet part can be transcribed as sounded with modifiers to indicate that the score should be typeset two semitones up from where it is sounded:
   V:clarinet instrument=Bb abc=sounding-pitch shift-score=+2   V:clarinet instrument=Bb abc=sounding-pitch shift-score=+2
   K:C   K:C
Line 155: Line 153:
 // TODO: // include typeset score image showing ''​[K:​D] DEFG''​ // TODO: // include typeset score image showing ''​[K:​D] DEFG''​
  
-If, however, the clarinet player wants the abc music code to reflect what appears on the typeset score, the abc code can be transcribed at written pitch (i.e. the notes DEFG) with modifiers to indicate that the score should be typeset as transcribed,​ but that playback should be transposed two semitones down from where it is written:+Howeverif the clarinet player wants the abc music code to reflect what appears on the typeset score, the abc code can be transcribed at written pitch (i.e. the notes DEFG) with modifiers to indicate that the score should be typeset as transcribed,​ but that playback should be transposed two semitones down:
   V:clarinet instrument=Bb abc=written-pitch shift-sound=-2   V:clarinet instrument=Bb abc=written-pitch shift-sound=-2
   K:D   K:D
Line 164: Line 162:
 == Enharmonic indicators for transposing instruments == == Enharmonic indicators for transposing instruments ==
  
-Enharmonic distinctions can be determined using the ''​shift'' ​variant ​and the [[#semitone shift table]].+Enharmonic distinctions can be assessed by conisdering ​the ''​shift'' ​modifiers ​and the [[#semitone shift table]] ​(even if the ''​shift''​ modifier has to be inferred).
  
-// Example: // The following ​two fields are identical ​and therefore ​the resulting score would be typeset as if the key signature were ''​K:​F#''​ rather than ''​K:​Gb''​.+// Example: // In the following, the ''​instrument=Bb'' ​and ''​abc=sounding-pitch''​ modifiers imply ''​shift-score=+2''​. Therefore, as can be seen from the [[#semitone shift table]], ​the resulting score would be typeset as if the key signature were ''​K:​F#''​ rather than ''​K:​Gb''​. See [[#​enharmonic indicators]] for details.
   K:E instrument=Bb abc=sounding-pitch   K:E instrument=Bb abc=sounding-pitch
   K:E shift-score=+2   K:E shift-score=+2
   ​   ​
-To access other enharmonic choices, the ''​shift-score''​ (or ''​shift-sound''​) modifier ​should ​be used directly, although it can be used alongside the ''​instrument''​ and ''​pitch''​ modifiers (which are effectively ignored).+To access other enharmonic choices, the ''​shift-score''​ (or ''​shift-sound''​) modifier ​must be used directly.
  
-// Example: // In the following, the ''​shift-score=+2b''​ indicates that the resulting score should be typeset as if the key signature were ''​K:​Gb''​ rather than ''​K:​F#''​ (although this would be an unusual way to write for a Bb instrument):+// Example: // In the following, the ''​shift-score=+2b''​ indicates that the resulting score should be typeset as if the key signature were ''​K:​Gb''​ rather than ''​K:​F#''​ (although this would be a very unusual way to write for a Bb instrument). See [[#​enharmonic indicators]] for details.
   K:E instrument=Bb abc=sounding-pitch shift-score=+2b   K:E instrument=Bb abc=sounding-pitch shift-score=+2b
   ​   ​
 == Transposition for transposing instruments == == Transposition for transposing instruments ==
  
-If the ''​I:​transpose''​ directive is used for a tune which has one or more voices written for transposing instruments,​ then the transposition is combined with the transposing instrument by adding ​together ​the equivalent ​''​shift-score''​ and ''​shift-sound''​ modifiers.+If the ''​I:​transposition''​ directive is used for a tune which has one or more voices written for transposing instruments,​ then the transposition is combined with the transposing instrument by adding the transposition'​s ​''​shift-score''​ and ''​shift-sound''​ modifier equivalents into the existing ''​shift''​ modifiers ​that have been used to specify transposing instrument (even if they have to be inferred).
  
 // Example: // Consider the following excerpt: // Example: // Consider the following excerpt:
Line 184: Line 182:
   K:C   K:C
   CDEF|   CDEF|
-The ''​I:​transposition 7''​ directive is equivalent to applying ''​shift-score=7''​ and ''​shift-sound=7''​ to every key signature. Meanwhile the ''​instrument=Bb abc=sounding-pitch''​ implies ''​shift-sound=2''​. The excerpt above is therefore equivalent to the following ​(since ​the ''​instrument''​ and ''​abc''​ modifiers no longer make sense)+The ''​I:​transposition 7''​ directive is equivalent to applying ''​shift-score=7''​ and ''​shift-sound=7''​ to every key signature ​(see [[#​transposition of a tune file|transposition of a tune / file]]. Meanwhile the ''​instrument=Bb abc=sounding-pitch''​ implies ''​shift-sound=2''​. The excerpt above is therefore equivalent to the following, where the two ''​shift-score''​ modifiers are added together to give 9 and the ''​instrument''​ and ''​abc''​ modifiers ​are omitted since they no longer make sense: 
-  V:clarinet shift-score=9 shift-sound=2+  V:clarinet shift-score=9 shift-sound=7
   K:C   K:C
   CDEF|   CDEF|
Line 193: Line 191:
 == Extracting a score in sounding / concert pitch == == Extracting a score in sounding / concert pitch ==
  
-When included ​in the tune header ​(or even the file header) the ''​I:​shift to-sounding''​ directive can be used to typeset a complete score (or even all the scores in a file) at //sounding pitch//. To accomplish ​this it effectively ​ignores all of the ''​shift-score''​ modifiers and treats all of the ''​shift-sound''​ modifiers as if they were ''​shift-both''​.+If one or more voices ​in tune are transcribed for transposing instruments it is sometimes useful to produce a sounding ​(concertpitch score (e.g. for the conductor). 
 + 
 +The ''​I:​shift to-sounding''​ directive can be used in the tune header (or even the file header) ​to typeset a complete score (or even all the scores in a file) at //sounding pitch//. To achieve ​this, in effect, ''​I:​shift to-sounding'' ​ignores all of the ''​shift-score''​ modifiers and treats all of the ''​shift-sound=<​semitones>​''​ modifiers as if they were ''​shift-sound=<​semitones>''​ and ''​shift-score=<​semitones>​''​.
  
-// Example: // The following excerpts ​will be treated identically by both playback and typesetting software and will produce a typeset score at //sounding pitch// (the sound output is already at //sounding pitch// and so is unaffected).+// Example: // The following excerpts ​are treated identically by both playback and typesetting software and produce a typeset score at //sounding pitch// (the sound output is already at //sounding pitch// and so is unaffected).
   I:shift to-sounding   I:shift to-sounding
   ...   ...
   V:clarinet 1   V:clarinet 1
-  K:D shift-sound=-2 ​% transcribed at written pitch+  K:D instrument=Bb abc=written-pitch % implies ​shift-sound=-2
   DEFG|   DEFG|
   V:clarinet 2   V:clarinet 2
-  K:C shift-score=2 ​ % transcribed at sounding pitch+  K:C instrument=Bb abc=sounding-pitch % implies ​shift-score=2
   CDEF|   CDEF|
  
   V:clarinet 1   V:clarinet 1
-  K:D shift-both=-2+  K:D shift-sound=-2 shift-score=-2
   DEFG|   DEFG|
   V:clarinet 2   V:clarinet 2
Line 216: Line 216:
 Generally, when an ''​I:​transposition''​ directive is used for a tune, or a ''​shift-score''​ or ''​shift-sound''​ modifier applied to a field, each affected key signature will be changed to the key signature which is closest in the [[http://​en.wikipedia.org/​wiki/​Cycle_of_fifths|cycle (helix) of fifths]]. However, if the key shifts through 6 or more steps in the cycle, it is ambiguous which key is required. Generally, when an ''​I:​transposition''​ directive is used for a tune, or a ''​shift-score''​ or ''​shift-sound''​ modifier applied to a field, each affected key signature will be changed to the key signature which is closest in the [[http://​en.wikipedia.org/​wiki/​Cycle_of_fifths|cycle (helix) of fifths]]. However, if the key shifts through 6 or more steps in the cycle, it is ambiguous which key is required.
  
-The following examples are expressed in terms of ''​shift-score'',​ but the same rules govern an ''​I:​transposition''​ directive when applied to a ''​K:''​ field.+The following examples ​illustrate this. Mostly they are expressed in terms of ''​shift-score'',​ but the same rules govern an ''​I:​transposition''​ directive when applied to a ''​K:''​ field.
  
 // Example 1: // The transposition ''​K:​C shift-score=10''​ indicates that the score will be typeset in ''​K:​Bb''​ rather than ''​K:​A#'',​ since Bb is only two steps away from C in the cycle of fifths (C - F - Bb), whereas A# is ten steps away (C - G - D - A - E - B - F# - C# - G# - D# - A#). The same would be true for an ''​I:​transposition 10''​ directive applied to a ''​K:​C''​ field. // Example 1: // The transposition ''​K:​C shift-score=10''​ indicates that the score will be typeset in ''​K:​Bb''​ rather than ''​K:​A#'',​ since Bb is only two steps away from C in the cycle of fifths (C - F - Bb), whereas A# is ten steps away (C - G - D - A - E - B - F# - C# - G# - D# - A#). The same would be true for an ''​I:​transposition 10''​ directive applied to a ''​K:​C''​ field.
Line 252: Line 252:
 To calculate downward shifts, look up the number in the table and subtract 12 from it (leaving the enharmonic indicator unchanged). To calculate downward shifts, look up the number in the table and subtract 12 from it (leaving the enharmonic indicator unchanged).
  
-// Example: // Transposing ​up from ''​K:​C''​ to ''​K:​G''​ (the row headed ''​K:​C''​ and the column headed ''​G''​) is a positive shift of 7 semitones and hence ''​I:​transpose ​7'' ​could be used to . Transposing down from ''​K:​C''​ to ''​K:​G''​ is (7 - 12) = -5 semitones.+// Example: // To transposing ​up from ''​K:​C''​ to ''​K:​G''​ (the row headed ''​K:​C''​ and the column headed ''​G''​) is a positive shift of 7 semitones and hence ''​I:​transposition ​7'' ​is used. Transposing down from ''​K:​C''​ to ''​K:​G''​ is (7 - 12) = -5 semitones ​and hence ''​I:​transposition -5''​ is used.
  
 The shift can also go beyond an octave. The shift can also go beyond an octave.
Line 260: Line 260:
 Note that even though they are not specifically mentioned in the table, the semitone shifts also work for minor and modal keys, provided that both original and required key signatures are both minor or both in the same mode. Note that even though they are not specifically mentioned in the table, the semitone shifts also work for minor and modal keys, provided that both original and required key signatures are both minor or both in the same mode.
  
-// Example: // Transposing ​up from ''​K:​Cmin''​ to ''​K:​Gmin''​ is a positive shift of 7 semitones (the same semitone shift as for ''​K:​C''​ to ''​K:​G''​).+// Example: // To transpose ​up from ''​K:​Cmin''​ to ''​K:​Gmin''​ is a positive shift of 7 semitones (the same semitone shift as for ''​K:​C''​ to ''​K:​G''​).
  
-Finally note that enharmonic indicators ​can also be used for the ''​shift-sound'' ​and ''​shift-both''​ modifiers ​although they will only make a difference to the sound if the playback software can handle non-equal temperaments (since, for example, a Gb will sound exactly the same as an F# in equal temperament).+Finally note that enharmonic indicators ​do also make sense for the ''​shift-sound'' ​modifier ​although they will only make a difference to the sound if the playback software can handle non-equal temperaments (since, for example, a Gb will sound exactly the same as an F# in equal temperament).
  
  
abc/standard/v2.1/proposals/transposition/v4.txt · Last modified: 2012/01/27 18:14 by cwalshaw
 
Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Noncommercial-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki