I googled "route midi video game to vst", I only found https://www.vdrums.com/forum/performance/in-the-studio/26706-routing-midi-into-a-vst .
Also "qtractor midi video game", nothing.
I'm on Arch Linux KDE.
The video game: EDuke32 https://aur.archlinux.org/packages/eduke32 with the data /home/username/.config/eduke32/duke3d.grp , Duke Nukem 3D has MIDI musics.
Qtractor https://archlinux.org/packages/extra/x86_64/qtractor/
yabridge https://archlinux.org/packages/multilib/x86_64/yabridge/
yabridgect https://archlinux.org/packages/multilib/x86_64/yabridgectl/
Roland Sound Canvas VA MIDI VST plugin https://archive.org/download/roland-sound-canvas-va , Sound Canvas VA v1.1.6 (64-bit).7z , Setup SOUND Canvas VA v1.1.6.exe (Official: https://www.roland.com/us/products/rc_sound_canvas_va/ ), installed via Steam, Proton Experimental.
I wanna:
route the MIDI output of EDuke32 to Qtractor with Sound Canvas VA, playing the MIDI musics of Duke Nukem 3D.
I did:
Qtractor, View, Buses..., Master - MIDI bus, Output Plugins, Add..., SOUND Canvas VA, OK
SDL_VIDEODRIVER=x11 eduke32
OPTIONS, SOUND SETUP, DEVICE CONFIGURATION, MIDI DRIVER: ALSA MIDI (DEVICE: MASTER), APPLY CHANGES
Qtractor, Play
Nothing, no MIDI music played.
The Arch Linux topic: https://bbs.archlinux.org/viewtopic.php?pid=2250395 .
Monitor
Activate "Monitor" on the MIDI bus. Then you sould see the audio meters move.
Make sure that the Master Audio Bus' output is connected to system:playback.
No Monitor nor system:playback
I not see "Monitor" nor system:playback, can you show the paths, the steps as I did? I'm noob here.
re. No Monitor nor system:playback...
pull up the Mixer (View > Window > Mixer) and there will be a "monitor" button on the either input and output MIDI bus strips;
you'll need to connect the MIDI out of the game (if that has one) to MIDI Master In and the "monitor" trick lets the incoming MIDI stream go all through into the plugin chain in the MIDI Master Out (where you probably have inserted the Roland Canvas VST).
system:playback is usually the main/default sound device speakers, at least on a genuine jackd system; if you're on PipeWire then it probably is named differently eg. "Built-in Analog Audio Stereo" (or something else...)
hth.
Does EDuke32 have an Alsa MIDI output?
There are several things to understand here.
Does EDuke32 have an Alsa MIDI output?
You must configure it, if possible, to have a MIDI output port. I don't know if that application creates MIDI output ports.
In Qtractor, in the connections window, go to the MIDI tab. Connect the EDuke32 MIDI output (if it exists) to the Master MIDI input. And then, as indicated in the Qtractor MIXER, activate the MIDI MASTER BUS monitor (not to be confused with the audio Master Bus) where the plugin is located.
PS
I've reviewed the links you attached and the EDuke32 documentation very briefly.
Maybe I'm wrong but...
Nowhere do I see that EDuke32 has MIDI output ports.
It's like trying to connect a Casio VL-1 to Qtractor to use it as a MIDI controller.
https://en.wikipedia.org/wiki/Casio_VL-1
Pipewire?
Since newer systems use Pipewire and I use ALSA/Pulseaudio/JACK I am afraid I can't help with the system's basic setup.
It works! Thanks.
Qtractor, View, Buses..., Master - MIDI bus, Output Plugins, Add..., SOUND Canvas VA, OK
Track, Import Tracks, MIDI..., 06 - Ackerlight.mid
right click 06 - Ackerlight.mid, Remove
Track, Remove Track (all the 5 tracks)
Mixer, 1 of the 2 monitor (Inputs or Outputs), Close
SDL_VIDEODRIVER=x11 eduke32 (if not already: , OPTIONS, SOUND SETUP, DEVICE CONFIGURATION, MIDI DRIVER: ALSA MIDI (DEVICE: MASTER), APPLY CHANGES)
Now the question is: how to avoid
Track, Import Tracks, MIDI..., 06 - Ackerlight.mid
right click 06 - Ackerlight.mid, Remove
Track, Remove Track (all the 5 tracks)
? If I not do it, it not works, no MIDI music played.
Can you send screenshots of each step of the process?
You don't know Qtractor, we don't know EDuke32, so you could say one thing, and we could interpret it differently (as happened to me with the ALSA MIDI connection, which was ultimately possible), and vice versa.
I think using a DAW as a MIDI player is like shooting flies with a cannon. I don't know if there's a host that works directly with VST and ALSA MIDI. It would be the simplest option. That way, you could connect EDuke32 directly to Sound Canvas VA. Something like jack-dssi-host, but for vst.
I don't know if anyone can advise you on this second option.
Why screenshots?
My steps aren't clear?
As I say it works, the only minor issue is to avoid to add a .mid then remove it.
"add a .mid then remove it"
That doesn't make any sense... It should work with only the MIDI and Master audio buses.
You're doing something wrong... but whatever.
I'm glad you fixed it. Solved.
The steps
The steps in my previous post not work anymore or I was mistaken...
The steps:
Qtractor, View, Buses..., Master - MIDI bus, Output Plugins, Add..., SOUND Canvas VA, OK, Close Buses -- Qtractor
Track, Add Track..., MIDI, OK
Play, Stop
SDL_VIDEODRIVER=x11 eduke32 (if not already done: , OPTIONS, SOUND SETUP, DEVICE CONFIGURATION, MIDI DRIVER: ALSA MIDI, APPLY CHANGES)
Qtractor, Mixer, Close
left click under the track, left click the track
Mixer, monitor in Inputs, Close
EDuke32, MIDI DRIVER: OPL3 EMU., APPLY CHANGES, MIDI DRIVER: ALSA MIDI, APPLY CHANGES
Qtractor, Track, Remove Track, OK
It's like voodoo but it works, maybe better steps?
I also tried Audacity but https://forum.audacityteam.org/t/mid-file-sound-canvas-va-not-work/144539 ...
You focus on the how, not the why
If you learn the hows from others, you'll be tied and dependent on their whys. If you understand the whys, you can even create hows that didn't exist before.
Now I know the whys (I had to deduce them from your confusing how-to sequences). For example, in my first reply to you, I thought you were trying to make music, not play it, so I provided you with information on how to manage banks from Qtractor. Again, knowing the whys changes everything.
1_
The first thing to do is configure Eduke32 to have an ALSA output.
Why? Because it sends the MIDI information and determines how that information will be sent. From there, I can connect it to any ALSA-compatible device, whether real hardware or software.
Some devices (programs) create stable ports, as in this case Eduke32. Others define the connection first, and then create the port along with it. Knowing this is important because if you do it the second way, it won't be compatible with MIDI jack hosts. Since it creates stable ports, you can use Carla (or other hosts) instead of Qtractor to do the job. However, Qtractor, paradoxically, despite being more than a host (it's a complete DAW), offers the simplest solution.
You never made this step clear; in this last sequence you attached, it's clear to me.
CONFIGURATION, MIDI DRIVER: ALSA MIDI, APPLY CHANGES
2_
Open Qtractor. Open the mixer:
F9 or View > Windows > Mixer.
On the MIDI output bus (not the audio bus), press the monitor button.
Why? This will allow MIDI messages to flow freely.
Remember, this is a DAW, not a MIDI player. In a DAW, it's necessary to distinguish which signals should flow and which shouldn't so that all the instruments don't sound at once while you compose.
This is why you need to activate the monitor if you want to use it as a MIDI player for external signals.
3_
Load the synthesizer into the output bus.
4_
Open the connections window:
F8 or View > Windows > Connections
In the MIDI tab, connect the Eduke32 output port to the Qtractor Master MIDI input port.
Save the project with a name of your choice.
From now on, every time you want to play MIDI from Eduke32, you'll just have to open Eduke32 first and then the saved Qtractor file with everything preconfigured... and it will work.
If I've taken the time to answer, it's only to demonstrate the importance of the whys for freedom... and not to be dependent on the hows.
The steps 2.0
Qtractor, View, Buses..., Master - MIDI bus, Output Plugins, Add..., SOUND Canvas VA, OK, Close Buses
Track, Add Track..., MIDI, OK
Play, Stop, Play-head back to 0
Mixer
left click under the track, left click the track
monitor in Inputs of Mixer, Close Mixer
Track, Remove Track, OK
File, Save
Name: e.g. EDuke32, Directory: e.g. /home/username/Desktop, OK, Save, Close Qtractor
left click EDuke32.qtr
SDL_VIDEODRIVER=x11 eduke32 (if not already done: , OPTIONS, SOUND SETUP, DEVICE CONFIGURATION, MIDI DRIVER: ALSA MIDI, APPLY CHANGES)
I recommend:
the window of SOUND Canvas VA, All, right arrow for SC-55.
Sorry but I followed your steps, it not works: no MIDI music played, also:
Qtractor, Connections, Audio
SDL Application is already connected to Family 17h (Models 00h-0fh) HD Audio Controller Analog Stereo, both my & your steps.
DIY, install Arch Linux KDE etc.
Add new comment