User:Contribution/Chanofreq Project: Difference between revisions
Contribution (talk | contribs) |
Contribution (talk | contribs) No edit summary |
||
| Line 18: | Line 18: | ||
channel X note Y frequency Z | channel X note Y frequency Z | ||
* '''X:''' An integer ≥ 1 | * '''X:''' An integer ≥ 1. | ||
* '''Y:''' An integer ≥ 0. | * '''Y:''' An integer ≥ 0. | ||
* '''Z:''' A 64-bit floating-point number > 0. | * '''Z:''' A 64-bit floating-point number > 0. | ||
| Line 28: | Line 28: | ||
channel X3 note Y3 frequency Z3 | channel X3 note Y3 frequency Z3 | ||
=== Behavior on Loading | == 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. | When the file is loaded, all notes are initially deactivated. Each instruction activates or updates the frequency of a note. | ||
== Planned Projects == | == Planned Projects == | ||
Revision as of 23:26, 23 August 2024
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
- Web Interface: Create an online tool for generating .cnf files easily.
- Virtual Synthesizer: Develop a basic virtual synthesizer to serve as a reference implementation for developers.
- 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.
- Collaboration with Oddsound: Engage with Oddsound to integrate the .cnf format into their MTS-ESP Mini and MTS-ESP Master plugins.
- 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.
- 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