In praise of Java

Steve W
Posts: 805
Joined: Thu Jul 16, 2020 5:55 pm

Re: In praise of Java

Post by Steve W »

AllanH wrote: Sat Aug 19, 2023 1:54 pm On a related note, I also think Cherry Audio has done an excellent job at abstracting out the host and host OS as it relates to audio, midi, and related processing.
I have noticed some issues with modules that use midi. I have been unsure if the problems I see are baked into Java, VM, or if they are the result of the modules themselves. I would like to believe the problems are not baked into Java or VM, so I hope you are right.

At first I was inclined to suspect that coders/module makers who do Audio/DSP treated midi as an afterthought and therefore weren't as diligent with their midi processing.

I have started exploring the use of VMD in order to decide for myself if the kinds of midi processing I have done before and am interested in doing within VM is possible. Based on results from a very simple midi tool I have started to develop, the problems I have seen might well be a combination of all three (Java, VM, and module makers) to varying degrees.
AllanH
Posts: 13
Joined: Sat Nov 26, 2022 5:23 pm

Re: In praise of Java

Post by AllanH »

Let me a few additional notes, in case it’s of help

Voltage Modular does not provide “sample accurate” timing in the sense you cannot expect ProcessSample() to be called consistently at 48k. Rather, it appears that VM buffers e.g. 256 samples and processes the buffer in one run. This is a general challenge with Midi, as the time stamps for midi events typically are set by the host or your module. This has been a practical issue for a very long time and only made worse when Steinberg (creators of the VST standard) omitted key Midi and automation data from the initial VST3 spec. Some of the “missing” Midi pieces have since been added piecemeal, but even JUCE does not quite have it all implemented. This also (imo) why VST2 still is popular as VST2 provides the necessary midi information in the data stream.

Anyway, setting my complaining aside, midi implementations generally require some experimentation depending on exactly what you’re looking to do. I have personally not poked much at custom automation with Midi in VM. I can say that when I connect up ModWheel (CC1) in VM it works as I would expect. So I do think that Cherry has done a good job with midi, in view of the limitations.
Steve W
Posts: 805
Joined: Thu Jul 16, 2020 5:55 pm

Re: In praise of Java

Post by Steve W »

Thanks for the additional comments. I have been aware of some issues with VST3s (and even avoided using them in general for a while), but that's independent of VM.

As for VM and midi, I am not so much interested in automation as I am in control, especially realtime and generative control. When it works properly, I see VM as having tremendous untapped potential to serve as control software interfacing with far more that VM modules.

I'm interested in going beyond mapping one or two usb or midi keyboards/controllers with note switches and parameter buttons, knobs, sliders, joysticks, and wheels to control parameters within a VM preset. VM as an integratable music control tool that takes advantage of midi can be done at present, but there are reliability issues.
ColinP
Posts: 1000
Joined: Mon Aug 03, 2020 7:46 pm

Re: In praise of Java

Post by ColinP »

Hi Steve and Allan. Maybe start a new thread on this as it's a subject well worth wider attention and it would be easier to find in future when we've all forgotten that it was tacked on to the end of a thread about Java.

If you do then I'll try to add my two and six as I'm interested in MIDI too.

No idea why two and six sprung into my mind, I might be going senile. It's like two cents but refers to shillings and pence. We had until the 1970's a crazy system called £sd that refers back to when the Romans were in charge of Britain. £sd stands for Librae, Solidi, Denarii.
Steve W
Posts: 805
Joined: Thu Jul 16, 2020 5:55 pm

Re: In praise of Java

Post by Steve W »

ColinP wrote: Sun Aug 20, 2023 6:35 pm Hi Steve and Allan. Maybe start a new thread on this as it's a subject well worth wider attention and it would be easier to find in future when we've all forgotten that it was tacked on to the end of a thread about Java.

If you do then I'll try to add my two and six as I'm interested in MIDI too.
Thanks for the suggestion. I have made a mental note to do this at some point. But, if I find that the issues I have been seeing are not the result of Java, I might want to come back and sing praises of Java with respect to midi. ;-)
Post Reply

Return to “Module Designer”