User:Contribution/Chanofreq Project: Difference between revisions
Contribution (talk | contribs) |
Contribution (talk | contribs) |
||
| Line 58: | Line 58: | ||
* It should be fine to use 64-bit float, as long as no rounding is applied, we stay within the human hearing range, and the number of notes remains reasonable. For example, if [[16808edo]] is programmed from a base frequency (20 Hz) and a factor (1.0000412399734142) with exponents to map the entire multi-channel keyboard, after 10 octaves (20480 Hz), one phase error occurs every 15 days between two adjacent 64-bit float factor values. For the [[402653184edo|402,653,184-EDO]] tuning scheme within chanofreq using factor and exponents, the phase precision between 64-bit float steps is only 78.9 seconds: 1/(440*(2**(-69/12))*1.0000000017214499**(402653184*(32/3)) - 440*(2**(-69/12))*1.0000000017214496**(402653184*(32/3))) = 78.9 seconds. | * It should be fine to use 64-bit float, as long as no rounding is applied, we stay within the human hearing range, and the number of notes remains reasonable. For example, if [[16808edo]] is programmed from a base frequency (20 Hz) and a factor (1.0000412399734142) with exponents to map the entire multi-channel keyboard, after 10 octaves (20480 Hz), one phase error occurs every 15 days between two adjacent 64-bit float factor values. For the [[402653184edo|402,653,184-EDO]] tuning scheme within chanofreq using factor and exponents, the phase precision between 64-bit float steps is only 78.9 seconds: 1/(440*(2**(-69/12))*1.0000000017214499**(402653184*(32/3)) - 440*(2**(-69/12))*1.0000000017214496**(402653184*(32/3))) = 78.9 seconds. | ||
In comparison, the phase precision between 32-bit steps in 402,653,184-EDO is 12.86 hours, as calculated here: 1/(440*2**((127-69)/12)*2**(1/402653184)-440*2**((127-69)/12))/(60*60) = 12.86 hours. | In comparison, the phase precision between 32-bit steps in 402,653,184-EDO is 12.86 hours, as calculated here: 1/(440*2**((127-69)/12)*2**(1/402653184)-440*2**((127-69)/12))/(60*60) = 12.86 hours. | ||
This shows that even with 64-bit floating-point precision, the factor and exponent solution is far less efficient than other tuning methods, but remains practical for moderately sized musical scales | This shows that even with 64-bit floating-point precision, the factor and exponent solution is far less efficient than other tuning methods, but remains practical for moderately sized musical scales up to approximately [[100000edo|100,000-EDO]], a size that still ensure a precision equivalent to 6 decimal places in cents. However, using it as an intermediary for 32-bit MIDI tuning should be avoided. | ||
'''Open Questions:''' | '''Open Questions:''' | ||