Making a Microtonal MIDI file player

So Im trying to make a patch that can import a MIDI file (Im using MIDI PLAYER from Wrong People) and translate it with Poly Scala Quantizer into x scale and then split it in y number of signals to change the pitch of y number of oscilators through fm input (since I’m using LFOMultiphase {which is not polyphonic} due to its accurate multiphase hability).

I have a few questions:

  1. How many signals do I need?
  2. What frequencies I should use in the oscilators?
  3. Why am I only getting signal out of channel 2 in the MIDI player?
  4. How to integrate the velocity of the MIDI file into the envelope?

(It’s the first time Im doing something like this)

Thanks for reading/helping :slight_smile: Processing: Capture.PNG…Processing: Capture.PNG…

Here are the files:

Maybe apply the patch you made so far.

And maybe it would be helpful to provide the midi file that you use.


Ready :slight_smile:

Thanks for the files. Do you use Rack V1.6?

I can’t get this patch to work in Rack V2 because there’s no version of the WrongPeople MIDIplayer für Rack 2.

I would update to a MIDI player that works in Rack V2.

Here is a vastly simplified patch using Rack V2.

Microtonal_MIDI_patch_2.vcv (25.7 KB)

Hope this helps as a starting point.

1 Like

Yes, I use V1.6 because Opsyloscope is not on VCV 2. Anyhow, thanks for the patch , it helps.

How could I make this with individual MULTIPHASE LFO Modules ? I need an output signal that has 90deg phase shift per tone. (I’m using 90 deg phase shift in the Stereo Field, it is the most important part of my project)

Another option, I think, would be to wire a specific signal delay on the stereo field, per note, in order to achieve this. I had think about this problem for looong time, trying to resolve, without success.

There are other oscilloscopes that can do pretty much the same, e.g.

Here’s a patch with LFOmultiphase and the oscilloscope mentioned above Microtonal_MIDI_patch_3.vcv (26.5 KB)

The other oscilloscopes lack quality and line thickness controll (among other VERY cool features). Thanks for the help Very Appreciated :slight_smile:

1 Like

I ported the Opsyloscope to VCV 2. It is not part of the official library, and I can do only a build for Windows.

If you are using VCV on Windows, download the file ModularFungi-2.0.0-win.vcvplugin and put it in your plugins folder. Then start VCV 2.


Oh my Gosh this is one of the best gifts I have had on this life time <3 Thank You!

1 Like

Another feature that isn’t practical for me in VCV2 is that, LFO Multiphase, automatically (& seemingly randomly) changes the last digits of the input freq when a long digit number is written. Its not just a rounding but a seemingly random change. This might seem arbitrary, since it is something like 333.3212 hz versus 333.3222 hz, but in my studies it isn’t, since I’m studding the proportion between waves and minimal differences like that become exponential very quickly. I’m not sure who is the most appropriate person to ask this question/how to do so, that’s why I communicate it with you. Any type of help is appreciated.

maybe try 8FO by Bogaudio:

With rightclick on the frequency knob you can enter 1000/3 to get 333.33 Hz, but at the end all numeric values with fractions will lack the precision you need.

Sorry to say, but when it comes to numeric values with fractions, computers are not perfect.

Maybe choose other numbers, e.g. 432 Hz?

1 Like

Not looking for perfection but makes no sense that the older version is more accurate in that sense than the newer one. Not just LFO Multiphase module but also Clocked doesn’t accepts decimals anymore. And who know how many other modules downgraded in that sense…

Thanks for the answer tho, that’s appreciated

1 Like

So then it might be better for you to stay on Rack V1.

In a musical sense I think maybe some people care about fractions of bpm, but I’m sure most people here don’t care.

On analog modular hardware it*s pretty impossible to set an oscillator to 333.33333 Hz exactly. If you set analog gear to e.g. 330 Hz then after a while the circuits heat up and you get 335 Hz, and some times later it goes down to 328 Hz.

If you want more exact values, maybe go for CSound or SuperCollider or Chuck or PureData.