OSC midi NoteOn with osc4py3?

I’m trying to get simple midi control (NoteOn, NoteOff) but I think I’m missing something simple.
My basic goal is to play notes from a remote laptop using OSC.
I’m using Python3 with the osc4py3 module.

Using Ardour 6.9.0~ds0, ubuntu 22.04), I can see my messages coming in in the log window:

Untitled-2022-11-25-18-02-19.history" for this session.
2022-11-25T18:09:18 [INFO]: OSC @ osc.udp://p1:3819/
2022-11-25T18:16:30 [INFO]: Unhandled OSC message: /Ardour/ACE Reasonable Synth/0/NoteOn i:0 i:48 i:64

From the client side, I’m sending what I think is a correct NoteOn message.

$ python3
Python 3.10.6 (main, Nov  2 2022, 18:53:38) [GCC 11.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from osc4py3.as_eventloop import *
>>> from osc4py3 import oscbuildparse
>>> osc_startup()

>>> osc_udp_client("localhost",3819,"ardour")
>>> msg = oscbuildparse.OSCMessage("/Ardour/ACE Reasonable Synth/0/NoteOn", None, [0, 48, 64])
>>> osc_send(msg, "ardour")
>>> osc_process()

I also tried removing the leading “/Ardour” and also the channel (0 is supposed to be the first channel in osc4py3 channels) but that didn’t help. I still get errors:

2022-11-25T18:22:36 [INFO]: Unhandled OSC message: /ACE Reasonable Synth/0/NoteOn i:0 i:48 i:64
2022-11-25T18:23:41 [INFO]: Unhandled OSC message: /ACE Reasonable Synth/NoteOn i:0 i:48 i:64

Any help would be appreciated.


There’s some really major confusion here.

There are no OSC note messages. Ardour does not forward OSC messages to plugins.

I’m not sure what made you think you could do this. There is no way to play notes with OSC.

Depending on your OS for both the laptop and the machine running Ardour, you might be able to get MIDI-over-networking running using the qmidinet and / or ipMIDI programs (which are purported to be interoperable).

I may not have been clear enough in my question.
I’m specifically interested in sending MIDI messages in OSC packets and while I don’t care how the MIDI messages are tunneled to get to my synth in Ardour, it would be nice to use OSC since other software can do this. I just want to be able to send these messages from multiple network connected laptops to a single server running Ardour. (This is for an environmental soundscape application.)

In the past, I’ve use a plugin host called Carla and it had the ability to accept tunneled MIDI in OSC messages. So for example, from a laptop running a python interpreter, I could send:

msg = oscbuildparse.OSCMessage(“/Carla/0/note_on”, None, [0, 50, 127])
osc_send(msg, “aclientname”)

and Carla would parse this and send the MIDI message it to my synth.

The message you send to Carla is 110% Carla-specific. It would mean nothing when sent to another OSC receiver.

Ardour has no capability for handling “MIDI note messages” packed into OSC. You could add this capability via source code changes, but it does not exist at this time.