How to change midi channels?

How do you can midi channels in with the OWL?

See previous topic for Wizard.

I believe this search shows you must edit the MIDI_OMNI_CHANNEL constant and compile the firmware from source.

My request to the team: please make configuration of the MIDI listen channel available from the Device page for all the devices. It opens up way more options in MIDI routing setups.

Cheers,
Y

2 Likes

Hmmm. My only issue is that I don’t know how to recompile or any of that stuff. I only know how to use Max and Pure data. C++ is something I’ve never messed with. Seems kinda silly that isn’t already a function of the pedal honestly. And even more silly it’s not a function on a modular synth. I just assumed it was already a thing.

Are There any news on this topic? In my setup it is pretty important to separate different synths by channel. I am working with the Witch. In case there is still no other way than recompiling the firmware, is there anybody here who could help me out with this? Ideally my Witch should only listen to one channel (preferably channel 7).

There’s support for setting input/output channels as firmware setting, but I’m not sure if @mars made some web interface for setting it. Looks like it’s not there yet, but you would be able to change it by sending a specific MIDI command to device. And there’s still the old option of compiling custom firmware with overridden default channels, it’s a bit easier nowadays as you only need to checkout OpenWare sources and download the ARM GCC compiler.

Thanks for your reply @antisvin ! configuring it with some MIDI messages, some sysEx or whatever it may would suit my purpose well. I couldn’t find any documentation on that though. Could you point to it?

cheers Jan.

After digging a bit into the web/js tool I seem to have come to this point for changing the input channel with a SysEx.

The manufacturer byte seems to be 0x7d the device byte 0x52.

That would result in a SysEx Message like:

0xF0 0x7D 0x52 [COMMAND???] [DATA???] 0xF7

Is that correct so far?

Does anybody know where the command for the setting the MIDI input channel and the required data bytes are documented.The web/js tools seem to have some code prepared to add this functionality but I don’t see the missing bits. :frowning:
@mars maybe?

Yeah that looks about right, there are some samples of sysex data here - https://github.com/RebelTechnology/OpenWare/blob/master/openware-notes.txt#L175-L235 , but it doesn’t include MIDI channel configuration

I think in this case the command byte would be this:

SYSEX_CONFIGURATION_COMMAND = 0x03,

Midi channel settings is handled here: https://github.com/RebelTechnology/OpenWare/blob/master/Source/MidiHandler.cpp#L242-L247

and just above it:
#define HEXCODE(x) ((uint16_t)(((x)[1]<<8)|(x)[0]))

That’s probably enough info to build the command, but I can’t get exact value at the moment.

Sorry it’s not better documented, it’s experimental functionality.

You can use this page to send settings:
https://pingdynasty.github.io/OwlWebControl/extended.html

scroll down to Settings / Set configuration and type in MI and the (zero-indexed) input channel you want, or MO for output channel. The value should be from 0 to 15, corresponding to MIDI channels 1 to 16.

Hello, midi channel setting from OpenWareLaboratory is really exciting ! and it works without problem when setting is sent by pressing “Send”.
however, I can’t find how to store the setting. midi channel setting is reset on every boot even “Store” is pressed. i wondered maybe it should be done on Bool Loader mode, but it only returns " Invalid SysEx Message".
probably I’m missing something. thank you for your support in advance !

okay, I’ll look into it :slight_smile:

1 Like

This web is a savior! Thank you!

So to be clear, it will always be one channel?
I mean, I would love Lich to receive all channels so I can choose which to use in the program. Or this is possible and I don’t see it?

It’s listening to all channels by default. Setting a specific channel number seems to be broken at the moment, but it should be possible to change it to use a channel with a specific number if you build a custom firmware after editing a certain file in OWL sources.

It is broken? I’ve used some days ago to set a specific channel using mars’s instuctions above! So by default listens to all channels? And I’ve changed it to use just one and now I’m stuck with it because the tool is broken? Hahaha, unlucky I guess… xD
Custom firmware is a little out of my experties.
I guess if I have to go back to listen all channels I’ll have to “reload” the firmware then…

I think the problem is that you wouldn’t be able to save settings after changing them in certain firmware versions. If that’s not the case, good for you.

So if I want to go back to “listen all”, which value should be?
( …scroll down to Settings / Set configuration and type in MI and the (zero-indexed) input channel you want, or MO for output channel. The value should be from 0 to 15, corresponding to MIDI channels 1 to 16…)

The default value that sets it to omni-channel mode is -1

1 Like