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

# Differences

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

 abc:standard:v2.1:proposals:clefs_voice_parameters:dave:v1 [2012/08/17 10:42]dave [4.6.4 Alignment of clefs and transpositions] abc:standard:v2.1:proposals:clefs_voice_parameters:dave:v1 [2012/08/17 11:48] (current)dave [4.6.6 Design philosophy] Both sides previous revision Previous revision 2012/08/17 11:48 dave [4.6.6 Design philosophy] 2012/08/17 11:41 dave 2012/08/17 10:42 dave [4.6.4 Alignment of clefs and transpositions] 2012/08/15 16:53 dave 2012/08/15 14:02 dave 2012/08/15 09:20 cwalshaw created Next revision Previous revision 2012/08/17 11:48 dave [4.6.6 Design philosophy] 2012/08/17 11:41 dave 2012/08/17 10:42 dave [4.6.4 Alignment of clefs and transpositions] 2012/08/15 16:53 dave 2012/08/15 14:02 dave 2012/08/15 09:20 cwalshaw created Line 23: Line 23: ^ abc syntax ^ Interval ​      ^ Example ​  ^ ^ abc syntax ^ Interval ​      ^ Example ​  ^ - | 1:1        | minor 2nd      | C to Db   | + |    1:1     ​| minor 2nd      | C to Db   | - | 2:1        | major 2nd      | C to D    | + |    2:1     ​| major 2nd      | C to D    | - | 2:2        | diminished 3rd | C to Ebb  | + |    2:2     ​| diminished 3rd | C to Ebb  | - | 7:4        | perfect 5th    | C to G    | + |    7:4     ​| perfect 5th    | C to G    | + |   ​-2:​-1 ​   | major 2nd      | C to Bb   | Line 32: Line 34: ^ semitones ^ means ^ Interval ​       ^ Example ​ ^ ^ semitones ^ means ^ Interval ​       ^ Example ​ ^ - |  0        |   0:0 | perfect unison | C to C  | + |     ​0     ​|   0:0 | perfect unison | C to C  | - |  1        |   1:1 | minor 2nd      | C to Db | + |     ​1     ​|   1:1 | minor 2nd      | C to Db | - |  2        |   2:1 | major 2nd      | C to D  | + |     ​2     ​|   2:1 | major 2nd      | C to D  | - |  3        |   3:2 | minor 3rd      | C to Eb | + |     ​3     ​|   3:2 | minor 3rd      | C to Eb | - |  4        |   4:2 | major 3rd      | C to E  | + |     ​4     ​|   4:2 | major 3rd      | C to E  | - |  5        |   5:3 | perfect 4th    | C to F  | + |     ​5     ​|   5:3 | perfect 4th    | C to F  | - |  6        |   6:4 | diminished 5th | C to Gb | + |     ​6     ​|   6:4 | diminished 5th | C to Gb | - |  7        |   7:4 | perfect 5th    | C to G  | + |     ​7     ​|   7:4 | perfect 5th    | C to G  | - |  8        |   8:5 | minor 6th      | C to Ab | + |     ​8     ​|   8:5 | minor 6th      | C to Ab | - |  9        |   9:5 | major 6th      | C to A  | + |     ​9     ​|   9:5 | major 6th      | C to A  | - | 10        |  10:6 | minor 7th      | C to Bb | + |    10     ​|  10:6 | minor 7th      | C to Bb | - | 11        |  11:6 | major 7th      | C to B  | + |    11     ​|  11:6 | major 7th      | C to B  | + + Defaults for compound and downward intervals are as obtained by adding perfect octaves. Note that all perfect, major, and minor intervals can be defined without explicitly defining the number of steps, and so the need to specify a number of steps will be infrequent. ​ Furthermore,​ for playback purposes only the number of semitones may be needed. Note that all perfect, major, and minor intervals can be defined without explicitly defining the number of steps, and so the need to specify a number of steps will be infrequent. ​ Furthermore,​ for playback purposes only the number of semitones may be needed. + + Note that //​addition//​ and //​subtraction//​ of intervals is straightforward:​ the semitones and steps components are just added or subtracted individually. ===== 4.6.2 Transposing instruments ===== ===== 4.6.2 Transposing instruments ===== Line 217: Line 223: And when it comes to the use of transposing instruments,​ and indeed to the new ''​shift''​ keyword, the existence of (now unneeded) ''​middle''​ just makes things impossibly difficult. ​ Therefore it is now deprecated. And when it comes to the use of transposing instruments,​ and indeed to the new ''​shift''​ keyword, the existence of (now unneeded) ''​middle''​ just makes things impossibly difficult. ​ Therefore it is now deprecated. + ===== 4.6.6 Design philosophy ===== + + The keywords ''​+8/​-8 transpose octave shift''​ (and not others) are defined as they are, for very specific reasons. ​ Importantly:​ + + * apart from the new ''​shift'',​ all are from abc2.1; + * all requirements of transposed parts are met by combining them; + * different combinations do not readily yield nonsensical abc. + + In general there are three pitches of interest: + + * The pitch at which the abc is represented **(abc)** ; + * The pitch at which the music is written ​ **(the dots)** ; + * The pitch at which the music sounds ​ **(sound)** . + + and therefore three relationships connecting them, of which any two imply the other. + + * **abc -> dots** is controlled by the ''​octave''​ and ''​shift''​ parameters, which leave the //​dots->​sound//​ relationship unchanged. + * **dots -> sound** is controlled by the ''​+8,​-8''​ and ''​transpose''​ parameters, whch leave the //​abc->​dots//​ relationship unchanged. + + The //​abc->​sound//​ relationship is implied in both cases, and importantly there are no parameters which define this explicitly. ​ Why not? + + * The relationship **abc->​dots** is the essence of abc; as a notation format it is different from MIDI which encodes only sounding pitches. + * The relationship **dots->​sound** is a fundamental property of the score on which you're working: it defines the //​instrumentation//​ (albeit incompletely). + + If you know which written notes the abc represents, and you know your instrumentation,​ then you know where they sound. ​ Suppose you wanted to change the //​abc->​sound//​ relationship directly. ​ Then at least one of the other two relationships must change: if it keeps the instrumentation,​ then it redefines the meaning of the abc in terms of written notes; if it keeps the meaning of the abc notes, then it changes the instrumentation (and instrument transpositions will no longer be gven by the transpose parameter). ​  Both of these must be considered 'side effects'​ of such an operation, and such are undesirable. ​ Therefore the //​abc->​dots//​ and //​dots->​sound//​ relationships are considered as the two fundamentally important ones and //​abc->​sound//​ is implied. ​ + + Because of the addition properties of intervals this does not mean it is difficult to  write play-back software. ​ The interval from the written abc to the playback sound is just //​transpose-sound//​ if those two parameters are used, (with ''​+/​-8''​ and/or ''​octave''​ adding octaves appropriately). + + + ====== 4.7 Showing scores at concert pitch ====== ====== 4.7 Showing scores at concert pitch ====== Line 287: Line 323: 4)abc2.1 can only represent '​written pitch' scores. ​  A method is needed to write concert pitch scores. ​ My instruction to write a concert pitch score "​I:​concert_pitch" ​ is identical to Alex's "​I:​concert_score"​ but renamed for a reason. ​ I have also taken on board Alex's "​I:​clef_concert"​ with the same meaning (having grilled him mercilessly about it), and I wanted to use the ..._concert keyword suffix in the same way for I:​score_concert which allows a different assignment of voices to staves when producing a concert pitch score. ​ I renamed I:​concert_score to try to avoid confusion. 4)abc2.1 can only represent '​written pitch' scores. ​  A method is needed to write concert pitch scores. ​ My instruction to write a concert pitch score "​I:​concert_pitch" ​ is identical to Alex's "​I:​concert_score"​ but renamed for a reason. ​ I have also taken on board Alex's "​I:​clef_concert"​ with the same meaning (having grilled him mercilessly about it), and I wanted to use the ..._concert keyword suffix in the same way for I:​score_concert which allows a different assignment of voices to staves when producing a concert pitch score. ​ I renamed I:​concert_score to try to avoid confusion. - - ===== Philosophy ===== Importantly,​ everything in (2) and (3) here is aimed at producing the dots at the instrument'​s written pitch (even though the abc-code can be at other pitches). ​ (4) is extra stuff which is unneeded (unused) in that case but allows production of concert pitch dots.  I think this was ALex's motivation too. Importantly,​ everything in (2) and (3) here is aimed at producing the dots at the instrument'​s written pitch (even though the abc-code can be at other pitches). ​ (4) is extra stuff which is unneeded (unused) in that case but allows production of concert pitch dots.  I think this was ALex's motivation too. - - There are three pitches to consider - - * the abc-code - * the play-back - * the dots - - and three reationships - - * abc-dots - * abc-sound - * dots-sound - - only two of which are independent. - - Here the **primary** relationships are - - * abc-dots (keywords: ''​octave'',​ ''​shift''​) - * dots-sound (keywords: ''​+8,​ -8, transpose''​) - - The latter //has// to be one of the primary relationships:​ it defines the instrument you're writing for, and you don't want that to change accidentally,​ or you'll end up giving Eb parts to players of Bb instruments! - - - - - - - - - - - -