native VST synths/other plugins for Linux ? UPDATE 4/15/2015

What other apps and distros do you use to round out your studio?

Moderators: MattKingUSA, khz

gray
Established Member
Posts: 19
Joined: Mon Jul 28, 2014 9:25 am

Re: native VST synths for Linux ? UPDATE 6/6

Post by gray »

Arr! Evidence someone else succeeded where I failed.

I have pretty much tried every combination I can think of in terms of Jack2 configurations, Alsa and midi combinations etc. I exhausted all the existing google-able threads and info on this topic.

I can get all the the devices to show up: Virmidi - Omni in bitwig, Virtual Raw MIDI in the Qjackctl Connector window (Virtual Raw MIDI 3-0 in my case). I modified the virmidi.js script so it recognises the 'Virtual Raw MIDI 3-0' rather than 'Virtual Raw MIDI 1-0'. I have confirmed with Gmidiroute jack that I have midi notes coming through as it is getting routed into bitwig 1.0.11. But I just have no midi signals emerging from Virmidi-Omni.

As I said, I was as exhaustive in my experiments (and exhausted as a result today after 2am knock off!).

Any suggestions would be welcome but, until your post, studio dave, I had decided I was not possible and I would just have to wait for further bitwig jack support.

It might be another 2am sleep time tonight damn you!

But in seriousness, at this stage, I have nothing left to try...
StudioDave
Established Member
Posts: 753
Joined: Sat Nov 01, 2008 1:12 pm

Re: native VST synths for Linux ? UPDATE 6/6

Post by StudioDave »

Hey gray,

I wrote a step-by-step last night, hopefully it'll help :

1. Download virmidi.control.js
http://linux-sound.org/misc/virmidi.control.js

2. Install the ALSA virtual MIDI device driver

Code: Select all

        modprobe snd-virmidi midi_devs=N
where N equals a number from 1 to 4. I suggest using 1 to shorten the device listing.

3. Start Bitwig and install the virmidi script in the Preferences/Controllers panel. From the script's GUI open each of the drop-down I/O menus and select the first blank selection, i.e. the first selection after None.

4. In an Instrument track select Virmidi Omni as the track input source.

5. Start the ALSA virtual MIDI keyboard

Code: Select all

        vkeybd --device alsa
6. Connect the MIDI output from vkeybd to the virmidi device input. I use QJackCtl to make my MIDI connections.

7. Arm the track and master record buttons and start recording. Play some notes on the virtual keyboard. They should be recorded in the BW track.

Notes:

This may not work with Jack2, but I'm never completely sure which Jack is which. On my Fedora 19 system I have :

Code: Select all

[dlphilp@localhost ~]$ jackd --version
jackdmp 1.9.9.5
Copyright 2001-2005 Paul Davis and others.
Copyright 2004-2012 Grame.
jackdmp comes with ABSOLUTELY NO WARRANTY
This is free software, and you are welcome to redistribute it
under certain conditions; see the file COPYING for details
no message buffer overruns
no message buffer overruns
no message buffer overruns
jackdmp version 1.9.9.5 tmpdir /dev/shm protocol 8
The script will not work if you have the a2jmidid bridge installed (or any other MIDI bridges). I also have no MIDI driver selected in QJackCtl's Setup, I don't know if it matters.

Make sure you use a virtual (or real) keyboard with ALSA MIDI support. JackMIDI isn't supported by the script.

Btw, last night I recorded MIDI output from the CM/GRACE algorithmic composition system into Bitwig. Worked a charm, but alas, so far I've been unable to record MIDI output from Csound, not sure why but I think it might be a Csound issue.

HTH,

dp
glowrak guy
Established Member
Posts: 2315
Joined: Sat Jun 21, 2014 8:37 pm
Been thanked: 251 times

Re: native VST synths for Linux ? UPDATE 6/6

Post by glowrak guy »

I hope you're working on an eBook of linux audio. I'd shell out a $50.
Or $49, if you used vi in the editing process :wink:
StudioDave
Established Member
Posts: 753
Joined: Sat Nov 01, 2008 1:12 pm

Re: native VST synths for Linux ? UPDATE 6/6

Post by StudioDave »

glowrak guy wrote:I hope you're working on an eBook of linux audio. I'd shell out a $50.
Or $49, if you used vi in the editing process :wink:
No eBook forthcoming soon. As a matter of fact, I'd like to retire completely from the writing dodge after I finish the next few articles. I just want to *use* the stuff.

To wit: Anders Vinjar announced the availability of OpenMusic 6.9.0 beta for Linux. This may be a significant upgrade, it includes a new mode of behaviour described in "A Reactive Extension of the OpenMusic Visual Programming Language", an article by Jean Bresson and Jean-Louis Giavitto :

http://repmus.ircam.fr/_media/bresson/p ... update.pdf

So today I verified the new feature but didn't test it. Instead I played around with OM's MIDI output routed into Bitwig via the virmidi script. Nice. I've been using various VST synths as sound sources, including the mda synths and a Windows VST called Cyclone, a TX16w emulation in software by the guy who wrote the Typhoon OS, an alternate operating system for the original hardware. I have a bunch of sound files for the TX16w - I owned one in the day - and it's sweet to hear them again. I used the Airwave bridge to create the cyclone.so file.

As I said, I'd rather just use the stuff.

Best,

dp
gray
Established Member
Posts: 19
Joined: Mon Jul 28, 2014 9:25 am

Re: native VST synths for Linux ? UPDATE 6/6

Post by gray »

Thanks for the step by step StudioDave but I had no luck.

Looks like our jack version were similar and I had already dumped a2jmidid as it conflicted with Bitwig.

jackdmp 1.9.10
Copyright 2001-2005 Paul Davis and others.
Copyright 2004-2014 Grame.
jackdmp comes with ABSOLUTELY NO WARRANTY
This is free software, and you are welcome to redistribute it
under certain conditions; see the file COPYING for details
no message buffer overruns
no message buffer overruns
no message buffer overruns
jackdmp version 1.9.10 tmpdir /dev/shm protocol 8

I tried all the steps exactly as written, although I was pretty sure this was amongst the sequences and things I had already tried but I had the same result as previously. All steps successful but no midi. And when I check, after failing, GMidiroute is still showing the midi data is going into virmidi.
gray
Established Member
Posts: 19
Joined: Mon Jul 28, 2014 9:25 am

Re: native VST synths for Linux ? UPDATE 6/6

Post by gray »

In case I am in some way being stupid I will also add the only way I stepped out of the step-by-step I can think of. I changed the control script in the following lines:

host.addDeviceNameBasedDiscoveryPair(["Virtual Raw MIDI 3-0"], ["Virtual Raw MIDI 3-0"]);
host.addDeviceNameBasedDiscoveryPair(["VirMIDI 3-0"], ["VirMIDI 3-0"]);

This seemed obvious as my virmidi is showing up like that rather than as "VirMIDI 1-0". I am guessing this is to do with the number of other midi devices.

BTW I am on a low latency kernel, Ubuntu Studio 14.04. I have blasted all traces of portaudio from my system after a two major upgrades (when it seems to get reinstalled each time) so it is pure jack/alsa system.

all the best
Graham
StudioDave
Established Member
Posts: 753
Joined: Sat Nov 01, 2008 1:12 pm

Re: native VST synths for Linux ? UPDATE 6/6

Post by StudioDave »

gray wrote:In case I am in some way being stupid I will also add the only way I stepped out of the step-by-step I can think of. I changed the control script in the following lines:

host.addDeviceNameBasedDiscoveryPair(["Virtual Raw MIDI 3-0"], ["Virtual Raw MIDI 3-0"]);
host.addDeviceNameBasedDiscoveryPair(["VirMIDI 3-0"], ["VirMIDI 3-0"]);

This seemed obvious as my virmidi is showing up like that rather than as "VirMIDI 1-0". I am guessing this is to do with the number of other midi devices.
I can't think how that change could cause a problem, but what other MIDI devices do you have in your system ?
BTW I am on a low latency kernel, Ubuntu Studio 14.04. I have blasted all traces of portaudio from my system after a two major upgrades (when it seems to get reinstalled each time) so it is pure jack/alsa system.
I assume you mean pulseaudio ? Portaudio is a very different item.

Best,

dp
Drumfix
Established Member
Posts: 299
Joined: Mon Jan 26, 2009 5:15 pm
Been thanked: 11 times

Re: native VST synths for Linux ? UPDATE 6/6

Post by Drumfix »

Is it possible that you have a PCI midi interface interface (like some soundcard with a midi port) in addition to the virmidi interface.
In that case the first "invisible" entry will be whatever is the first midi interface you see in qjackctl.
To have meaningful names for the non-usb alsa midi interfaces in Bitwig currently requires a patched alsa-lib.
You can download the source from www.alsa-project.org alsa-lib-1.2.28.
Replace the file under src/rawmidi/rawmidi.c by the file rawmidi.c that i have attached below, build and install.
Be aware though that alsa-lib has a lot of dependencies.

While i'm at it, i also attached a small program that converts the midi notes 0, 1, 2 to bank select high, bank select low, program change.
The velocity values of the notes are then used as the controller values. Bitwig itself does not support program chagnes yet.
Attachments
programchange.c
(1.97 KiB) Downloaded 43 times
rawmidi.c
(27.67 KiB) Downloaded 45 times
glowrak guy
Established Member
Posts: 2315
Joined: Sat Jun 21, 2014 8:37 pm
Been thanked: 251 times

Re: native VST synths for Linux ? UPDATE 6/6

Post by glowrak guy »

gray wrote:In case I am in some way being stupid I will also add the only way I stepped out of the step-by-step I can think of. I changed the control script in the following lines:

host.addDeviceNameBasedDiscoveryPair(["Virtual Raw MIDI 3-0"], ["Virtual Raw MIDI 3-0"]);
host.addDeviceNameBasedDiscoveryPair(["VirMIDI 3-0"], ["VirMIDI 3-0"]);

This seemed obvious as my virmidi is showing up like that rather than as "VirMIDI 1-0". I am guessing this is to do with the number of other midi devices.

BTW I am on a low latency kernel, Ubuntu Studio 14.04. I have blasted all traces of portaudio from my system after a two major upgrades (when it seems to get reinstalled each time) so it is pure jack/alsa system.

all the best
Graham
Just in case it was missed, each generic script needs a unique uuid,
you get a fresh one each time you visit

http://www.famkruithof.net/uuid/uuidgen

just replace the existing, with the new.
Cheers

edit: I thought portaudio was the main audio dependancy of linux bitwig?
gray
Established Member
Posts: 19
Joined: Mon Jul 28, 2014 9:25 am

Re: native VST synths for Linux ? UPDATE 6/6

Post by gray »

Thanks - I'll try that with UUID and let you know if I have a breakthrough.

bitwig has worked very well without portaudio since I started using the 1.0.9 version. I think your understanding may be from early releases.
gray
Established Member
Posts: 19
Joined: Mon Jul 28, 2014 9:25 am

Re: native VST synths for Linux ? UPDATE 6/6

Post by gray »

GG

Maybe I'm not understanding your suggestion properly. Here's what I did.

Generated a new UUID on the link you gave.
Pasted it into the script virmidi.control.js replacing what looks like the current UUID in the top line.
Left my other changes intact "Virmidi 3:0" etc. as documented above.

Went through all the steps again suggested by StudioDave but the results were exactly the same.

thanks for the suggestion anyway. I did make a type of breakthrough which was getting my existing midi controllers working alongside virmidi, but of course with no midi activity coming though virmidi. I did this by having the 'Alsa Sequencer Support' ticked in the Misc setup tab in QJackctl, but having the other Midi Driver as 'None' on the main Jack settings tab.

Another thing I tried was using the Hardware Instrument Router on Bitwig to route midi from there to VirMidis Output port. That didn't work either. I can do this with JackAss plugin very well anyway but I thought it was worth the experiment.

What a shame JackAss can't work as a writeable midi client.
Drumfix
Established Member
Posts: 299
Joined: Mon Jan 26, 2009 5:15 pm
Been thanked: 11 times

Re: native VST synths for Linux ? UPDATE 6/6

Post by Drumfix »

The host.add... lines are useless, if your midi interface is displayed only as an empty space in Bitwigs dropdown list.
As you said earlier, you have more than one midi interface. If these midi interfaces show up as empty spaces in Bitwig, then,
by selecting the first empty space, you select whatever is the first midi interface that you see in qjackctl.

Either you apply my patch to alsa-lib, which gives you proper names for all midi devices in Bitwig, or you need to make
the virmidi device the first device in qjackctl by unloading/loading the drivers in the proper sequence.
gray
Established Member
Posts: 19
Joined: Mon Jul 28, 2014 9:25 am

Re: native VST synths for Linux ? UPDATE 6/6

Post by gray »

It sounds like that was the advice I needed drumfix; and some new linux challenges for me there. Many thanks for throwing that in. It does make sense of my failure to get this working.

I think patching and recompiling may be more learning that I wanted in one grab but I will look into it. The other option you mentioned of loading and unloading drivers sounds more accessible to my current skills although would still take me some research.

I am guessing from what you said that maybe I could luck upon the 'right' blank space selection to get a connection. Luck is something that will require no research and new learning so I'll probably try that first.

thanks again
StudioDave
Established Member
Posts: 753
Joined: Sat Nov 01, 2008 1:12 pm

Re: native VST synths for Linux ? UPDATE 6/6

Post by StudioDave »

gray wrote:I think patching and recompiling may be more learning that I wanted in one grab but I will look into it. The other option you mentioned of loading and unloading drivers sounds more accessible to my current skills although would still take me some research.
What does this command report :

Code: Select all

cat /proc/asound/cards
I am guessing from what you said that maybe I could luck upon the 'right' blank space selection to get a connection. Luck is something that will require no research and new learning so I'll probably try that first.
"Looks fade, luck runs out." Hopefully we'll get to a logical solution. :)

Meanwhile, to pique your zeal a bit, I figured how to record MIDI date from Csound. It's a little more complicated than the other systems I've mentioned, but I have it working now. Csound produces simultaneous audio and MIDI data, I rigged Bitwig to record from Csound's designated audio/MIDI outputs, but as with all the other systems there is no synchronization, i.e., Bitwig is basically acting as a glorified tape recorder. Still useful though.

Best,

dp
gray
Established Member
Posts: 19
Joined: Mon Jul 28, 2014 9:25 am

Re: native VST synths for Linux ? UPDATE 6/6

Post by gray »

I spent a bit of time with this last night and didn't get anywhere with my idea of picking the different blank spots. This concerns me that maybe patching and recompiling won't solve my problem. So I went looking around for other problems I could be having but I didn't really get anywhere.

Anyway I have:
gray@deepsound2:~$ cat /proc/asound/cards
0 [Audigy2 ]: Audigy2 - SB Audigy 2 ZS [SB0350]
SB Audigy 2 ZS [SB0350] (rev.4, serial:0x20021102) at 0xc000, irq 20
1 [E2x2 ]: USB-Audio - E-MU Xmidi 2x2
E-MU Systems,Inc. E-MU Xmidi 2x2 at usb-0000:00:1d.0-2, full speed
2 [Alias8A ]: USB-Audio - Alias_8A
Livid Instruments, Inc. Alias_8A at usb-0000:00:1d.7-1.3, full speed

And then:
gray@deepsound2:~$ sudo modprobe snd-virmidi midi_devs=1

...adds this one on:

3 [VirMIDI ]: VirMIDI - VirMIDI
Virtual MIDI Card 1

Then, with no solution, I just had a play around with the awesome looping/mix view capabilities of bitwig :)
Post Reply