Bug: Linux Alsa midi devices that are not USB devices are not listed with their name

Official support for: bitwig.com
RELATED
PRODUCTS

Post

Bug: Linux Alsa midi devices that are not USB devices are present in the Dropdown menu, but the name is empty. When selecting any of this empty entries, the first device with an empty entry is selected.

Hardware: PC AMD 64, RME HDSP Multiface, Midisport 2x4 USB, VirMidi
OS: Ubuntu 14.04
Bitwig version: 1.0.7

Post

That's correct. I wrote a script for the ALSA virtual MIDI port, taking off from Tom Generic script. I can now connect to my external synths, but for some reason I can't get Csound to listen to BWS.

If you want the script it's here:

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

I got my Midisport 2x2 autodetected and my LPK25, again using custom scripts.

Best,

dp

Post

That script looks interesting. Thx.
So far i did only use a generic script.

Btw,
1. If you use the virmidi-1 in Bitwig (and ONLY! the virmidi), you can select "seq" as the midi driver of jack-midi and then connect to/from any jack-midi client.

2. If you want Bitwig to expose an arbitrary number of audio ins and outs to jack, you need to start a client with exactly the number of audio/outs/ins you want and select that client as the driver in Bitwig.

Greetings

Post

@drumfix - Thank you for that information. I think we need to start collecting a "Linux tips & tricks" for Linux BW users. :)

Best,

dp

Post

hi gals and boiz!
i cannot confirm that:(
Btw,
1. If you use the virmidi-1 in Bitwig (and ONLY! the virmidi), you can select "seq" as the midi driver of jack-midi and then connect to/from any jack-midi client.
i "simply" want to route the midi output of puredata into bitwig via jack.

i would very much appreciate any help to achieve that.

thanks and greetings

Post

gretchen wrote:i "simply" want to route the midi output of puredata into bitwig via jack.
Done and done. :)

1. Fire up QJackCtl.

2. Add the ALSA virtual MIDI ports (modprobe snd-virmidi). Four named ports will appear in QJackCtl's ALSA tab, starting with something like VirMIDI 1-0, assuming it's the first MIDI device in your system.

3. Fire up Pd. I tested with Pd-extended from the Planet CCRMA repos for Fedora 19.

4. Configure Pd for Jack audio and ALSA midi. As far as I can tell JackMIDI is not directly supported in this version of Pd.

5. Connect a Pd MIDI output port to the first VirMIDI port.

6. Fire up BWS. Load the virmidi script. Configure it as described, with the I/O set to the first blank entry.

7. Select an Instrument Track and set its recording input to Virmidi - Omni. Start recording.

8. Use the Pd audio/MIDI test patch to activate a MIDI output test. If your connections are correct (and I haven't left anything out) BWS will record the repeated test note.

As the other users here have indicated, you should able to use the raw or seq options for Jack to use JackMIDI instead. I haven't tested that yet.

Support for Jack transport will be very nice indeed. :)

I hope that helps. Good luck, and let us know how you fare.

Best,

dp

Post

For further fun, I loaded this patch into Pd :

http://algorithmiccomposer.com/2010/03/ ... edata.html

and recorded its output into BWS. I edited the data there and sent it back out to the external world to an instance of QSynth.

As friend glokraw describes, the possibilities have expanded greatly. Want to run Linux BW with native Windows VST/VSTi plugins ? Try BWS -> Festige or Carla. Want to record audio and/or MIDI from/to Pd/SuperCollider/Csound/RtCmix/ChucK ? Can do. Some complex routing can be designed with Jack, the alsa_in/alsa_out utilities, and BW's Hardware Instrument router.

Jack sync will be such a sweet addition to BWS.

Best,

dp

Post

@studiodave
thank you very much, so far.
6. Fire up BWS. Load the virmidi script. Configure it as described, with the I/O set to the first blank entry.
would that mean i had to fiddle about with your script to, for example, make it pass control change events too?
the thing is i only get midi note events from pd to bws. no cc.

do you have an idea?

thanks and greetings

Post

gretchen wrote:
6. Fire up BWS. Load the virmidi script. Configure it as described, with the I/O set to the first blank entry.
would that mean i had to fiddle about with your script to, for example, make it pass control change events too?
Yes, it needs edited for CC messages but as far as I know that's do-able. I'll take a swing at it myself, but it may not be this evening. Trust me, if you can code in Pd you can code in BWS's Javascript.

I'll let you know if I get the CC recording happening.

Best,

dp

Post

Just wanted to confirm the bug - M-audio delta 24/96 is "blank"
:hug:

Post

@studiodave
I'll let you know if I get the CC recording happening.
thank you very much, but no need to hurry.
Trust me, if you can code in Pd you can code in BWS's Javascript.
i trust you, but honestly, i'm too lazy to delve into the api to find out whats going on;)
and it's not that much fun for me as it seems to be for you.

thanks again
and nice times

Post

gretchen wrote:@studiodave
Trust me, if you can code in Pd you can code in BWS's Javascript.
i trust you, but honestly, i'm too lazy to delve into the api to find out whats going on;)
I adore honesty. :)
and it's not that much fun for me as it seems to be for you.
Not exactly fun, but I do want BWS to succeed with Linux users. So there's work to be done...

Best,

dp

Post

Update: I identified the problem with the blank entries.

It is because Bitwig uses the name of the rawmidi substream.
But the usbmidi driver is the only one filling in the name. All other drivers
leave it at the default empty string.

I wrote a tiny kernel patch that assigns a name to a rawmidi substream, when it
is created. If some volunteer wants to try it (requires knowledge of patching and kernel building), feel free to pm me.

PS: Bitwiggers: Please link the bitwig executable on Linux SHARED against libportaudio, so we can write a jack audio backend that better suits our needs!

Post

Drumfix wrote:Update: I identified the problem with the blank entries.

It is because Bitwig uses the name of the rawmidi substream.
But the usbmidi driver is the only one filling in the name. All other drivers
leave it at the default empty string.
Yes, this is a known issue.
I wrote a tiny kernel patch that assigns a name to a rawmidi substream, when it
is created. If some volunteer wants to try it (requires knowledge of patching and kernel building), feel free to pm me.
I'm too busy at the moment to try it, but bless your head for doing such a thing. :)

The problem would go away if the script API included a createNoteOutput that could be named just as createNoteInput allows.
PS: Bitwiggers: Please link the bitwig executable on Linux SHARED against libportaudio, so we can write a jack audio backend that better suits our needs!
Agree++

Best,

dp

Post

gretchen wrote: the thing is i only get midi note events from pd to bws. no cc.
I just checked this without making any change to my script. I used a simple Pd patch that sent CC1 messages. I selected VirMIDI Omni for the BW track input, started recording, fiddled with the Pd patch, and stopped. Nothing appeared in the track display, of course, since I was recording controller events. I opened the track automation lanes, and there's my CC1 data, recorded from Pd. Sweet.

Was nothing shown in the automation lanes after you recorded ?

Best,

dp

Post Reply

Return to “Bitwig”