MidiPipe FAQ

Audio, MIDI and other software, not including effects or instruments
Post Reply
jlascotty
Posts: 1
Joined: 10 Apr 2016, 17:11

Re: MidiPipe FAQ

Post by jlascotty » 10 Apr 2016, 17:28

Hi all,

Hopefully people are still checking this part of the forum!

I would like some technical help if possible using Midi-Pipe. I'd like to see if anyone is able to code this using the Apple Script.

I'm trying to find a cheap way of adapting the PRESONUS STUDIOLIVE 16.0.2 and give it some broadcast mixer capabilities.
It has some midi ports on the back (which hopefully sends out info on fader positions). If so I'd like to use that information to create a trigger to mute studio speakers when ANY of the first 4 fader positions are above absolute zero ∞.

The end result would be the cc information converted into note on info which is sent to this box here...http://www.canford.co.uk/Products/42-68 ... S-SWITCHER

I've made a start on the coding using testing I've done on pro tools (this has not been tested at all with the mixer). All I've managed to do is get it to send a note for each individual fader. I need it to be more cleverly coded so the script knows where each fader position is and cuts the speakers when any of the first 4 faders are up and unmutes them when the first 4 faders are down.

on runme(message)
tell application "Finder"
if (item 1 of message = 176) and (item 2 of message = 0) and (item 3 of message >0) then tell application "MidiPipe" to MIDISend toPort "MidiPipe AppleScript Input" withData (144, 39, 100)
if (item 1 of message = 176) and (item 2 of message = 0) and (item 3 of message = 0) then tell application "MidiPipe" to MIDISend toPort "MidiPipe AppleScript Input" withData (144, 41, 127)
if (item 1 of message = 176) and (item 2 of message = 1) and (item 3 of message >0) then tell application "MidiPipe" to MIDISend toPort "MidiPipe AppleScript Input" withData (144, 39, 100)
if (item 1 of message = 176) and (item 2 of message = 1) and (item 3 of message = 0) then tell application "MidiPipe" to MIDISend toPort "MidiPipe AppleScript Input" withData (144, 41, 127)
if (item 1 of message = 176) and (item 2 of message = 2) and (item 3 of message >0) then tell application "MidiPipe" to MIDISend toPort "MidiPipe AppleScript Input" withData (144, 39, 100)
if (item 1 of message = 176) and (item 2 of message = 2) and (item 3 of message = 0) then tell application "MidiPipe" to MIDISend toPort "MidiPipe AppleScript Input" withData (144, 41, 127)
if (item 1 of message = 176) and (item 2 of message = 3) and (item 3 of message >0) then tell application "MidiPipe" to MIDISend toPort "MidiPipe AppleScript Input" withData (144, 39, 100)
if (item 1 of message = 176) and (item 2 of message = 3) and (item 3 of message = 0) then tell application "MidiPipe" to MIDISend toPort "MidiPipe AppleScript Input" withData (144, 41, 127)
end tell
end runme

Thanks for anyone who can help me on this - happy to be told its impossible if it is.

Cheers

s73as
Posts: 1
Joined: 18 May 2017, 08:44

Re: MidiPipe FAQ

Post by s73as » 18 May 2017, 08:47

Hi! Here's a spanish tutorial for MIDI Pipe and Logic, hope you like it!!

Hola! Acá hay un tutorial en español sobre MIDI Pipe y Logic, espero que les guste!!

https://www.youtube.com/watch?v=7qRbcFu461E

techmon88
Posts: 1
Joined: 01 Aug 2017, 12:50

Re: MidiPipe FAQ

Post by techmon88 » 01 Aug 2017, 12:54

Hello,

I am trying to do the following example with MidiPipe:

To map the C5 key on my midi keyboard, upon pressing it, to play both a C3 and C5 simultaneously, but to have C5 trigger several milliseconds after C3.

I got MidiPipe to have a C5 key play both a C3 and C5 simultaneously using Remap. However I need that several milliseconds delay until C3 is "pressed" ...
is this possible?

Thanks in advance for your help!
Shawn

stublito
Posts: 6
Joined: 25 Feb 2006, 13:48
Location: Honolulu

MIDIPipe Applescript Variables

Post by stublito » 14 Feb 2019, 12:01

After digging around on MacScripter, I found 10 so called "global" Applescript variables, that you can set in one pipe and access in another:

My minutes
My hours
My quote
My weeks
My days
My pi (will initialize to 3.14...., but can be overwritten)
My linefeed
My text item delimiters
My print depth
My print length

This will allow you to set a variable in one Applescript pipe and then use an "If, Then" statement in another. This is very useful for outputting multiple MIDI events with one keystroke.

The variables will persist for the term of the MIDIpipe session.

Stublito

stublito
Posts: 6
Joined: 25 Feb 2006, 13:48
Location: Honolulu

Really Cheap Wireless Remote for MIDIpipe

Post by stublito » 14 Feb 2019, 12:10

I got a Mac specific bluetooth number pad. The numpad keycodes are different from the keyboard key codes (except Enter, Tab etc). I then got MIDI Keys. Two things:

MIDIkeys can run in the background (yay)

If you open the MIDIkeys package, there is an editable XML resource file that maps the keycodes to MIDI notes.

From there you send the MIDIkeys notes to MIDIpipe to trigger whatever.

You just need to avoid hitting the Mac keyboard's arrow keys, as they shift MIDIkeys' octaves (even in the background) and cannot be disabled.

Stublito

JohnSkinner
Posts: 2
Joined: 16 Sep 2019, 21:42

Re: MidiPipe FAQ

Post by JohnSkinner » 17 Sep 2019, 11:19

I have a bass pedalboard I am building using a VooDoo Labs Digbat PX-8 to send MIDI commands to pedals to change presets via MIDI Program Changes.
The PX-8 can only send one MIDI command per button press, but I want to change settings on multiple pedals that each need different MIDI Program Change numbers.
My plan was to use MidiPipe to see the single MIDI Program Change, and send out multiple Program Change messages, but that will be later.
I am not sure if I'm not understanding how to configure MidiPipe to accept MIDI input correctly, or if my USB to MIDI adaptor's "MIDI In" is not working correctly.
My USB to MIDI adaptor is a E-MU Midi1x1. It doesn't look to be damaged.
I can verify MIDI out is working by seeing the MIDI messages in the 2nd AList tool window, and see the MIDI Program Changes on the external devices I am trying to control.
But when I send MIDI out from my PX-8 to the MIDI In jack of the E-MU adaptor, to the MidiPipe tool MIDI In (assigned to the E-MU MIDI In port), to the 1st AList tool, I don't see anything.

I have checked Audo Midi Setup, created a new config in there and the E-MUMidi1x1 shows up and is enabled.

My Pipe is:
MIDI IN (set to HiJack the E-MUMidi1x1 In)
AList
Keyboard
Message Converter (set to convert MIDI note to Program Change)
AList
MIDI Out (set to E-MUMidi1x1 Out - Screenshot shows offline now because it is unplugged while writing this post).

http://www.johnskinner.net/2019/09/pedalboard.html

I see activity lights on the E-MU adaptor when MIDI is going from the Mac out to the Pedals. But when I press a button on the PX-8 I do not see the activity lights on the E-MU adaptor. This is why I think it may be not working.
If I remove my Mac and E-MU adaptor from the pedalboard, and connect the PX-8 strait to the chain of pedals, then pressing PX-8 buttons are successfully changing my pedals (just not to desired Program Change numbers).

Is it possible that I have missed some basic step in getting midi signals from external MIDI devices, into MidiPipe?

Thanks

JohnSkinner
Posts: 2
Joined: 16 Sep 2019, 21:42

Re: MidiPipe FAQ

Post by JohnSkinner » 23 Sep 2019, 10:23

UPDATE: I have confirmed that my USB to MIDI adapter's input was not working correctly. I used my Focusrite Clarett 8pre as a MIDI in & out for my computer, and everything works correctly.

I ALSO SOLVED ALL MY MIDI ISSUES WITH MIDIPIPE!
I also can report that it took much experimentation to learn how to achieve my desired results with MidiPipe. What I discovered is that you can create multiple "pipes" within the same saved MidiPipe config, and all are active at the same time!. These multiple pipes show up in the dropdown list on the top righ-hand side. So for my setup with my Voodoo Lab Digbat PX, I can press one button on it for preset #1, and it sends out one MIDI command for a Program Change #0 on channel 1. But I have two other MIDI commands I need to send at the same time, on different channels. These signals are to change settings on my Two Notes Le Bass pre amp pedal on MIDI channel 2, and to change settings on my Sound Sculptures AB Cadarbra on MIDI channel 16.

The Solution:
In MidiPipe I have a "pipe" setup named "Preset1" that has two "Message Factory" tools in it. The first "Message Factory" tool has a trigger for a Program Change message minimum of 0 and a Program Change maximum of 0, then it creates a new message that is a Program Change message on channel 16 with a data value of 4, to change settings on my AB Cadabra. The second "Message Factory" tool has the same trigger as the previous tool, but creates a new message that is a Program Change message on channel 2 with a data value of 15, to change settings on my Le Bass. Then I just duplicated this "pipe" and named it "Preset2", set the trigger to be Program Change message minimum of 1 and a Program Change maximum of 1, and edited the new messages to make the changes I needed for that preset.

MidiPipe is awesome!!

Now I just hope that in the future I can get something like a Midi Solutions Event Processor Plus to achieve the same results on my pedalboard, without the need to have my computer as part of my pedalboard :)

Letes
Posts: 1
Joined: 28 Apr 2020, 12:05

Re: MidiPipe FAQ

Post by Letes » 28 Apr 2020, 12:15

Hello,
I am trying to control Reaper with the controller "Korg nanoKONTROL2", and everything is going fine, but i would like to switch midi channel using track buttons in order to control channels 1 to 8 with midi channel 1, channels 9 to 16 with midi channel 2,...
I am working with MacOS Catalina, and my last try has been using MidiPipe, but i am not able to make it work.
Could you help me, please?
Thank you!

Post Reply