RPi - mididings

Started by sixeight, January 17, 2017, 11:33:56 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

sixeight

I am trying to connect several devices to my VController that all work on midi channel 1 (Zoom devices and GP-10)
I want the RPi to change the MIDI channels. I have been using mididings for this. The documentation for mididings is over here:
http://das.nasophon.de/mididings/doc/gettingstarted.html

The following script works fine:

from mididings import *

config(
        client_name='channel01',
)

run(
        Channel(1),
)


But I need to filter out messages sent on channel 1. The syntax should be:

from mididings import *

config(
        client_name='channel01',
)

run(
        ChannelFilter(1) % (Channel(2), Channel(1))
)


But it keeps giving me errors. Any Linux wizards over here who can help?

sixeight

#1
Mididings is very flexible, but also very tricky in it's syntax. Some of the examples in the manual do not compile. I did however get it to do what I want today:

from mididings import *

config(
        client_name='channel01',
)

run(
        ChannelFilter(1).negate() >> Channel(1)
)


Which means I am able to route midichannels and change midi channels in the routing. Another step forward for the RPi midi bridge. Now I need to script to run at startup, which does not work yet...

Gee

You also have the Retrokits RK-002 which is a 'Smart MIDI Cable' It can also run arduino code on it and can do very complex MIDI Tasks, this MIDI channel bending is a piece of cake on it.

sixeight

#3
Quote from: Gee on September 28, 2018, 10:41:06 AM
You also have the Retrokits RK-002 which is a 'Smart MIDI Cable' It can also run arduino code on it and can do very complex MIDI Tasks, this MIDI channel bending is a piece of cake on it.

That looks really clever. Could be a great solution for some midi issues.



More info: https://www.retrokits.com/shop/rk002/

For the VController I needed something with several USB host ports. I wrote my own Midi bridge in the end, derived from ttymidi, that works great.