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

abc:standard:v2.1:proposals:transposition:v7 [2012/02/17 21:18]
cwalshaw created
abc:standard:v2.1:proposals:transposition:v7 [2012/02/17 23:22] (current)
cwalshaw
Line 1: Line 1:
 // ** Transposition proposal: summary ** // // ** Transposition proposal: summary ** //
-This page contains the sixth draft of a proposal to extend the transcription capabilities within abc (following hundreds of messages on the abcusers mailing list in Sep 2011 and subsequently in Dec 2011 - Feb 2012). It is based on numerous comments, suggestions and proposals from lots of contributors.+This page contains the seventh ​draft of a proposal to extend the transcription capabilities within abc (following hundreds of messages on the abcusers mailing list in Sep 2011 and subsequently in Dec 2011 - Feb 2012). It is based on numerous comments, suggestions and proposals from lots of contributors.
  
-This sixth version does a number of things (and is quite a big step from the fifth):+The seventh draft is a minor change from the sixth and just modifies the way ''​I:​transpose''​ instructions interact with each other (they override rather than combine). The only sections affected are [[#scope and inheritance of transpose instructions]],​ [[#​enharmonic alternatives for transposition]] and [[#​transposition for transposing instruments]]. 
 + 
 +The sixth version ​however ​does a number of things (and is quite a big step from the fifth):
     * separates the music-centric and instrument-centric versions of transposition into two distinct systems:     * separates the music-centric and instrument-centric versions of transposition into two distinct systems:
       * one containing the high-level (closer to the musician) ''​instrument''​ modifier that operates on the ''​V:''​ and ''​K:''​ fields and provide syntax for transposing instruments       * one containing the high-level (closer to the musician) ''​instrument''​ modifier that operates on the ''​V:''​ and ''​K:''​ fields and provide syntax for transposing instruments
Line 199: Line 201:
   * an ''​I:​transpose''​ instruction in the tune body is applied to the current voice from where it appears to the end of the tune.   * an ''​I:​transpose''​ instruction in the tune body is applied to the current voice from where it appears to the end of the tune.
  
-Unusuallyrather than overriding ​any existing ​transposition settingeach successive ​''​I:​transpose''​ instruction ​combines with it (or with a high-level ''​instrument'' ​modifier) by adding together their semitone values.+Each ''​I:​transpose''​ setting overrides the score and / or sound transposition individually as follows: 
 +  * an ''​I:​transpose-score''​ instruction overrides any existing ''​I:​transpose-score''​ instructionbut leaves ''​I:​transpose-sound''​ unchanged;​ 
 +  * an ''​I:​transpose-sound''​ instruction overrides ​any existing ​''​I:​transpose-sound''​ instructionbut leaves ​''​I:​transpose-score''​ unchanged;​ 
 +  * an ''​I:​transpose <n>''​ instruction ​is equivalent to ''​I:​transpose-score <n>'' ​and ''​I:​transpose-sound <n>''​.
  
-// Example: // The following two lines are considered identical (spaces added for easy comparison);​ here the effect of the second ​''​I:​transpose'' ​instruction is to change ​the transposition to 5 (= 7 - 2): +// Example ​1: // If both ''​I:​transpose'' ​instructions are of the same type then second simply overrides the firstThus the following two lines are considered identical (spaces added for easy comparison):​ 
-  [K:C] CDE| [I:​transpose 7]CDE| [I:​transpose -2]CDE| +  [K:C] CDE| [I:​transpose 7]CDE| [I:​transpose ​5]CDE| 
-  [K:C] CDE|                GAB|                 ​FGA| +  [K:C] CDE|                GAB|                FGA
- +   
-As a consequence of this combining rule: +// Example 2: // If the ''​I:​transpose'' ​instructions are different then the override ​is carried out indiviudally by sound or score. ​Thus the following two lines are considered identical:​ 
-  * ''​I:​transpose 0''​ has no effect (other than on enharmonic alternatives - see [[#​enharmonic alternatives for transposition|below]]);​ +  [I:​transpose 7][I:​transpose-sound ​5]
-  * to cancel an ''​I:​transpose''​ instruction,​ you must include another one which negates it. +
- +
-// Example: // The following two lines are considered identical (spaces added for easy comparison):​ +
-  [K:C] CDE| [I:​transpose 7]CDE| [I:​transpose ​-7] CDE| +
-  [K:C] CDE|                GAB|                  CDE+
- +
-Also, in terms of combinations, ​''​I:​transpose ​<n>''​ is equivalent to ''​I:​transpose-score <​n>''​ and ''​I:​transpose-sound <​n>''​. +
- +
-// Example: // The following two lines are considered identical:​ +
-  [I:​transpose 7][I:​transpose-sound ​-2]+
   [I:​transpose-score 7][I:​transpose-sound 5]   [I:​transpose-score 7][I:​transpose-sound 5]
- +  
-Finally, the inclusion of an ''​I:​transpose-sound''​ instruction has no effect on the ''​I:​transpose-score''​ setting and vice-versa. +// Recommendation:​ // The examples above are somewhat esoteric, provided for the purpose of explaining the scoping rules and not to demonstrate typical usage. Indeed, an abc tune is difficult to read if it contains ​more than one ''​I:​tranpose''​ instruction and so it is recommended to keep them to an absolute minimum, either once in the file header or in individual tune headers or possibly at the start of specific voices.
- +
-// Recommendation:​ // The examples above are somewhat esoteric, provided for the purpose of explaining the scoping rules and not to demonstrate typical usage. Indeed, an abc file is very difficult to read if more than one ''​I:​tranpose''​ instruction ​is in force at any one time and so it is recommended to keep them to an absolute minimum, either once in the file header or in individual tune headers or possibly at the start of specific voices.+
  
 == Enharmonic alternatives for transposition ==  == Enharmonic alternatives for transposition == 
Line 245: Line 238:
   [I:​transpose 2#][K:F#] % K:Ab despite the enharmonic indicator, as K:G# is outside the range of supported key signatures   [I:​transpose 2#][K:F#] % K:Ab despite the enharmonic indicator, as K:G# is outside the range of supported key signatures
  
-In the event of ''​I:​tranpose''​ instructions combining, the most recent enharmonic indicator (i.e. ''#''​ or ''​b''​ or nothing) is used. +Note that enharmonic indicators ​apply to playback ​and typesetting alike, although they will only make a difference to the playback ​if the software can handle non-equal temperaments (since in equal temperament a Gb, say, will sound exactly the same as an F#).
- +
-// Example: // The following (esoteric) example demonstrates how enharmonic indicators ​combine: +
-  K:C +
-  I:transpose -1 % transposes ​to K:B (5 sharps) +
-  I:transpose 0b % no change to the semitone transposition,​ but the enharmonic indicator changes the key to K:Cb (7 flats) +
-  I:transpose 0  % no change to the semitone transposition,​ but the empty enharmonic indicator changes the key back to K:B +
- +
-Finally note that enharmonic indicators do also make sense for playback, although they will only make a difference to the sound if the software can handle non-equal temperaments (since in equal temperament a Gb, say, will sound exactly the same as an F#).+
  
 == Transposition for transposing instruments == == Transposition for transposing instruments ==
Line 259: Line 244:
 Generally, the low-level ''​I:​transpose''​ instructions should not be used alongside the high-level ''​instrument''​ modifiers as they represent different approaches to transposition (included in the abc specification to support the diversity of views when the topic was discussed). However, they can be used together if the need arises to transpose a piece which contains one or more voices transcribed for transposing instruments. Generally, the low-level ''​I:​transpose''​ instructions should not be used alongside the high-level ''​instrument''​ modifiers as they represent different approaches to transposition (included in the abc specification to support the diversity of views when the topic was discussed). However, they can be used together if the need arises to transpose a piece which contains one or more voices transcribed for transposing instruments.
  
-The result of transposition applied to transposing instrument voices is, in effect, the same as if all the high-level ''​instrument''​ modifiers were translated into low-level ''​I:​transpose''​ instructions and then the rules for [[#​scope ​and inheritance ​of transpose instructions]] applied. The [[#​instrument transposition table]] (in the appendices) lists the standard transposing instrument "​keys"​ together with their corresponding ''​I:​transpose''​ values.+The result of transposition applied to transposing instrument voices is, in effect, the same as if all the high-level ''​instrument''​ modifiers were to be translated into low-level ''​I:​transpose''​ instructions and then combined with the ''​I:​transposition''​ setting. 
 + 
 +They are combined by adding their semitone values together ​and using the enharmonic indicator ​of the implied by the ''​instrument''​ modifier. The [[#​instrument transposition table]] (in the appendices) lists the standard transposing instrument "​keys"​ together with their corresponding ''​I:​transpose''​ values ​together with implied enharmonic indicators.
  
 // Example: // Consider the following excerpt: // Example: // Consider the following excerpt:
 +  V:clarinet instrument=Bb
   I:transpose 7   I:transpose 7
-  V:clarinet instrument=Bb 
-  K:C 
-  CDEF| 
-The ''​I:​transpose 7''​ directive is equivalent to applying ''​I:​transpose-score 7''​ and ''​I:​transpose-sound 7''​. Meanwhile the ''​instrument=Bb''​ assumes the default of ''​I:​abc-pitch concert''​ and hence is equivalent to ''​I:​transpose-sound 2#''​. The excerpt above is therefore directly equivalent to the following: 
-  I:​transpose-score 7 
-  I:​transpose-sound 7 
-  V:clarinet 
-  I:​transpose-score 2# 
   K:C   K:C
   CDEF|   CDEF|
-Finally the combined effect of the transpose ​instructions ​is equivalent to the following, where the two ''​I:​transpose-score'' ​instructions are added together to give 9 and the enharmonic indicator ​of the second ​is adopted:+The ''​I:​transpose ​7''​ directive ​is equivalent to applying ​''​I:​transpose-score ​7''​ and ''​I:​transpose-sound 7''​. Meanwhile ​the ''​instrument=Bb''​ assumes the default ​of ''​I:​abc-pitch concert''​ and hence is equivalent to ''​I:​transpose-sound 2#''​ (see the [[#​instrument transposition table]]). Once the semitone values are added togther, the excerpt above is equivalent to the following:
   V:clarinet   V:clarinet
   I:​transpose-score 9#   I:​transpose-score 9#
abc/standard/v2.1/proposals/transposition/v7.txt · Last modified: 2012/02/17 23:22 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