Closed DJLevel3 closed 10 months ago
Update! I think I can actually do it using a standard MIDI connection and a TCP socket to return the audio to the VST plugin. I can probably even do it all myself since the Java documentation is quite good.
I've been trying to get something like this working for ages and didn't even know your 1st solution was an option! If you think that's possible then it would be amazing if you could look into this. Let me know if there's anything at all I can help with on the Java side of things or if you have any questions :)
Happy for you to lead this though as you have the most experience with using DAWs!
Thanks! I realized two things just now: First, MIDI is dead simple to send over a TCP connection. Second, MIDI file playback is an easy to implement feature that would fit most applications. I'm looking into implementation right now, but if all goes well, something will be implemented later today.
Amazing, thanks again!
With some external software, it's possible to get MIDI out of a DAW with no plugin! The one issue is latency and performance, it was super finicky to get it to work right and it's definitely not live. There's a significant amount of buffering time. However, you can still get MIDI from a DAW to osci-render and then record the audio from OR, like I did here!
This is really cool and a great start :) where do you think the latency is coming from in this case? Is it DAW-specific or not?
It's the MIDI loopback software I used. osci-render doesn't show up as a MIDI device by default so I had to use a pipe to get the MIDI from Ableton to OR.
So if you add the functionality to somehow make OR show up as a device then this would likely work
I use a loopback software called LoopBe - is this the one you're using? I didn't notice any latency issues with it in the past. From a quick look it doesn't look like there's a way of getting Java to register a MIDI device that the OS can see.
MIDI files in osci-render are definitely a sensible way to do this in a way that probably won't be that hard but wrapping this in a VST might be the best way to do this
I was using loopMIDI. I'll try LoopBe later today if I remember. https://www.tobias-erichsen.de/software/loopmidi.html
Huge difference! It's basically realtime, though my system hates it if I pipe the audio back into Ableton, haha
That's a shame!! Yes. It gets upset when that happens with osci-render too lol
Hey guys, I didn't read all of this but there is a simple solution to redirect your audio to your favorite DAW, just use VB (virtual audio cable) and redirect the output audio to the daw :)
The issue there is the performance overhead. It'd perform better and be easier to use if it was DAW-integrated.
I'm going to tack on another point here about MIDI performance - currently tracking a few issues regarding the performance of osci-render whilst using MIDI and Lua simultaneously. I haven't investigated it yet, but I'm aware it's a problem!
@DJLevel3 I'm currently working on a JUCE C++ port over at https://github.com/jameshball/osci-render-juce
It currently supports .obj files and has a very basic version of the sliders working. Will be a slow process porting stuff but a lot of the fundamental stuff is currently implemented. Will next be implementing Chinese postman to sort the lines being drawn, and then SVG parsing.
The JUCE C++ port is now complete, so you can use osci-render as an audio plugin in your favourite DAW :) You can get it here!
Add a hook/plugin for DAWs
Issue
There is no way to use osci-render with a DAW such as Ableton or FL Studio at the moment, so recording audio with MIDI input is only possible when doing it live or with special software.
Potential solutions
Notes/Miscellaneous
If you want to go with option 1, I can develop the VST3 plugin, since I mainly program in C++, but I'd need someone else to do the osci-render part as I suck at Java.
Thanks for making such an amazing tool, by the way! I use it a lot for making music, because for most use cases it's the best tool available.
Edits
8/24/2022 @ 11:19 AM Mountain Time: Added another potential solution