mtytel / helm

Helm - a free polyphonic synth with lots of modulation
http://tytel.org/helm
GNU General Public License v3.0
2.36k stars 200 forks source link

Feature request: microtune #87

Open Omega9 opened 8 years ago

Omega9 commented 8 years ago

Microtuning with .scl- or .tun-files would be nice. http://xen-arts.net/zynaddsubfx-microtuning-features-updated/

mtytel commented 8 years ago

Seems like I keep running into microtuners. Is it way more common than I realize? I'll look into it. If it's easy(ish) I'll throw it in.

Omega9 commented 8 years ago

At least there's almost 2000 microtuners in Xenharmonic Alliance II on Facebook (and that's a really good place if you have any questions) and no less outside of it.

I don't know if it help you, but you might want to look at ZynAddSubFX.

SeanArchibald commented 7 years ago

Hello! I would also love to see support for microtonal scales. Only a handful of the Linux plugins support microtonality, so this feature would put Helm head and shoulders above the rest. Especially for folks like me, who don't write any non-microtonal music at all.

As Omega9 rightly said, ZynAddSubFX already supports microtonality. To be specific they support the Scala format of microtuning (.scl/.kbm files). Their implementation is very good so it might be worth re-using their implementation in Helm.

Otherwise, AnaMark TUN files are another very popular format for microtonal tuning. There is C++ source code available for implementing TUN files, and you can download it directly from the AnaMark site (scroll down): http://www.mark-henning.de/am_downloads_eng.php

It's not necessary to support ALL of these tuning formats... Just one of them is enough for musicians to start working with those microtones. :)

Really hope that this feature request will be considered. Helm is sounding great these days and I'm seriously lacking in good sounds as I move from Windows to Linux. Don't hesitate to get in touch because I'm always available to consult about microtonal stuff.

mtytel commented 7 years ago

Yeah I think I need to talk to someone about how it works. I get the keyboard to frequency mapping but I'm not sure what should happen with the Transpose/Tune knobs..

I suppose Transpose goes up to the next key frequency? Then Tune.. interpolates between the current note an the next note up/down in MIDI?

mtytel commented 7 years ago

Another question. For the note limit, I'm assuming you're limited to 128 because of MIDI? The spec says there is no limit though.

SeanArchibald commented 7 years ago

You have options here. There are some developers who support AnaMark TUN but the Transpose knobs continue to assume 12-equal semitones (u-he instruments do this). This isn't exactly ideal, but personally I'm not too bothered by this.

A thoughtful developer might take the microtuning into account when specifying the behaviour of the Transpose/Tune knobs. This would allow users to automate those knobs and hit the right notes along the way.

Just to be clear here, as I'm still relatively unfamiliar with Helm - what is the current behaviour of the Transpose/Tune knobs? Is it that Transpose will offset the frequency by semitones, and Tune will offset by cents?

As for the other question, yes I only mentioned 128 notes because that's how many notes are supported by MIDI. If you roll your own tuning format, you might take this into consideration. If you plan on supporting Scala or AnaMark tunings instead, just ignore that suggestion :)

mtytel commented 7 years ago

Thinking about it more I think the Tranpose/Tune should remain equally tempered semitones and cents. This is so when you load a patch and play one note it will sound the same if you're in microtonal or 12 tone equal tempered.

SeanArchibald commented 7 years ago

That actually sounds very reasonable, because that way you'll prevent patches sounding weird when different tunings are loaded.

suhr commented 7 years ago

About Tranpose/Tune: it would be nice to be able to enter the ratio to get right Tranpose and Tune. So 3:2 becomes 7 semitones with almost no detuning, 5:2 becomes 16 semitones minus 13.7 cents.

The main units for Tranpose/Tune should be still 12ET semitones, of course.

SeanArchibald commented 7 years ago

Hey Matt, I just noticed the microtuning branch of this project. Is it in a state where I can build it and start testing?

mtytel commented 7 years ago

No. That branch can read scl files but doesnt apply them yet.

SeanArchibald commented 6 years ago

Hi Matt, just curious if microtuning is still on the cards for Helm? It's a very promising synth and I'm still keen to start using it in my music.

mtytel commented 6 years ago

Yeah I'm still planning on adding it. I'm working on some other projects right now, but it'll go in the next release.

ogaskell commented 2 years ago

Hi, I was just curious if there's been any progress on this? I'm doing a project for college on historic tunings and I'd love to be able to use different tuning systems with Helm!