User:Contribution/Chanopif Project: Difference between revisions

Contribution (talk | contribs)
No edit summary
Contribution (talk | contribs)
No edit summary
Line 14: Line 14:
In MIDI 2.0, '''Registered Per-Note Controller #3: Pitch 7.25''' provides a high-resolution method for defining pitch beyond standard 12-tone equal temperament (12-EDO). The 32-bit data field for Pitch 7.25 is split into:
In MIDI 2.0, '''Registered Per-Note Controller #3: Pitch 7.25''' provides a high-resolution method for defining pitch beyond standard 12-tone equal temperament (12-EDO). The 32-bit data field for Pitch 7.25 is split into:


7 bits for the integer part (the “traditional” note number in semitones).
* 7 bits for the integer part (the “traditional” note number in semitones).
25 bits for the fractional part of a semitone.
* 25 bits for the fractional part of a semitone.


This gives 2^7 = 128 distinct note values (as in MIDI 1.0), each further divided into 2^25 microsteps, resulting in a total of 402,653,184 equal divisions per octave (12 semitones × 2^25). This extreme resolution allows for microtonal tunings with sub-cent precision.
This gives '''2^7 = 128''' distinct note values (as in MIDI 1.0), each further divided into '''2^25''' microsteps, resulting in a total of '''402,653,184''' equal divisions per octave (12 semitones × 2^25). This extreme resolution allows for microtonal tunings with a precision of 1.49 × 10^-6 cents.
File Format


A Chanopif (.cnpf) file is a plain-text file containing a series of lines. Each line follows the pattern:
== File Format ==
A Chanopif (<code>.cnpf</code>) file is a '''plain-text''' file containing a series of lines. Each line follows the pattern:


decimal_channel  hex_note_number  hex_pitch7bits.fractionalPitch25bits_base32
<code>decimal_channel  hex_note_number  hex_pitch7bits.fractionalPitch25bits_base32</code>


Where:
Where: