Author |
Topic: Monitor MIDI info of DAW (Read 2184 times) |
|
Weston
New Member

 MIDI-OX Rules!
Posts: 8
|
 |
Monitor MIDI info of DAW
« on: Jul 12th, 2021, 4:54pm » |
Quote Modify
|
Hello, How do I use MIDIOX to moitor midi clock being sent out form my DAW? I am trying to use my DAW (reaper) as the master and 2 pieces of gear as slaves: 1) my prophet 6 synth as well as 2) my midi sequencer called Social Entropy Engine. I am successfully sending clock to the prophet 6, but I am having problems controlling the clock of my midi sequencer. I'd like to monitor exactly what info is being sent out of my DAW but I don't know how to do that. Can anyone please advise? Thank you -w
|
|
IP Logged |
|
|
|
Breath
Administrator
    

Gender: 
Posts: 1030
|
 |
Re: Monitor MIDI info of DAW
« Reply #1 on: Jul 12th, 2021, 10:09pm » |
Quote Modify
|
Hi Weston First set up the connections.. my guess yours looks like this Reaper -> Prophet 6 USB Reaper -> Social EE USB Note: it looks like both these devices use the Class Complaint Midi driver from Microsoft 8( This means, unless you have a late version of Win10, the driver is Single-client, so you can't run MidiOx as well as Reaper without using loopMidi or MidiYoke. If you are new to these, they are both free drivers that just connect MIDI programs inside the PC and they are both Multi-client so you can run and connect other applications. Reaper-> loopMidi 1 -> MidiOx -> Prophet 6 USB Reaper-> loopMidi 2 -> MidiOx -> Social EE USB So ... install, say , loopMidi and setup two loopMidi Midi cables, loopMidi 1 and loopMidi 2. In Reaper... 1) Connect the Reaper Midi out that should go to your Prophet to the loopMidi 1 port 2) Connect the Reaper Midi out that should go to your Social to the loopMidi 2 port Start MidiOx... 3) Goto Options/Midi Devices... and select at least loopMidi 1, loopMidi 2, Prophet and Social Midi Ins and Outs On the View / Port Routings 3) Drag the loopMidi 1 DIN socket picture on the left to the Prophet on the right to connect these ports 4) Drag the loopMidi 2 from the left to the Social on the right Play the Reaper song and all should work as before and you will see the Midi data appear in both the Input and Output Monitor in MidiOx. To see just one set of Midi clocks you should just be able to mute one of the tracks in Reaper. In MidiOx you can also go to View / Midi Sync and the tempo should be shown top right. It is based on what is coming into any port so watch out for Midi clock duplication. All the best Royce
|
|
IP Logged |
|
|
|
Weston
New Member

 MIDI-OX Rules!
Posts: 8
|
 |
Re: Monitor MIDI info of DAW
« Reply #2 on: Jul 14th, 2021, 4:32pm » |
Quote Modify
|
Hi Royce, thanks for you reply. Let me revise my issue. I know for a fact that I am successful sending midi clock from the master (reaper) to slave (Engine Midi Sequencer) because when I press play or record in reaper the Engine starts. When I record a simple MIDI pattern from the Engine it starts right on time and in sync with Reaper, but immediately lags. As time goes on the Engine strays further and further from the Reaper click track. Are you familiar with this behavior? Any advice? The customer support from the Engine Sequencer thinks that some additional information is being sent to the Engine and causing the lag and recommends I monitor exactly what is being sent to the Engine from Reaper using MIDIOX. I have successfully used LoopMIDI to monitor already recorded MIDI Note on/off messages being sent out to other instruments from Reaper. But if Reaper is only being used as a clock and sending start/stop messages to the Engine (not note on/off) how do I monitor just the clock from reaper? Thanks so much! -w
|
|
IP Logged |
|
|
|
Breath
Administrator
    

Gender: 
Posts: 1030
|
 |
Re: Monitor MIDI info of DAW
« Reply #3 on: Jul 14th, 2021, 9:59pm » |
Quote Modify
|
Hi Weston Go to menu Options and check to see if there is a tick next to "Midi Filter..." If there is then click that line to open the filter dialog. Make sure there are no ticks, except for 'Display Sysex messages in Monitors' and click OK (This is also where you can filter every thing but the clock if you want to, as you asked) In Options (again) check that there is no tick against 'Data Mapping' If there is then click 'Data Mapping' and on the dialog that opens, untick the 'Turn Map On' and click OK. You can have a Data Map on any of the connections in the Midi Port Routing window (the little box in the middle of the connection line). So in the Midi Port Routing window right click and select 'Disconnect all' Connect the ports you need again with any Data maps. There is an issue with passing sysex in MidiOx that is simply fixed by clicking the SYX at the bottom right on the MidiOx window, OFF then back ON Now every Midi message should be visible and passed by MidiOx, if there is a problem with excess data you should see it. You can also connect the 'MidiOX Event Port' to the Engine in the Midi Port Routing window and View / Midi Sync. The clock is always passed out through the MidiOx Event Port, but that is not displayed in the Input Monitor window so it has to be connected to something. Tick 'Send Clock' and it should appear in the Output Monitor going to the Engine. If you unclick the 'Send Clock ' and then use the transport button Play will send the Play command and then Midi Clock. Usually you should send the clock then press play so te receiving device/program can lock to sync before you start. See if this locks the Engine. I have used this MidiOx Sync a lot and if it doesn't lock the Engines to tempo then I am pretty sure it is the Engine. If it works OK then you need to look at Reaper (although I haven't had any troubles on my old PC and reaper sync). Try using Reaper as the Master and MidiOx as the slave you can see any variation in tempo in the 'Midi Sync Transport' dialog (top right). Try using MidiOx as the Master and Reaper as the slave. I have experienced the drift problem when the two tempos are the same (Reaper and Engine) and Reaper Sends 'start' and clock, but the other device is still set to internal sync. Both start, but drift apart. Set the Reaper tempo to a third of its value and see what the Engine does. If it goes slower, but still drifts then it is the Engine. The only way out of this is to try using the Engine as the clock source. Ask again if this doesn't get you any closer. All the best Royce
|
|
IP Logged |
|
|
|
Weston
New Member

 MIDI-OX Rules!
Posts: 8
|
 |
Re: Monitor MIDI info of DAW
« Reply #4 on: Jul 15th, 2021, 5:22pm » |
Quote Modify
|
1) I have successfully linked MIDIOX event port to the Engine output so that I can see the midi clock from MIDI Sync Transport going out of Engine. When i press play on Transport, the Engine locks in and plays and stops. There are 24 times-clock events between each note on message from engine. I don't see any inconsistencies, is there something else I should look for? 2) I can confirm that the Engine is set to sync to external clock. When I record in Reaper, any tempo I try it starts pretty much in sync with reapers tempo and then starts to drift. How do I find out what is causing the drift? 3) I'd like to try your idea of making MIDIOX Master of Reaper and vice versa. How do I make MIDIOX Master of Reapers clock and how do I make Reaper master of MIDIOX's clock? 4) For this issue, is it still necessary to use LoopMIDI idea? I tried what you originally suggested: Made sure nothing is getting filtered out. Took a midi track in reaper and sent it to LoopMIDI Port 1. saw in MIDIOX that it was being received. I then routed it out of MIDIOX to another synth and could indeed see that it was going out the proper out and sounding the synth. however I only saw midi note/off messages and didn't see any clock info from Reaper, which I believe was my intention. After all this trouble shooting, it's still unclear to me, how I can actually view and monitor the clock information coming out of reaper and sent to the Engine sequencer. How do I actually see the drift in MIDIOX? Thanks for the ongoing help, please let me know if I am doing anything wrong, or if you have any advice as to what exactly I should look for to solve this issue. best -Weston
|
|
IP Logged |
|
|
|
Breath
Administrator
    

Gender: 
Posts: 1030
|
 |
Re: Monitor MIDI info of DAW
« Reply #5 on: Jul 16th, 2021, 12:00am » |
Quote Modify
|
Firstly, the two hard parts of Midi are sysex and sync, but once you sort them out you will wonder why. If MidiOx's Midi clock is working then it is probably how you have set things up. First lets rule out driver issues (only MS Windows). If you can't connect the Midi input to BOTH Reaper and MidiOx at the same time then it is likely you are using MS single client driver. If that is the case you will need to convert to Multi-client by using loopMidi. Let me know and I will start this again............ I will assume you are not using the MS driver.................. So you will need to 'break' into the Reaper -> device output by using loopMidi or MidiYoke If you still can't see the F8 Midi clock bytes coming from Reaper it is probably Reaper's settings. Reaper as MASTER. In Reaper press CTRL+P for the Preferences, select MIDI Devices and set up loopMidi1 Midi Out to be enabled and 'Send Clock...' The blue arrow shows you where to adjust the sync (+ve or -ve numbers) , but there should be no drift. If you can't see F8 Midi clock in MidiOx's Input window when you start Reaper playing let me know. All the best Royce
|
|
IP Logged |
|
|
|
Weston
New Member

 MIDI-OX Rules!
Posts: 8
|
 |
Re: Monitor MIDI info of DAW
« Reply #6 on: Jul 16th, 2021, 9:29am » |
Quote Modify
|
Hi Royce, If I understand you correctly, I am indeed using a "multi-client driver". I am using USB connection from computer to the MOTU Express XT 8 channel MIDI Interface. From there I have several midi controllers attached to the ins with several synths/drum machines attached to the outs all using MIDI Cables. Reaper and MIDIOX can both detect the same MIDI signal. Does that answer your question about whether or not I'm using a single or multi client driver? I will proceed with your diagrams in the next few hours and report back. More soon -w
|
|
IP Logged |
|
|
|
Breath
Administrator
    

Gender: 
Posts: 1030
|
 |
Re: Monitor MIDI info of DAW
« Reply #7 on: Jul 16th, 2021, 10:33pm » |
Quote Modify
|
Sounds like Multi-Client driver and not the Microsoft Class Compliant single client driver. Lucky you.
|
|
IP Logged |
|
|
|
Weston
New Member

 MIDI-OX Rules!
Posts: 8
|
 |
Re: Monitor MIDI info of DAW
« Reply #8 on: Jul 18th, 2021, 1:18pm » |
Quote Modify
|
Hi Royce, So thanks to you I was able to get the MIDI clock from reaper to show up in MIDIOX. What needed to happen was, in reaper midi prefs, I had to enable clock to be sent to loopMIDI port 1. Getting that working has helped, however I still haven't solved my issue and I'm hoping you may be able to help. So again and again, each time I record my Engine sequencer as well as a kick drum audio, the sequencer starts on time but immediately starts to slowly drift away from the click of reaper. I can see that as time goes on, the recorded midi and audio in reaper move further and further away from the grid lines. If I analyze the MIDIOX readout of the engine on/off messages as well as the clock from reaper, I see no evidence of drift whatsoever! In the MIDIOX input readout, I see the distance between the note on messages of the sequencer's 1/4 notes and the preceding clock message (from reaper via loopMIDI port 1) are consistently 5 or 6 ms away. They vary between 3 and 7 ms, but are 5 or 6ms on average and show no pattern of the drift happening in reaper. Also, I measured the distance between a sequence of 1/4 notes at 120 BPM and here's what I found in ms from the 1st note to the 2nd to the 3rd etc: 502 498 498 506 498 499 496 498 495 498 500 494 498 I'm told that each 1/4 note at 120 BPM should be 500ms. As you can see, there's no clear pattern of drift. There's a rise and fall of 5ms or so, but I'm assuming that's normal? So if there's no drift being measure in MIDIOX while there is DEFINITELY drift being recorded in Reaper both MIDI and Audio--- where in the MIDI chain could the drift be caused? As you know I use a MOTU MIDI interface, so maybe that is malfunctioning or there's a setting I need to adjust in the MOTU software? Also, I'm using a 30 foot USB cable to connect my PC and the MOTU, maybe the length of the USB is problematic? Thanks for the help, looking forward to your reply. [b][/b][u][/u]
|
|
IP Logged |
|
|
|
Breath
Administrator
    

Gender: 
Posts: 1030
|
 |
Re: Monitor MIDI info of DAW
« Reply #9 on: Jul 18th, 2021, 7:05pm » |
Quote Modify
|
Hi Weston I think it is the Engine. Small variation in tempo is not really a problem. Its just the sync that is important. So it doesn't really matter who is the master and who is the slave as long as it locks together. You might like to try making Reaper the slave to the engine. I think you will find Reaper will hold sync. If that is the case, then it is the Engine. Either too slow a processor inside or the code is not so good. It is not easy to write good sync code with the processor having to do other stuff. Reaper as a slave ... have a look at the first part of Kenny Gioia's video https://www.youtube.com/watch?v=3y_QszRkC94 Let me know if you need more info. Royce
|
|
IP Logged |
|
|
|
Weston
New Member

 MIDI-OX Rules!
Posts: 8
|
 |
Re: Monitor MIDI info of DAW
« Reply #10 on: Jul 19th, 2021, 11:13am » |
Quote Modify
|
Unfortunately I don't think reaper can slave to the engine because the engine doesn't send MTC only clock. I'd like to analyze the clock from my sequencer but for some reason MIDIOX isn't picking it up. I now know how to see Reapers MIDI clock, but if I'm sending clock from my Engine, how do I see that in MIDIOX? I see the note on/off messages from the sequencer, but not the clock that it is transporting. Thanks -w
|
|
IP Logged |
|
|
|
Breath
Administrator
    

Gender: 
Posts: 1030
|
 |
Re: Monitor MIDI info of DAW
« Reply #11 on: Jul 20th, 2021, 10:30pm » |
Quote Modify
|
OK. 1) How about trying to slow down the tempo by half in Reaper and see if that gives the Engine time enough to sync. 2) You could try using MidiOx to be the Sync Master to Reaper and Engine .... MidiOx puts out the Midi Clock and MIDI Machine Control (MMC) Commands (Start, Stop, Continue etc) You might need to adjust your timing offset in Reaper to line the Reaper track to the Engine. 3) You can always just record the Engine Midi and re-sync the track after it is in Reaper. A bit fiddly, but it works . Royce
|
|
IP Logged |
|
|
|
|