Midi router

Discuss anything new and newsworthy! See http://planet.linuxaudio.org and https://libreav.org/news for more Linux Audio News!

Announcements of proprietary software may fit better in the Marketplace.


Moderators: raboof, MattKingUSA, khz

Post Reply
iuqwer9
Established Member
Posts: 4
Joined: Sat May 02, 2020 1:35 pm

Midi router

Post by iuqwer9 »

Hi

I have written a midi router
https://sourceforge.net/projects/midi-router-client/

it's supported on Linux, windows, OSX

Route anywhere to anywhere.
Create virtual port.
Route from WebMidiJs client to server and back.
Route from server to server.
All routing in RealTime with no latency.
Route from one event type to another. (cc to pitch wheel)
Route to/from 14bit CC
Monitor midi input.
Build Custom controls to send CC/Program Change.
Custom Program Change dropdown..
Transpose/Harmonize
Create presets, controlled by any midi event

The server is QT RtMidi c++,
The client is vue js, packaged with electron

hope you'd enjoy it.
User avatar
Shupacabras
Established Member
Posts: 116
Joined: Fri Jun 08, 2012 11:12 pm

Re: Midi router

Post by Shupacabras »

I think it would be useful, but
Any documentation?
any example of connection?
what port is used?
iuqwer9
Established Member
Posts: 4
Joined: Sat May 02, 2020 1:35 pm

Re: Midi router

Post by iuqwer9 »

Hi

In linux it is just
1. extracting the zip,
2. running the server (./MidiRouter) from directory extracted.
3.running the electron appImage,

In OSX is just coping the server app and the electron app to the “Application” folder

Default port is 12345, but it is possible to
./MidiRouter -p <port>

- The “Easy config” supposed to be intuitive to split keyboard, and route anywhere, or translate CC to whatever everywhere.
- EasyConfig is translated to something less intuitive at the “inputs” screen (Routing chains).
[
the filter syntax is explained at the help about
]

More complicated routing should be performed from Input screen like:
- Enabling 14bit.
- routing from server to server (how ever you can do it easily using Midi Js at the midiJs screen).

User Control screen, is for sending program change or CC to device.

Preset screen is
- to activate presets (also using external Program change or CC),
- to save to file all current configuration.

Virtual ports screen
- add virtual ports

Connection example (incentive for creating this):
- Midi environment like in Logic , without having to be obligated to the DAW workflow..
- Connecting anywhere ti anywhere (and over network) like in Ardour with transformations (spit keyboard, CC port X to whatever at whatever).
- configuration easily understood.

Thanks
shemeshg
User avatar
Shupacabras
Established Member
Posts: 116
Joined: Fri Jun 08, 2012 11:12 pm

Re: Midi router

Post by Shupacabras »

thanks i think i'm going to love this app
martibs
Established Member
Posts: 123
Joined: Mon Oct 15, 2018 7:06 pm
Location: Oslo, Norway
Has thanked: 34 times
Been thanked: 15 times

Re: Midi router

Post by martibs »

Interesting project, but I didn't find the interface to be very intuitive at first glance. Is it supposed to integrate with Jack?
iuqwer9
Established Member
Posts: 4
Joined: Sat May 02, 2020 1:35 pm

Re: Midi router

Post by iuqwer9 »

It's supposed to work with ALSA...
Since in the PRJ file of the server it is compiled with

unix:!macx: DEFINES += __LINUX_ALSA__
see [ https://github.com/shemeshg/RtMidiWrap/ ... Router.pro ]

for JACK you can compile yourself with :
__UNIX_JACK__
However wouldn't it be easier to "a2jmidid" instead?

The Input screen with all the routing chains is less intuitive,
however it meant for advanced usage like real time quantising using deferred filter to external clock.

1. How would you suggest to improve the EasyConfig screen to make it more easy, or maybe other screen?
2. Have you managed to split your keyboard, and route to different devices.
or route CC somewhere else?
Post Reply