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 Both sides next revision
abc:standard:v2.1:proposals:transposition:v15 [2014/08/29 09:22]
cwalshaw
abc:standard:v2.1:proposals:transposition:v15 [2014/08/29 12:33]
cwalshaw
Line 1: Line 1:
 ===== Transposition proposal - summary ===== ===== Transposition proposal - summary =====
-This page contains the fifteenth draft of a proposal to extend the transcription capabilities within abc. It involves only minor changes from the thirteenth draft (the fourteenth draft looked at another approach):+This page contains the fifteenth draft of a proposal to extend the transcription capabilities within abc. It involves only minor changes from the thirteenth draft (the fourteenth draft looked at another approach) ​plus some additional features:
   * a new syntax, ''​instrument=<​note>;​abc@<​note>'',​ has been introduced for transposing instruments   * a new syntax, ''​instrument=<​note>;​abc@<​note>'',​ has been introduced for transposing instruments
   * ''​K:''​ and ''​V:''​ modifiers in the same field no longer combine with each other   * ''​K:''​ and ''​V:''​ modifiers in the same field no longer combine with each other
   * the examples have been extended to include [[#Custom transposition for diatonic instruments|custom transposition]]   * the examples have been extended to include [[#Custom transposition for diatonic instruments|custom transposition]]
-  * new/​revised ​syntax for ''​concert-clef'',​ ''​I:​sounding-score''​ and ''​I:​concert-score''​ has been introduced - see [[#​Generating a concert pitch score]]+  * new syntax for ''​concert-clef'',​ ''​I:​sounding-score''​ and ''​I:​concert-score''​ has been introduced - see [[#​Generating a concert pitch score]]
  
 The important aspects of this proposal are the same as versions 10 - 13: The important aspects of this proposal are the same as versions 10 - 13:
-  * A single ​system for transposition ​(rather than the dual high/​low-level systems proposed previously) ​consisting of the well-establised ''​score''​ and ''​sound''​ operators (shortened from ''​shift-score''​ and ''​shift-sound''​),​ which allow the typeset score and playback to be modified independently+  * a unified ​system for transposition consisting of the well-establised ''​score''​ and ''​sound''​ operators (shortened from ''​shift-score''​ and ''​shift-sound''​),​ which allow the typeset score and playback to be modified independently
   * transposition by interval (e.g. C to G), rather than by semitones as previously   * transposition by interval (e.g. C to G), rather than by semitones as previously
-  * ''​instrument'' ​synonyms for ''​score''​ and ''​sound''​to give an intuitive specification for transposing instruments +  * the ''​instrument'' ​modifier (defined in terms of ''​score''​ and ''​sound''​to give an intuitive specification for transposing instruments 
-  * ''​shift''​ shorthand for combined ''​score''​ and ''​sound''​ transpositions+  * the ''​shift''​ shorthand for combined ''​score''​ and ''​sound''​ transpositions
  
 As most of the syntax is agreed, this is a **working** draft, meaning that I will make changes to it as we go along. Possible changes include: As most of the syntax is agreed, this is a **working** draft, meaning that I will make changes to it as we go along. Possible changes include:
Line 82: Line 82:
  
 // Recommendation:​ // // Recommendation:​ //
-It is **strongly** recommended that shorthand modifiers are not mixed with direct modifiers, nor with each other, in the same tune - see [[#writing abc code for transposing instruments]] and [[#custom transposition for diatonic instruments]] for examples of typical usage.+It is **strongly** recommended that shorthand modifiers are not mixed with direct modifiers, nor with each other, in the same tune. See [[#writing abc code for transposing instruments]] and [[#custom transposition for diatonic instruments]] for examples of typical usage.
  
 // Note for developers: // // Note for developers: //
Line 131: Line 131:
  
 Transposing instruments sound notes at a different pitch to which they are written. For example, a C written on a Bb clarinet score would be sounded as a Bb (and similarly a written D would be sounded as a C). Transposing instruments sound notes at a different pitch to which they are written. For example, a C written on a Bb clarinet score would be sounded as a Bb (and similarly a written D would be sounded as a C).
- 
-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 that is actually sounded, also often referred to as concert pitch) to distinguish between the two.  
  
 The transposition operator for transposing instruments is ''​instrument=<​note1>;​abc@<​note2>'',​ where ''<​note1>''​ expresses the written pitch of the transposing instrument (relative to ''​c''​) and ''<​note2>''​ expresses the pitch at which the abc is encoded (also relative to ''​c''​). This operator, ''​instrument=<​note1>;​abc@<​note2>'',​ is a synonym for ''​score=<​note1><​note2>​ sound=c<​note2>''​. The transposition operator for transposing instruments is ''​instrument=<​note1>;​abc@<​note2>'',​ where ''<​note1>''​ expresses the written pitch of the transposing instrument (relative to ''​c''​) and ''<​note2>''​ expresses the pitch at which the abc is encoded (also relative to ''​c''​). This operator, ''​instrument=<​note1>;​abc@<​note2>'',​ is a synonym for ''​score=<​note1><​note2>​ sound=c<​note2>''​.
  
 There are two typical ways of writing abc code for transposing instruments:​ There are two typical ways of writing abc code for transposing instruments:​
-  - The abc code can be transcribed at sounding pitch using ''​instrument=<​note>;​abc@c''​ (or, if preferred ​''​score=<​note>​c''​). +  - The abc code can be transcribed at sounding pitch using ''​instrument=<​note>;​abc@c''​ (or ''​score=<​note>​c''​, if preferred). 
-  - The abc code can be transcribed at written pitch using ''​instrument=<​note>;​abc@<​note>''​ (or, if preferred ​''​sound=c<​note>''​). Since, in this case, the abc code is at the same pitch as the typeset output (and so the ''<​note>''​ value is the same for both ''​instrument=''​ and ''​abc@''​),​ the '';​abc@<​note>''​ may be omitted and so the modifier shortened to ''​instrument=<​note>''​.+  - The abc code can be transcribed at written pitch using ''​instrument=<​note>;​abc@<​note>''​ (or ''​sound=c<​note>''​, if preferred). Since, in this case, the abc code is at the same pitch as the typeset output (and so the ''<​note>''​ value is the same for both ''​instrument=''​ and ''​abc@''​),​ the '';​abc@<​note>''​ may be omitted and so the modifier shortened to ''​instrument=<​note>''​.
  
 A third less common possibility occurs if the abc code is transcribed at a different pitch from both sounding and written pitches (as can happen in the case of re-transposition - [[#​Transposing instruments - extended example|see below]]) and in this case the full ''​instrument=<​note1>;​abc@<​note2>''​ must be used to express the written pitch of the instrument in question (in the ''<​note1>''​ value) and the pitch at which the abc is encoded (in the ''<​note2>''​ value). A third less common possibility occurs if the abc code is transcribed at a different pitch from both sounding and written pitches (as can happen in the case of re-transposition - [[#​Transposing instruments - extended example|see below]]) and in this case the full ''​instrument=<​note1>;​abc@<​note2>''​ must be used to express the written pitch of the instrument in question (in the ''<​note1>''​ value) and the pitch at which the abc is encoded (in the ''<​note2>''​ value).
Line 159: Line 157:
  
 // Notes for developers: // // Notes for developers: //
-To evaluate this formally, resolve all of the ''​instrument=''​ and ''​shift=''​ shorthands to their ''​score=''​ and ''​sound=''​ equivalents and then apply the ''​sound''​ transposition interval to the ''​score''​ modifier, so that ''​score=<​note1><​note2>​ sound=<​note3><​note4>''​ would effectively be changed by ''​I:​sounding-score''​ to ''​score=<​note3><​note4>​ sound=<​note3><​note4>''​. The same changes apply for ''​I:​concert-score''​ unless both ''<​note1>''​ and ''<​note2>''​ are a C (in any octave). These changes should be made **before** any overall transposition set by ''​I:​score'',​ ''​I:​sound''​ and ''​I:​shift''​ is applied.+To evaluate this formally, resolve all of the ''​instrument=''​ and ''​shift=''​ shorthands to their ''​score=''​ and ''​sound=''​ equivalents and then apply the ''​sound''​ transposition interval to the ''​score''​ modifier, so that ''​score=<​note1><​note2>​ sound=<​note3><​note4>''​ would effectively be changed by ''​I:​sounding-score''​ to ''​score=<​note3><​note4>​ sound=<​note3><​note4>''​. The same changes apply for ''​I:​concert-score''​ unless both ''<​note1>''​ and ''<​note3>''​ are a C (in any octave) ​in which case ''​score=''​ is left unchanged. These changes should be made **before** any overall transposition set by ''​I:​score'',​ ''​I:​sound''​ and ''​I:​shift''​ is applied.
  
 Generally the clef on the concert/​sounding score will be the same as on the written score, but to change it, use ''​concert-clef=<​clef-name>''​. Generally the clef on the concert/​sounding score will be the same as on the written score, but to change it, use ''​concert-clef=<​clef-name>''​.
abc/standard/v2.1/proposals/transposition/v15.txt · Last modified: 2015/02/11 17:07 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