User:Contribution/Chanopif Project: Difference between revisions

From Xenharmonic Wiki
Jump to navigation Jump to search
Contribution (talk | contribs)
No edit summary
Contribution (talk | contribs)
No edit summary
Line 1: Line 1:
Chanopif (short for Channel-Note-Pitch-Fractional pitch) is a proposed file format and specification designed to enable precise microtonal tuning for electronic and software-based musical instruments under the MIDI 2.0 standard. The format uses the .cnpf file extension and leverages the 7.25 pitch attribute (Registered Per-Note Controller #3) defined in MIDI 2.0 to achieve extremely fine pitch resolution—specifically 402,653,184 subdivisions per octave (402,653,184-EDO).
'''Chanopif''' (short for ''Channel-Note-Pitch-Fractional pitch'') is a proposed file format and specification designed to enable precise microtonal tuning for electronic and software-based musical instruments under the '''MIDI 2.0''' standard. The format uses the <code>.cnpf</code> file extension and leverages the '''7.25 pitch attribute''' (Registered Per-Note Controller #3) defined in MIDI 2.0 to achieve extremely fine pitch resolution—specifically '''402,653,184 subdivisions per octave''' ([[402653184edo|402,653,184-EDO]]).
Etymology


== Etymology ==
The name Chanopif is derived from its four core elements:
The name Chanopif is derived from its four core elements:


Cha-: Channel
# '''Cha-''': Channel
-no-: Note
# '''-no-''': Note
-pi-: Pitch
# '''-pi-''': Pitch
-f: Fractional pitch
# '''-f:''' Fractional pitch


These components underscore the file format’s focus on assigning precise pitch data to specific MIDI channels and note numbers.
These components underscore the file format’s focus on assigning precise pitch data to specific MIDI channels and note numbers.
Background: MIDI 2.0 Pitch 7.25


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:
== Background: MIDI 2.0 Pitch 7.25 ==
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 sub-cent precision.

Revision as of 14:32, 20 January 2025

Chanopif (short for Channel-Note-Pitch-Fractional pitch) is a proposed file format and specification designed to enable precise microtonal tuning for electronic and software-based musical instruments under the MIDI 2.0 standard. The format uses the .cnpf file extension and leverages the 7.25 pitch attribute (Registered Per-Note Controller #3) defined in MIDI 2.0 to achieve extremely fine pitch resolution—specifically 402,653,184 subdivisions per octave (402,653,184-EDO).

Etymology

The name Chanopif is derived from its four core elements:

  1. Cha-: Channel
  2. -no-: Note
  3. -pi-: Pitch
  4. -f: Fractional pitch

These components underscore the file format’s focus on assigning precise pitch data to specific MIDI channels and note numbers.

Background: MIDI 2.0 Pitch 7.25

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).
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. File Format

A Chanopif (.cnpf) 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

Where:

   decimal_channel
       MIDI channel index, ranging from 1 to 256 in MIDI 2.0 (or 1 to 16 in MIDI 1.0).
   hex_note_number
       The MIDI note number expressed in hexadecimal, ranging from 00 to 7F or 8F (depending on the extended range usage).
   hex_pitch7bits.fractionalPitch25bits_base32
       The 7-bit integer part (in hexadecimal) for semitone pitch, ranging from 00 to 8F.
       A 25-bit fractional part for microtonal precision, expressed in base 32 using the characters 0–9 and A–V. This base-32 representation spans values from 00000 (zero fraction) up to a maximum that encodes all 2^25 subdivisions of a semitone.

An example line might be:

16 8F 8F.VVVVV

   16 = MIDI channel 16
   8F = MIDI note number in hex (143 in decimal)
   8F.VVVVV = 7-bit pitch = 8F (in hex), fractional part = VVVVV (in base 32)

Purpose and Implementation

Chanopif’s primary objective is to facilitate unambiguous, universal microtonal tunings within the MIDI 2.0 ecosystem. By standardizing on 402,653,184-EDO, Chanopif ensures that any note pitch, however finely tuned, can be represented consistently in .cnpf files.

   High Precision: At around 1.49 × 10^-6 cents per step, the resolution far exceeds what the human ear can typically discern, making it suitable for studio recording, live performance, or any scenario requiring advanced microtonal control.
   Compatibility: Although the full 25 bits of fractional pitch may not be supported universally, MIDI 2.0 recommends supporting at least 9 bits, ensuring backward compatibility.
   Persistence of Tuning: Once a note’s Pitch 7.25 is set via Chanopif instructions, it remains in effect for subsequent notes unless overridden by other tuning data.

Significance

   Standardized Microtonal Implementation: By adopting a consistent 402,653,184-EDO approach, Chanopif eliminates ambiguity over how fractional pitches are interpreted.
   Widespread Applications: It can be used to develop new instruments, experiment with alternative scales, or achieve hyper-accurate tuning in classical, jazz, electronic, or any musical style.
   Future-Proof: Chanopif is designed to scale with evolving MIDI technology, leveraging the expanded channel range (up to 256) and high-definition capabilities of MIDI 2.0.

See Also

   MIDI 2.0 Specification – Official documentation covering new controllers, higher resolution, and enhanced expressiveness.
   MIDI Tuning Standard (MTS) – Precursor to Pitch 7.25, offering microtuning capabilities in MIDI 1.0.
   Microtonal Music – Compositions and theory involving intervals smaller than the typical semitone of 12-EDO.

Disclaimer: Chanopif is a proposed format. Implementation details may vary based on hardware and software support for MIDI 2.0 Pitch 7.25. For the most accurate and up-to-date technical specifications, consult official MIDI 2.0 documentation.