Chanofreq Project

Objective: Develop a standardized file format that allows each note on every MIDI channel to be tuned to a specific frequency, using the simplest possible data structure.


File Extension: .cnf

Format Name: Chanofreq

Etymology: Channel + Note + Frequency


File Structure:

A Chanofreq file is a straightforward text file with instructions formatted as follows:

channel X note Y frequency Z
  • X: An integer ≥ 1 (or 0, which does not control a MIDI channel but instead controls the internal keyboard independent of the plugin, such as the built-in sequencer in ABL3).
  • Y: An integer ≥ 0.
  • Z: A 64-bit floating-point number ≥ 0.

Instructions can be separated either by a semicolon (";") or a newline.

Examples:

channel X1 note Y1 frequency Z1; channel X2 note Y2 frequency Z2
channel X3 note Y3 frequency Z3


Behavior on Loading:

When the file is loaded, all notes are initially deactivated. Each instruction activates or updates the frequency of a note.

For instruments with internal notes that are not MIDI-controlled, use the following instruction:

channel 0 note Y frequency Z


Planned Projects:

  1. Web Interface: Create an online tool for generating .cnf files easily.
  2. Virtual Synthesizer: Develop a basic virtual synthesizer to serve as a reference implementation for developers.
  3. Presentation Video: Produce a compelling video introducing the .cnf format, featuring a demonstration of the synthesizer, designed to attract and convince developers and users of its potential.
  4. Collaboration with Oddsound: Engage with Oddsound to integrate the .cnf format into their MTS-ESP Mini and MTS-ESP Master plugins.
  5. Update Xen Wiki: Add a "Multi-Channel Tuning Ability" column to the List of Microtonal Software Plugins, giving a green highlight to developers who properly implement the .cnf format or MTS-ESP Multi-Channel.
  6. Advocacy: Promote the adoption of the .cnf format and MTS-ESP Multi-Channel among tuning-friendly companies such as these ones: https://oddsound.com/usingmtsesp.php