on 1/29/03 6:54 PM, Michael McGonagle wrote:
I am interested in working with alternate tunings, and as such would be interested in any tools for PD that would handle "on-the-fly" retuning of a MIDI stream.
Hi Michael,
You can use freeware Scala or shareware fts on the FTS to convert single channel midi to multi channel midi. On the Mac, you can use my commercial program Li'l Miss' Scale Oven (LMSO). The OSX version of LMSO is not ready yet so I run LMSO separately on a OS9 machine and feed it into PD. I assume that on the PC you can do the same if you have a separate machine, or possibly you can run Scala or FTS concurrently with PD and use a loopback program or failing that, a hardware loopback. Once the OSX port is done, then I'll run LMSO and pd concurrently in OSX.
You also mention the issue of tuning file formats. It's unclear to me if you are seeking to begin a discussion of appropriate tuning file formats for use with a PD module you want to develop. If so, I would not recommend the Scala .SCL format as it does not contain the anchor key, anchor frequency and mapping information, but that is held in a separate file. My feeling is that it is better to have one file that completely contains all the info needed to specify the tuning. The native format of my program does that, but there is also the .TUN file used by many VST plugins which both Manuel (creator of Scala) and I (creator of LMSO) have added support for to our programs. Caution is in order as there are two versions of this file format; the old one is constrained by single-cent resolution, but the more recent one has basically unlimited tuning resolution. These file formats map 128 keys to 128 arbitrary frequencies and then the user can use Scala or LMSO or whatever to create any possible fixed mapping of MIDI notes to pitches. I can provide you with details of the format and examples if you wish. If some other format seems more appropriate or convenient for PD (like pd parsable table data), it can be easily added to LMSO and I can forward the info with Manuel for inclusion into Scala.
Thanks,