From: David B. <dav...@gm...> - 2015-05-16 22:00:20
|
Hello TAMUKI, Thanks for taking the time to answer my question. But just to make sure I understand what you're saying and what's going on in the MIDI file you sent I have some questions: 1. It looks like you loaded several tuning tables at once and then switched between them. Is that accurate? What's the maximum number of tuning tables that can be sent like this? The resolution limit of MIDI is a 196608-EDO (according to: http://www.tonalsoft.com/enc/number/14mu.aspx) which would require, I think, 16385 tuning tables. Is it actually possible to load that many tables? 2. Perhaps a different approach would work better for me. In the MTS there is a method called "Single Note Tuning Change" (as opposed to the Bulk Tuning Dump which is what I'm assuming that Timidity uses?) that, as far as I can tell, allows one to send a sysex command with each note event changing the frequency of that note (sysex #82?). This would allow me to just deal with the frequencies I need in a particular piece instead of loading thousands of notes that I don't necessarily need. Does Timidity support this method? Thank you again, David Bellows On Sat, May 16, 2015 at 4:16 AM, TAMUKI Shoichi <ta...@li...> wrote: > Hello, Dave > > From: dav...@us... > To: ta...@us... > Cc: dav...@us... > Subject: Extending the MIDI format in Timidity > Date: Wed, 13 May 2015 15:48:05 +0000 > >> Hello, >> >> Forgive me for contacting you out of the blue like this but it's >> getting tough to find people who know Timidity internals. >> >> Here's my problem. I'm creating a program that generates music >> (www.platonicmusicengine.com) and it allows for pretty much any >> musical idea one could ever have including alternate tunings. >> >> Currently the software generates a tuning table for each piece of >> music and uses Timidity to convert that music with the tuning table >> into an audio file. Works perfectly. >> >> The problem is when I have tunings that use more than 12 divisions of >> the octave: it shrinks the available range of notes. For example if >> you use a 256-EDO then you'd only have 128/256 = .5 octaves available >> instead of the normal 128/12 = 10.666 octaves using standard tunings. >> >> There are several ways to overcome this (without using pitch bend >> which has its own problems) using dynamic tables but my ideal solution >> is this: >> >> Extend the MIDI format within Timidity to allow for a lot more notes. >> And then for Timidity to load a much larger tuning table to handle all >> those notes. >> >> I know I won't be able to convince the MIDI Group (whoever they are) >> to do this but I was wondering if it's possible to make these changes >> to Timidity? Obviously people would have to use this new version of >> Timidity in order to take full advantage of my software but that would >> be perfectly fine (my software is GPL). >> >> I am a composer and not a programmer and only know enough Lua to work >> on my one project. If it is possible to modify Timidity like I >> described I would certainly try to figure it out on my own but would >> appreciate a lot of pointers. >> >> Thanks, >> Dave Bellows > > Yes, TiMidity++ can handle many notes and also have larger internal > tuning tables. For example, to get the full range of the 96-EDO > tuning, one would need 1024 notes and corresponding tuning tables > using MIDI Tuning Standard (MTS) specification. > > Attached MIDI file is just a quick hack that plays 96-EDO full scale. > > Good luck. > > Regards, > TAMUKI Shoichi > > ------------------------------------------------------------------------------ > One dashboard for servers and applications across Physical-Virtual-Cloud > Widest out-of-the-box monitoring support with 50+ applications > Performance metrics, stats and reports that give you Actionable Insights > Deep dive visibility with transaction tracing using APM Insight. > http://ad.doubleclick.net/ddm/clk/290420510;117567292;y > _______________________________________________ > Timidity-talk mailing list > Tim...@li... > https://lists.sourceforge.net/lists/listinfo/timidity-talk > |