On 14 Feb 2006, at 04:00, Hudson Lacerda wrote:

> Philip Taylor escreveu:
> [...]
>> For what it's worth, BarFly uses a single signed short to represent
>> pitchbend, with a resolution of 1/256 semitone, and it's mapped log
>> (if I understand that correctly).
>
> I mean: the linear mapping of integer numerators, for example, from  
> -255
> to 255 fractions of semitone, corresponds to a logarithmic scale of
> frequencies. If one uses the given non-quantised fractions -- abc2midi
> supports (1 to 4096) / (1 to 4096) -- the resolution is not linear,  
> but
> based on sets of rational numbers (1/3 == 3/9, but 1/3 != 33/100  
> and 1/3
> != 85/256).

OK.  BarFly uses a pitch set which divides the octave into 12 x 256 =  
3072 equally-tempered intervals.  Each step represents a frequency  
ratio of 2^(1/3072).

>
>>  I use this to set global
>> intonation, and don't yet support microtonal accidentals, although I
>> probably will in the future once a consensus appears.  1/256 semitone
>> is the basic resolution of Quicktime Music Architecture, which is
>> what I use for playing, and seems sufficient resolution to me, since
>> it's generally reckoned that one cent is the best resolution of the
>> human ear.
>
> True, one cent can be taken as a limit for pitch distinction, but  
> in an
> harmonic context, such a difference is not negligible: for example,  
> just
> intonation intends to be beating-free; for high pitches, one cent  
> error
> can give rise to beatings. Moreover, if the quantisation error for a
> pitch can be one cent, the interval between two quantized pitches can
> sum 2 cents of error.

OK.
>
> But I think the final resolution is implementation specific. We can  
> try
> instead to define precisely the meaning of ``NUM'' in Remo/Keenan's  
> BNF:
>
> <note> ::=  [<accidental>] <pitch> [<octave>] [<duration>]
> <accidental> ::= "^"+ | "_"+ | "=" | ("^" | "_") [ (<fraction> |
> <quarters>) ]
> <octave> ::= "'"+ | ","+
> <duration> ::= <fraction>
> <quarters> ::= "'" | "," | "/"
> <fraction> ::= NUM [ "/" NUM ]
>
> Is ``NUM'' an integer? A float? What is its valid range?
>
> We could accept the 14bit MIDI range as reference for ``NUM'' range:
>
> 2^14 = 16384 values for +2/-2 semitones, then:
> one semitone = 2^14 / 4 = 4096.
>
> Therefore, we can have 4096 different pitchbend values inside a
> semitone. Is it a too big value? Perhaps, but this allows a full  
> control
> of MIDI pitch bends by using directly the values (1 to 4096)/4096.
>
> Unfortunately, ``NUM'' from 1 to 4096 will call for 24 bits to  
> store the
> fraction. To store both numerator and denominator in a 16 bit variable
> instead, the range must be 1 to 256.

I don't think this matters as far as the abc format goes.  It's just  
a ratio of two numbers, and applications can simply choose the  
closest-available value from the set of pitches which is available to  
them.  It's the same as in the case of note durations.  In abc you  
can write a duration of A7/13, which can't be represented accurately  
in common music notation, but player programs can play it (within the  
limitation of their own time resolution).


Phil Taylor



 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/abcusers/

<*> To unsubscribe from this group, send an email to:
    [EMAIL PROTECTED]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/
 


Reply via email to