User:Contribution/Chanopif Project: Difference between revisions
Contribution (talk | contribs) No edit summary |
Contribution (talk | contribs) |
||
(31 intermediate revisions by the same user not shown) | |||
Line 86: | Line 86: | ||
<code>channel_base10 noteNumber_base16 pitch_base16.fractionalPitch_base32</code> | <code>channel_base10 noteNumber_base16 pitch_base16.fractionalPitch_base32</code> | ||
Upon loading a Chanopif file, all notes start in an inactive state. As each line is read, the specified note on the given channel becomes active | Upon loading a Chanopif file, all notes start in an inactive state. As each line is read, the specified note on the given channel becomes active with its assigned pitch and fractional pitch, or is updated if already active. After the entire file is processed, any notes that have not been defined remain inactive. | ||
To calculate frequencies, the parser uses this formula: | To calculate frequencies, the parser uses this formula: | ||
Line 96: | Line 96: | ||
== Examples == | == Examples == | ||
{| class="wikitable" | |||
|+Examples of Chanopif files coding for a variety of tunings | |||
!Scale | |||
!Equave steps (channel shift) | |||
!Range | |||
!File link | |||
|- | |||
|[[Carlos Alpha]] | |||
|9 (3/2) | |||
|F0-F8 (8 octaves) | |||
| | |||
|- | |||
|[[68edo|3\68]] ([[Quartkeenlig]]) | |||
|23 (pseudo 2/1) | |||
|F0-F8 (8 octaves) | |||
| | |||
|- | |||
|[[127zpi]] ([[31edo#Zeta peak index|31-EDO Zeta stretch]]) | |||
|31 (pseudo 2/1) | |||
|F0-F8 (8 octaves) | |||
| | |||
|- | |||
|[[96ed5|96-ED5/1]] | |||
|96 (5/1) | |||
|F0-F8 (8 octaves) | |||
| | |||
|- | |||
|[[380zpi]] ([[72edo#Zeta peak index|72-EDO Zeta stretch]]) | |||
|72 (pseudo 2/1) | |||
|F0-F8 (8 octaves) | |||
| | |||
|- | |||
|[[270edo|270-EDO]] | |||
|90, 180, 270 (1\3, 2\3, 2/1) | |||
|F0-F8 (8 octaves) | |||
| | |||
|- | |||
|[[311edo|311-EDO]] | |||
|128, 256, 311 | |||
|F0-F8 (8 octaves) | |||
| | |||
|- | |||
|[[Orwell|Orwell[5], Orwell[9], Orwell[13], Orwell[22], Orwell[31], Orwell[53]]] | |||
|Parallel tunings (1\1) | |||
|Various | |||
| | |||
|} | |||
{{todo|Generate the eight files|inline=1|comment=Upload the files and insert their respective links here.}} | |||
{{todo|Generate | |||
== Implementation == | == Implementation == | ||
Line 109: | Line 153: | ||
* '''Overcoming 128-Note Limitations''': By combining multiple channels (up to 256 in MIDI 2.0), each with fully customized tuning for every note, composers can effectively bypass the traditional 128-note limitation of MIDI. This is especially beneficial for large-scale works requiring extensive microtonal ranges. | * '''Overcoming 128-Note Limitations''': By combining multiple channels (up to 256 in MIDI 2.0), each with fully customized tuning for every note, composers can effectively bypass the traditional 128-note limitation of MIDI. This is especially beneficial for large-scale works requiring extensive microtonal ranges. | ||
* '''Flexibility''': By assigning independant tuning configurations per channel, it becomes possible to create scales that do not rely on octave | * '''Flexibility''': By assigning independant tuning configurations per channel, it becomes possible to create scales that do not rely on octave equivalence. | ||
* '''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. At | * '''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. At 20,000 Hz, the maximum phase deviation caused by Chanopif’s rounding occurs only once every 16 hours. | ||
* '''Data Efficiency''': By using the most concise syntax possible, compressing 7-bit words in hexadecimal and 25-bit words into 5 letters of 5-bit (base 32), it ensures optimal space savings in storage and transmission. | * '''Data Efficiency''': By using the most concise syntax possible, compressing 7-bit words in hexadecimal and 25-bit words into 5 letters of 5-bit (base 32), it ensures optimal space savings in storage and transmission. | ||
* '''Compatibility''': The format complies with the MIDI 2.0 standard, fully supporting the 7.25 pitch attribute for enhanced musical expression and precision. | * '''Compatibility''': The format complies with the MIDI 2.0 standard, fully supporting the 7.25 pitch attribute for enhanced musical expression and precision. | ||
Line 117: | Line 161: | ||
* '''Standardized Microtonal Implementation''': By adopting a consistent '''402,653,184-EDO''' approach, Chanopif eliminates ambiguity over how fractional pitches are interpreted. | * '''Standardized Microtonal Implementation''': By adopting a consistent '''402,653,184-EDO''' approach, Chanopif eliminates ambiguity over how fractional pitches are interpreted. | ||
* '''Widespread Applications''': Chanopif can be used to compose music that extends '''beyond the standard 128-note limit''', allowing for large tuning systems, such as a full eight-octave [[72edo|72-EDO]] scale (576 notes required) with [[The Riemann zeta function and tuning|optimal Riemann Zeta stretch]] | * '''Widespread Applications''': Chanopif can be used to compose music that extends '''beyond the standard 128-note limit''', allowing for large tuning systems, such as a full eight-octave [[72edo|72-EDO]] scale (576 notes required) with [[The Riemann zeta function and tuning|optimal Riemann Zeta stretch]]. It also enables the development of new instruments, encourages experimentation with alternative scales, and supports hyper-accurate tuning for classical, jazz, electronic, and many other musical styles. | ||
* '''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. | * '''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. | ||
Line 129: | Line 173: | ||
=== Build and Grow the Chanopif Community === | === Build and Grow the Chanopif Community === | ||
* '''Complete this Article''': Provide a variety of Chanopif file examples to help users understand the format, and offer a basic Python-based generator, validator, and parser as an initial toolkit. This will serve as a practical foundation for anyone who wishes to explore, customize, or contribute to Chanopif. | |||
* '''Publish this Article''': Make the current article widely available, showcasing the Chanopif format and inviting readers to join or start development efforts. By engaging passionate developers, students, and hobbyists worldwide, Chanopif can evolve into a fully-realized standard without requiring the originator to singlehandedly manage its technical progress. | * '''Publish this Article''': Make the current article widely available, showcasing the Chanopif format and inviting readers to join or start development efforts. By engaging passionate developers, students, and hobbyists worldwide, Chanopif can evolve into a fully-realized standard without requiring the originator to singlehandedly manage its technical progress. | ||
* '''Establish a Public Repository''': Create a GitHub (or GitLab) organization for Chanopif to host reference implementations, issue tracking, and collaboration. | * '''Establish a Public Repository''': Create a GitHub (or GitLab) organization for Chanopif to host reference implementations, issue tracking, and collaboration. | ||
Line 160: | Line 205: | ||
* '''Online Documentation and Guides''': Provide well-structured web pages or a wiki dedicated to Chanopif, offering clear, step-by-step explanations on file creation, parsing, and integration into popular DAWs and virtual instruments. This resource would serve as a central hub for both beginners and experienced users. | * '''Online Documentation and Guides''': Provide well-structured web pages or a wiki dedicated to Chanopif, offering clear, step-by-step explanations on file creation, parsing, and integration into popular DAWs and virtual instruments. This resource would serve as a central hub for both beginners and experienced users. | ||
* '''Educational Outreach''': Collaborate with music schools, universities, and audio engineering programs to include Chanopif in their curricula. By integrating <code>.cnpf</code> format instruction into music technology courses, students and future professionals gain hands-on experience in cutting-edge tuning techniques. | * '''Educational Outreach''': Collaborate with music schools, universities, and audio engineering programs to include Chanopif in their curricula. By integrating <code>.cnpf</code> format instruction into music technology courses, students and future professionals gain hands-on experience in cutting-edge tuning techniques. | ||
* '''Artistic Outreach''': Encourage musicians—whether they have large or modest followings—to experiment with Chanopif in their compositions, performances, or online content. Their demonstrations can help educate wider audiences, spark curiosity, and inspire fellow artists to explore microtonal possibilities via Chanopif files. | |||
* '''Workshops and Webinars''': Host virtual and in-person events, such as webinars or local workshops, where participants can learn about Chanopif from experts. These interactive sessions would allow direct engagement, Q&A discussions, and real-time demonstrations. | * '''Workshops and Webinars''': Host virtual and in-person events, such as webinars or local workshops, where participants can learn about Chanopif from experts. These interactive sessions would allow direct engagement, Q&A discussions, and real-time demonstrations. | ||
* '''Community Engagement''': Encourage community-driven projects and user groups to explore Chanopif’s potential. Through forums, social media channels, and collaborative spaces, musicians, developers, and audio enthusiasts can share files, exchange tips, and push the boundaries of microtonal music creation. | * '''Community Engagement''': Encourage community-driven projects and user groups to explore Chanopif’s potential. Through forums, social media channels, and collaborative spaces, musicians, developers, and audio enthusiasts can share files, exchange tips, and push the boundaries of microtonal music creation. |