Hi!
(I re-added the spectmorph group to CC)
On Sat, Jun 03, 2017 at 05:13:18PM +0100, Sevish wrote:
> I greatly appreciate your response. Hope you're doing well today.
>
> There are a handful of popular formats for tuning. One of them - you've already
> discovered - is the scl/kbm format. The .scl part contains the scale data,
> while the .kbm part contains the keyboard mapping and base frequency tuning
> (e.g. A440Hz or something else).
>
> .scl spec:
http://www.huygens-fokker.org/scala/scl_format.html
> .kbm spec:
>
> Another popular format is AnaMark TUN. This is supported by some powerful
> plugins/developers such as Serum, u-he, LinPlug etc. The creator of TUN has
> made the implementation open source, so it may be possible to include this in
> your implementation.
>
> .tun spec:
http://www.mark-henning.de/files/am/Tuning_File_V2_Doc.pdf (PDF, ca.
> 330kB)
> .tun source code:
http://www.mark-henning.de/files/am/TUN-Source_V200.zip (ZIP,
> 75kB)
>
> It's only necessary to support one format. Or in the easiest case, allow the
> user to enter a list of 128 frequencies!
>
> If you want to look at some of these formats for yourself, I wrote a very
> simple web app that generates them:
http://sevish.com/scaleworkshop/
All right, thanks for the links. I think I now have some understanding of what
is necessary to add this. I looked at both, but I think I prefer scl/kbm. So
here is a tentative plan on what to do.
First of all, the contents of the scl/kbm file needs to be stored along with
the other properties (so that for instance saving/loading a song with the VST
plugin will have the same microtonal settings). Basically, like other global
settings, this should go into the MorphPlan MorphOutput properties as two
strings. To keep these small, comments can be stripped.
Once this is in place, the actual mapping to frequencies needs to be computed
from these strings. Once such a function is implemented, it should be used in
the MidiSynth class (ideally only if the tuning was changed, for perfomance
reasons).
Finally, we need UI support. In the simplest case it would just allow you to
load scl/kbm files, but I'd prefer if it worked somewhat like the ZynAddSubFX
UI, where you actually can see and edit the tuning. The UI should become part
of the MorphOutputView.
> I may be able to contribute somewhat to the implementation of this feature, but
> I'm not a C++ developer and I'm not familiar with audio plugin development.
> However I appreciate that you would consider adding such a feature to
> SpectMorph. It's great sounding software, and would be very useful if I could
> play microtonal music in it. I'm in the process of moving from Windows 7 over
> to KDE Neon, so I'm keen to explore all the virtual instruments on the Linux
> platform.
Yes, I think it should be added, but I have higher priority items on my TODO.
So it may take quite a while before I actually have time to implement this. In
terms of releases, it could be 0.3.4 or 0.3.5 until I've added it.
I tried to describe what needs to be done so you (or somebody else) can do it,
but of course this requires some C++ skills.
Cu... Stefan
--
Stefan Westerfeld,
http://space.twc.de/~stefan