ModPlug Central

OpenMPT Development (Archive) => Feature Requests => Topic started by: uncloned on July 07, 2009, 22:11:37

Title: Tuning flexibility for VSTi
Post by: uncloned on July 07, 2009, 22:11:37
It would be great to have similar or the same alternate tuning capability for VSTi's in open MPT.

Some VSTi's accomplish this by sending the appropriate pitch bend comment just prior to executing the note.
Title: Tuning flexibility for VSTi
Post by: Harbinger on July 10, 2009, 22:13:20
Has been queried, but waiting for the motivation and time.

From a PM to Relab, and his reply:

Quote from: "Relabsoluness"
Quote from: "Harbinger"When a note is sent to a VSTi from MPT and the Instrument (the VSTi is attached to) operates under a non-standard tuning, that a Pitch Bend event is sent prior to the note to adjust for the new note. The pitch bend amount is determined by the difference in MPT's standard tuning and the non-standard tuning.

Would this be a viable solution or workaround, even if it would be complicated to implement?
If VSTi supports pitch bend I don't see any fundamental problem why this couldn't work. However I haven't examined the matter that deeply so I don't know how difficult it would be to implement or how well it would work in practice.
Title: Tuning flexibility for VSTi
Post by: uncloned on July 10, 2009, 22:24:55
Pitch bend works well - the caveat is that you get 1 pitch bend per channel...


there are some people who program microtonal applications that would be probably happy to help out with their knowledge to assist with putting this capability into Open MPT if this is being seriously considered.

If you want I can ask on the microtonal tuning list for help.
Title: Tuning flexibility for VSTi
Post by: Harbinger on July 10, 2009, 23:09:43
Quote from: "uncloned"Pitch bend works well - the caveat is that you get 1 pitch bend per channel...

That's an interesting limitation i didn't think about. So it would only work for Mono (one note at a time) in the VSTi's channel.

So if you had quarter tones for, say, two notes in the scale, any other note you play with the "bent" note would also be bent, which defeats the purpose.

The only workaround then would be to use a different channel for polyphony of unbent notes, and if the VSTi did not support multiple MIDI channels, you would have to use another instance of the VSTi. Not a good idea... :?
Title: Tuning flexibility for VSTi
Post by: uncloned on July 12, 2009, 02:54:45
Actually quarter tones would be best handled by two instances of the same VSTi with full polyphony.

I don't think there is a way around the bend per channel problem - but having it there even if CPU expensive would beat not having it at all.
Title: Tuning flexibility for VSTi
Post by: bvanoudtshoorn on July 12, 2009, 03:48:24
Maybe the best way around this is to:

a) Use VSTis that are capable of doing microtonal tuning themselves;
b) Using a pitch-correction plugin to 'correct' the tuning of the VSTi to whatever pitch;
c) Post-process the sound of the VSTi (interally in OpenMPT) so that it is pitch-shifted up/down appropriately -- this isn't particularly complex maths.

Personally, I think option (c) is the best -- it also means that you don't have to deal with the fact that many plugins will bend different amounts for the same pitch bend data. Additionally, it eliminates the 'bend per channel' problem.
Title: Tuning flexibility for VSTi
Post by: Harbinger on July 12, 2009, 04:27:45
Excellent brainstorm! Does MPT post-process anything already on a per-voice basis? IOW would a dev have to add functionality?
Title: Tuning flexibility for VSTi
Post by: uncloned on July 12, 2009, 05:34:22
I think option C is awesome!

It would work with any VSTi

I am not aware of a free VSTi that supports microtonal tuning. In fact Open MPT may be pretty unique on being a free usable microtonal sound source.
Title: Tuning flexibility for VSTi
Post by: Saga Musix on July 12, 2009, 10:10:25
I vote for Options a and b, because that means the least work for us. :P
Plus I don't really know what option c means. Realtime pitch-shifting? No thanks. That sounds like a bullshit idea to me, especially since time-preserving pitch-shifting algorithms are still far from perfect.

Quote
Excellent brainstorm! Does MPT post-process anything already on a per-voice basis?
Depends on your defnition of "voice". If you mean a voice as in "a VSTi has multiple voices", then no. I don't know nothing about VST routing, but it sounds quite logical to me that a VSTi only outputs one stream with all voices combined. You can't split that up again. (And yes, I'm aware of VSTs with multiple outputs, but that's another story).
Title: Tuning flexibility for VSTi
Post by: bvanoudtshoorn on July 12, 2009, 10:14:23
Jojo's right -- VSTs (in OpenMPT's context) only have two outputs: left and right channels.

I'm not sure, though, that you're right about realtime pitch-shifting being infeasible -- lots of plugins do it really well, and it's generally not noticeable for small alterations.

In terms of option a, Kontakt does really good microtuning -- you can define a tuning for every MIDI note that comes in very easily. Of course, the problem is that Kontakt isn't free, so you have to shell out for the functionality.
Title: Tuning flexibility for VSTi
Post by: g on July 12, 2009, 17:40:10
Quote from: "bvanoudtshoorn"I'm not sure, though, that you're right about realtime pitch-shifting being infeasible -- lots of plugins do it really well, and it's generally not noticeable for small alterations.
Sorry if this it OT, but do you know of any free/cheap ones? (I know of GSpot)
Title: Tuning flexibility for VSTi
Post by: Saga Musix on July 12, 2009, 18:57:21
Aren't you sure you mean GSnap? :nuts:
Title: Tuning flexibility for VSTi
Post by: g on July 12, 2009, 19:20:34
Quote from: "Jojo"Aren't you sure you mean GSnap? :nuts:
I'm pretty damn sure I mean GSnap...  :oops:  but GSpot (http://www.headbands.com/gspot/) is a pretty cool tool too for those wondering what codecs a video file requires.
Title: Tuning flexibility for VSTi
Post by: nobuyuki on July 15, 2009, 20:34:41
Couldn't MPT just pass transposed MIDI data to the VST, or are we talking about tuning in-between semitones ?
Title: Tuning flexibility for VSTi
Post by: Saga Musix on July 15, 2009, 21:00:49
It's the latter... Well actually it's something inbetween, it's about choosing another tuning that 12TET.