RPI - Intermittent delay sending Program Change to Katana

Started by philjynx, October 23, 2017, 11:06:40 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

admin

FWIW - here is a good thread regarding the whole point of "Active Sensing', and why Roland / Boss gear implements it
http://forums.rolandclan.com/viewtopic.php?f=3&t=13153
QuoteActive Sense MIDI Messages
Postby nsheldon » 19:09, 20 May 2006

Hello avelino.

First, welcome to the Roland CLAN forums.

To answer your question, Active Sense MIDI message are sent (in theory) by every MIDI device connected in a chain of devices. Dkpcola is mistaken with regard to Active Sense messages being CC messages. An Active Sense message is actually not the same as a MIDI CC message. MIDI CC (Continuous Controller) messages are what are called "data bytes" whereas an Active Sense message is a "status byte" similar to a System Exclusive message.

Active Sense messages are somewhat like the light from a lighthouse except it flashes avery 300 milliseconds to let the receiving device know that "I'm still here." Why would a receiving device care? Well, if you were performing on a controller keyboard and your MIDI cable became disconnected or damaged while you were still holding notes down, the NOTE-OFF message would never be received by the sound modules. However, if your controller keyboard was sending Active Sense messages and your sound modules were configured to look for them, less than half a second after your connection was interrupted, the sound modules would stop all notes from playing because it realized it was no longer receiving those Active Sense messages (which means you must have been disconnected).

Roland is one of the few manufacturers who actually implements Active Sensing in their equipment as the MIDI specification prescribes. You'll find that almost all Roland keyboards can send and recognize Active Sense messages. The same is true of their sound modules (like the Fantom-XR).

In you're case, you can leave it on or off in the Fantom-XR. The Fantom-XR's behavior with Active Sense on is no different than with it off unless it begins to receive Active Sense messages then suddenly stops receiving them. So basically, the XR will continue to respond to all MIDI data while Active Sensing is enabled even if Active Sense messages are not being sent. If you connected a device that DOES send Active Sense messages, the XR would immediately recognize the messages and begin tracking them. If they ever stopped, the XR would stop all notes from playing. With Active Sense turned off in the XR, it would never begin tracking Active Sense messages even if they were being sent but would continue to respond to all MIDI messages regardless of connection quality.

Regards,

Nathan Sheldon
http://www.nathansheldon.com/
nsheldon

Posts: 2292
Joined: 12:35, 3 March 2004
Location: Fresno, CA, USA




https://www.google.com/search?q=MIDI+active+sensing&ei=jKd8WuXXK4z2jwPJ45bQDg&start=10&sa=N&biw=1290&bih=787

admin

Quote from:  philjynx on February 08, 2018, 11:42:30 AM
My experience with this issue suggests that the Katana doesn't notice (implement) it.

Yet as I interpret your problem,  its curious that you experience the Katana's MIDI reception "go to sleep" after a few minutes and become disabled / inoperative  if you cease sending MIDI commands 

philjynx wrote>
QuoteFirst a reminder as the exact problem, boot up the Pi and the Teensy (there's a pic here to show the physically finished controller). Sending program changes and controller changes works fine, but then you get absorbed playing the guitar and next time you ask for a program change - nothing happens. That nothing has been known to continue for as much as 10 whole seconds, so your searing fuzzy echoing flanged solo doesn't happen. Then it does. Now, that didn't always happen, but the clue was that it happened if you'd not sent anything for a while.

admin

#27
Quote from:  philjynx on February 08, 2018, 11:46:12 AM
Elantric: After reading that brief description of the point of activesense, I can see no reason why the Katana would need to implement it as it generates no sounds of its own that would need to be cut off in the event of a disconection. Makes sense (no pun intended) to me  :)

Agreed - but (pure speculation) we know the Katana was built by Boss R&D using existing Roland / Boss DSP Code libraries common to other Roland / Boss gear,  and I suspect there is a global attribute for MIDI Active Sensing at a high level.

QuoteSending program changes and controller changes works fine, but then you get absorbed playing the guitar and next time you ask for a program change - nothing happens. That nothing has been known to continue for as much as 10 whole seconds, so your searing fuzzy echoing flanged solo doesn't happen. Then it does. Now, that didn't always happen, but the clue was that it happened if you'd not sent anything for a while.


In other words, based on your summary of the problem, it appears the Katana's ability to receive MIDI patch change commands varies, depending on the length of time that has transpired since the last received MIDI message.

   



admin

#28
Quote from:  philjynx on February 08, 2018, 11:58:58 AM
I was only using the UM-ONE so that I could monitor the traffic on ALSA, in fact I only own/use it for testing purposes. But why would I swap it out since it never misbehaves, I'm confused!

because in your  other thread here:

UM-ONE DIN TO USB MIDI ADAPTOR ACTIVE SENSE?
https://www.vguitarforums.com/smf/index.php?topic=22712.msg165230#msg165230

- all UM-One MKII users report the Roland UM-ONE MKII ALWAYS sends Active Sensing  - and no way to disable it  - regardless of host platform ( rPI, IOS, Win, Mac)

I expect third party USB <>MIDI cables ( Emu, iConnectivity , Yamaha) exhibit different behavior
http://iconnectivity9.rssing.com/browser.php?indx=60615672&item=424

sixeight

QuoteReading the V-Controller code (sixeight), it seems that, the V-controller polls the Katana periodically to see if it's still connected. Whilst the motivation for this is for the V-Controller's benefit, in effect this may well have the side-effect of 'keeping the Katana awake', like my code does deliberately.

The VController does not support the Katana (yet). I am kind of sidetracked with checking out other gear (Helix), so I don't have the Katana. Still not sure if I want to have an amp...

But it is correct that the VController is polling actively on all its ports to see if there is a device to connect to. Unfortunately not all devices respond to these Universal Device Inquiries, but I would expect the Katana to respond.

CodeSmart

FWIW, my Microchip Microcontroller implementation of a Katana (and GT-1, MS-3) bridge does NOT need to poll the device. It only needs to capture certain (elected) things at device change-of-state. This also seem to apply to Boss Tone Studio communication. BTS is not polling the devices periodically.
But I got more gear than I need...and I like it!

gumtown

Free "GR-55 FloorBoard" editor software from https://sourceforge.net/projects/grfloorboard/

alancarl

Thanks to everybody that contributed to this thread!
     I know this is an old one but I just discovered it this morning!

There are a few great ideas here two of which I am going to try soon.
Particularly Steve up brought Active Sensing and VT pointed out a MIDI tweak in the Pi's code.

This is what I have found:

I was experiencing a latency issue with my Katana MK I when I would send a a stream of value changes for a single SYSEX parameter from my iPad using MIDI Controller Pro controller app to an Iconnectmidi 2+ connected to a Raspberry Pi 3B+ flashed w Neuma Studio's RPi MIDI (connected to the Katana via USB)
——-Why can't Roland get over their USB class compliant complex?
I hypothesized that the RPi was the culprit as Robert's MIDX20 works over USB smoothly w Sysex parameter changes as does my IPad patched to the Katana with my MBP.
   My first work around was to send a slow MIDI clock to the RPi from the iPad and voila it worked on demand every time I sent a MIDI command!
I then had my son Mark program a few scripts for the Pi using MIDICloro to send the MIDI clock from the Pi so I did not have to start multiple apps on the iPad while dealing with everything else for a normal gig setup.
The second workaround has been mostly trouble free for some years now:-)
  From the many hours over years of trial and error with the iPad, Pi and the Katana I concluded that the Pi would bump the USB MIDI if it was not active.
I guess the Kernel gets bored quickly!
I am looking forward to trying some of the things that I leaned from this great thread.
Thanks again to all of the terrific information shared for years now that I have used from Vguitar!
Al



gumtownadmin

The CME widi uHost works great with the Katana USB to wireless BLE Bluetooth midi.
An option to consider.
Always remember that you are absolutely unique. Just like everyone else.