User:Contribution/Chanofreq Project

From Xenharmonic Wiki
Jump to navigation Jump to search

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.
  • 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

Syntax

Main

channel X note Y frequency Z

For instruments with internal notes that are not MIDI-controlled (such as built-in sequencer or keyboard), use the following instruction:

internal note Y frequency Z

To assign a fallback frequency to any note Y that remains deactivated after the file is processed, regardless of the MIDI channel or if it is internal:

default note Y frequency Z

Comments

/*Multi-line

Behavior on Loading

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

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