Skip to content

[Question] MIDI into MidiMonster on Mac OS X? #116

Open

Description

@grahamhr

Has anyone successfully routed MIDI on Mac OS X into MidiMonster and can give some guidance?

As far as I can tell, the Jack backend is the way to go for MIDI on Mac OS. Also seems like I need to learn the Jack system which I believe is totally separate from the virtual MIDI ports provided by Core MIDI?

Context: I'm trying to convert MIDI coming from Ableton Live on Mac OS X to Art-Net/DMX (and a simple 1:1 MIDI note to DMX channel mapping is perfect for my needs). Very similar to this Q&A on Reddit, except on Mac OS:
https://www.reddit.com/r/lightingdesign/comments/i7poiy/noob_needs_help_with_midi_to_artnet/g1e9odr/

Thank you for this great rosetta stone software!

Activity

  1. Spacelord09 commented on Jun 15, 2022

    @Spacelord09
    Collaborator

    Hey @grahamhr,
    I think you mean our rtp-midi backend that can communicate directly with apple's midi subsystem over the network.

    If you want, you can share a working tutorial at our KnowledgeBase that can help users with the same Problem!

    If you need more help, just ask here ;-)

  2. grahamhr commented on Jun 15, 2022

    @grahamhr
    Author

    @Spacelord09 Thanks for the tip!

    I didn't realize that rtpmidi is the default/normal Mac OS MIDI backend - is that true?

    I thought rtpmidi was for a more-esoteric multi-computer IP network situation, and not for a single computer MIDI -> MidiMonster -> anything, e.g. Midi out of Live into Art-Net/DMX.

    Once I get this working, I'm happy to contribute a detailed tutorial - I suspect Ableton Live on Mac (or any other MIDI source on Mac) to Art-Net/DMX is a pretty common use-case for MidiMonster.

  3. Spacelord09 commented on Jun 15, 2022

    @Spacelord09
    Collaborator

    @Spacelord09 Thanks for the tip!

    @grahamhr No problem, glad that I can help you ;-)

    I didn't realize that rtpmidi is the default/normal macOS MIDI backend - is that true?

    I'm not a Mac user myself, so I can't say 100%.
    But I think that it is currently the only possibility to interact directly with the (you called it:)"Core MIDI" on Apple devices. (Speak without installing jack.)

    I thought rtpmidi was for a more-esoteric multi-computer IP network situation, and not for a single computer MIDI -> MidiMonster -> anything, e.g. Midi out of Live into Art-Net/DMX.

    It can be used for multi-computer setups, but it's not a requirement. It should work on any single-pc setup.

    Once I get this working, I'm happy to contribute a detailed tutorial - I suspect Ableton Live on Mac (or any other MIDI source on Mac) to Art-Net/DMX is a pretty common use-case for MidiMonster.

    That would be perfect 👍🏻

    If you want you can join our Discord.

  4. cbdevnet commented on Jun 19, 2022

    @cbdevnet
    Owner

    Hi @grahamr, sorry for replying so late and thanks for your interest in the MIDIMonster!

    Indeed on OSX currently jack is the best-supported option (as it is usable cross-platform), along with rtpmidi for networked Apple devices. For input from the local host (as with Ableton), the jack backend would probably be best-suited.

    A dedicated Core MIDI backend for OSX might eventually be the best option, but I currently don't have the Hardware to do that.

  5. grahamhr commented on Jun 19, 2022

    @grahamhr
    Author

    @cbdevnet Thanks for the guidance - I really appreciate it! I'll keep moving forward with both Jack and rtpmidi and see where I can get to.

    Do you happen to know anyone who has setup a working MIDI >> MidiMonster setup on OSX?

  6. Solander commented on Nov 21, 2022

    @Solander
    Contributor

    @grahamhr Did you get this to work? I've tried installing Jack, but no MIDI devices are showing up so I'm pretty stuck.. :/
    A native MIDI backend for OSX would be preferable but I get that it's an open-source project and that may take a while.

  7. emmaworley commented on Nov 21, 2023

    @emmaworley

    I got this working today. Here's an example config:

    [backend jack]
    errors = on
    
    [jack j]
    name = MIDIMonster
    midi_in = midi in
    midi_out = midi out
    
    [map]
    j.midi_in.ch{0..15}.note{1..127} > j.midi_out.ch{0..15}.note{1..127}
    

    The key is to connect MIDIMonster's ports to autogenerated Core MIDI ports. Run MIDIMonster, then inspect with jack_lsp:

    ~ jack_lsp -Ac
    system:capture_1
       coreaudio::out_1
    system:playback_1
       coreaudio::in_11
    system:playback_2
       coreaudio::in_22
    system_midi:capture_1
       coremidi:TRAKTOR X1 MK3:out1
    system_midi:capture_2
       coremidi:virtual1:out2
    system_midi:capture_3
       coremidi:virtual2:out3
    system_midi:playback_1
       coremidi:TRAKTOR X1 MK3:in1
    MIDIMonster:midi_in
    MIDIMonster:midi_out
    system_midi:playback_2
       coremidi:virtual1:in2
    system_midi:playback_3
       coremidi:virtual2:in3
    

    Then make connections:

    ~ jack_connect 'coremidi:TRAKTOR X1 MK3:out1' MIDIMonster:midi_in
    ~ jack_connect MIDIMonster:midi_out coremidi:virtual1:in2
    

    Now in my case, MIDIMonster is forwarding notes from the TRAKTOR X1 MK3 device to the virtual1 device.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions