Before posting, please read: When to use this forum, when to submit a help ticket

USB-MIDI failure on Android

Started by Flyingevalman, April 03, 2015, 01:26:11 PM

Previous topic - Next topic

Flyingevalman

Hi Arlo
We communicated briefly via email recently. To Recap....
I downloaded SLM to an LG G tab as well as to a Galaxy S5 but was unable to get any communication out of either. I used MIDIOX running on a PC to check for activity and also 'scoped the D+ and D- lines of the USB coming off the OTG cable and also the TX pin coming out of the MIDI-OUT connector. 
I have a similar Midi-USB Y-cable as you showed (image attached) with a standard 'mini-usb to type-A female' OTG cable.
I connect the OTG to the Y-cable and from there either directly to my Yamaha Motif ES rack or to a Calkwalk UM-2G MIDI-USB interface for connection to a PC running MIDIOX.
With no joy on either the phone or the LG tab (I was blaming my 11 yr old son for installing way too much software on them :o ) so I bought a Samsung Tab S (SM-T700) and reinstalled SLM.  However, still no joy.

Tonight I think I found a problem, it may not be the main problem but it is a problem and might explain why I can see no activity out of the USB port....The attached is a screen shot of what I see on the T700. As you can see I am getting an address conflict somewhere..."error setting up port Set List Maker - SM-T700 for output: java.net.BindException:bind failed: EADDRINUSE (Address already in use) . I presume this is the problem I am having. Have you any suggestion how I over come this? I have stopped any processes that I could identify that might be causing a conflict (i.e. to check the USB status I installed and ran "USB Host Diagnostics"...the usb interface passed with flying colors).

Regards
Flyingevalman


   

arlo

The error messages you see are for an RTP MIDI port, and shouldn't affect USB MIDI.

Do you get the prompt to allow Android to use the USB device, as shown in this post?

http://forum.arlomedia.com/index.php/topic,739.0.html

Flyingevalman

Hi Arlo
Yes I do...screen shot attached. I always tick the default box and then OK.
I have attached screen shots of the SETTINGS -> MIDI DEVICES page and also of the MIDI PRESETS page showing the port names I see and select and the data I am trying to write. The Motif uses 0x1100nnnn and 0pppppp (Status and Program number when nnnn is the midi channel and the 7-bit pppppp is the program number) to change the channel.
Using MIDIOX, when I change a progam manually (the program 1) on the motif, MIDIOX records:

STATUS   DATA1   DATA2  CHAN       EVENT
    B0        00          3F          1       CC: Bank MSB 
    B0        20          00          1       CC: Bank LSB
    C0        01          --           1       PC: Brite Acc. Piano

I am ignoring the MSB and LSB commands...perhaps incorrectly.
I am just using the 'Sample Database' you provide and set up a Song called 'Test' that I add the MIDI PRESET shown in the attachment.

Regard
FEM

Merlimau26

Hi Flyingevalman

Do you connect SLM to the PC or to the MOTIF? If to both, PC and MOTIF in parallel -> test first with the MOTIF.

By tapping on the green banner ,,MIDI Running" stops the MIDI engine? If not -> be aware that connecting Android to USB-MIDI can be tricky. Make always sure that for first contact the SLM MIDI-Icon is out and follow the steps Arlo mentioned: http://forum.arlomedia.com/index.php/topic,739.0.html

I don't own a MOTIF. Quick search on internet: It seems the MOTIF has two modes: master-mode and performance-mode (I don't know which MOTIF type you use). Each of this mode acts different on receiving program changes. Read the MOTIF manual and check out the online FAQ of Yamaha: http://faq.yamaha.com/us/en/article/musical-instruments/keyboards/synthesizers/motif_xf/motif_xf8/5002/8456/?current_page_id=1&sort=best&type=

I think SLM can handle these different codes you need.

Merlimau26

Flyingevalman

Hello Merlimau26
Thank you taking the time to reply. I am running SLM (on a Samsung SM-T700) directly into the MOTIF ESrack thru an OTG cable and an Alesis USB-MIDI Y-cable (I bought new cables as a precaution).
I have tried connecting the motif via these same cable into MIDI COMMANDER and everything works. I am able to record from (program change data) and indeed write PC data to the motif. In MIDI COMMANDER the commands (basic) are:
MSB=0d, Value=0d
LSB=32d, Value=0d
PC=whatever patch I select

However, when I return to SLM (I had to uninstall SLM because the USB2MIDI port was defaulting to MIDI COMMANDER) and select USB2MIDI as the default port I get nothing. When I change programs by hand on the motif I can see the midi icon in SLM blinking...so something is happening... just not what I want.
I have tried using the MIDI LEARN button...clicking it to green and then changing a patch manually on the motif front panel (this works ion MIDI COMMANDER) but nothing appears to happen in SLM. None of the fields get populated.
Should the MIDI LEARN function populate the PROGRAM CHANGE (MSB, LSB, PROGRAM) and/or the Raw MIDI fields?

As a matter of interest... when I select the USB2MIDI (the name of the Alesis USB to MIDI cable) from the popup at the start (this can take some playing with to appear, unplugging and plugging in the USB cable repeatedly often with forcing the program to close from the application menu and restarting it, I have yet to find a clean way of getting the default midi port popup to appear), there are two MIDI PORT selection locations.... the first is under SETTINGS->MIDI DEVICES and the second is under DATABASE->MIDI PRESETS.
In each of these I presume I should be using the same port setting, i.e. "USB2MIDI" (the interface cable name) and not "SET LIST MAKER - SM-T700" or "ALL"...see attachment. I have tried playing around with a few different options in either location but so far have not come across a sweet selection.

I know SLM works... but I am obviously doing something wrong. I do appreciate any help you can give me.
I also have a Roland Sound Canvas that I can try if anyone has a template of a working midi preset.

Regards
FEM

arlo

I would start with the simplest setup and then add different features once the basics are working. This means don't set any ports anywhere, just send and receive on all ports by default; and don't use the MIDI Learn to create your presets, just enter the values directly into the preset's fields. This makes it easier to troubleshoot where a problem might be.

Flyingevalman

Good advice Arlo. Will do and I'll get back to you. It'll be a few days unfortunately.... work and family life need tending to.

Regards
FEM 

Merlimau26

Hi Flyingevalman

I have a Samsung Note 10.1 (GT-N8010). MIDI learn with SLM doesn't work on my Samsung at the moment (Arlo knows already). I check the incoming MIDI values only with the app USB MIDI Monitor.

On Port: I have to select "all" otherwise SLM crashes (Arlo knows already).

At my Samsung: MIDI COMMANDER works as well fine. To get work with SLM I made the following: uninstall MIDI Commander because this app connects always first to MIDI and it's hard for SLM to connect to MIDI afterwards. I installed USB MIDI Monitor for checking incoming MIDI commands.

To make sure SLM works properly with MIDI I always do the following:

- Make sure in SLM the MIDI-Icon on top is not on before you connect the USB cable.

If the MIDI-Icon is on in SLM or another app use MIDI USB I do the following :

-          Go out of the app

-          On my Samsung I tap on the bottom on the "Window" icon -> In the pop up window I can see the app with his last window -> I wipe out the app -> The app is not in the memory anymore

-          Or I go on my Samsung to Settings -> tap Application manager -> then tap the name of the app -> then Force Close the app -> the app is not in the memory anymore

-          Start SLM -> If you have only 1 database SLM should change after start immediately to the menu.

-          then I connect the USB cable

If I do this procedure program changes send from SLM works well with my Nord Stage 2.

Do you have more than 1 Database defined?
It seems on your Samsung in SLM you can also not stop the MIDI-Engine by tapping the green MIDI-Run banner. Correct?

Merlimau26

Flyingevalman

Hi Merlimau26
Wow, fantastic. I'll go through your instructions and check things out.
I really appreciate the time and effort you took as I do for all the other replies I've received.

Sincerely
F.E.M.

Merlimau26

Hi Flyingevalman

Quote from: Merlimau26 on April 07, 2015, 08:58:18 AM

On Port: I have to select "all" otherwise SLM crashes (Arlo knows already).

To make sure SLM works properly with MIDI I always do the following:

- Make sure in SLM the MIDI-Icon on top is not on before you connect the USB cable.

With Android Version 1.2.5: Port selection and conection to the USB MIDI device and start and stop the MIDI engine works like a charm on my Samsung Note 10.1 (GT-N8010).

So update to version 1.2.5 first.

Cheers
Merlimau25

Flyingevalman

Hi Merlimau26
Thanks for your advice. Just upgraded to SLM 1.2.5. and am indeed able to now tap the green MIDI RUNNING button to turn off midi, but unfortunately I am still unable to get any joy out of the program with regards controlling hardware.
The following is what I've done.
1. Reinstalled SLM to version 1.2.5 as you recommended. (I uninstalled Midi Commander).
2. I connected the SM-T700 tablet to the MOTIF ES rack using an OTG USB cable and an ESI midi mate USB-MIDI cable. This connection setup works using Midi Commander. 
3. Attachment 1-*** shows the MIDI port configuration (SETTINGS->MIDI DEVICES). No obvious issues here.
4. Attachment 2-*** shows the midi data I entered. I actual data I use in Midi Commander here are
       MSB  VALUE          LSB   VALUE       PROG #
        0d     63d             32d      8              0
I am assuming the MSB and LSB bank numbers (i.e. 0 and 32) are default in SLM.
The Raw midi shown, 43107F000A000100 again is what works in Midi Commander .... there is also an F0 and F7 included by default at the start and end of the raw midi stream respectively. I have tried included the F0 and F7 in SLM but no joy.   
(Note: the above settings change the Motif program to   Voice mode - User bank 1 - program 0).   
5. Attachment 3-*** shows the screen that appears when I press the MIDI icon at the top right of the screen (beside the Linking and Syncing icons). This is the green button that I can now disable midi operations.
6. Unfortunately if I click on the midi icon beside (to the right of) the midi preset name (Motif 1 in the attachments) or  beside (to the right of) the song name that I attached the midi preset to (i.e. Trial as seen in Attachment 2-) the program crashes as seen in Attachment 4-***.

I have no other MIDI or USB activity or programs running that I can identify.

I'm still at a loss as to what I'm doing wrong.

I do appreciate to help.
Regards
F.E.M.

Merlimau26

Hi Flyingevalman

I'm not familiar with the MOTIF ES rack. It seems that the MOTIF only act on HEX code. Try to make the same as you have done with MIDI Commander. So I would suggest only using the RAW MIDI field on SLM and letting the program change fields empty. Now you have a mix of both. Check out as well the Motifator page: http://www.motifator.com/index.php/forum/viewthread/473741 and http://www.motifator.com/index.php/forum/viewthread/470674.

Make sure you send on the correct MIDI channel. Does the Motif have an indicator that MIDI command comes in? Read again MIDI help of SLM about HEX code: http://www.arlomedia.com/apps/setlistmaker/tutorials/sending_MIDI.html

For further test: switch off the W-LAN on your SM-T700 and at the MOTIF pull out the MIDI OUT connector. This in a manner that you only have 1 connection from SLM -> USB MIDI cable -> Motif MIDI in. According your screenshot you have 3 devices active afterwards you should only have 1 device active.

For me it seems more a problem of sending the correct MIDI Hex command to your Motif.

With Android update 1.2.5 MIDI learn is still not working on my Samsung Note 10.1. (GT-N8010)

Cheers
Merlimau26

arlo

It's no problem to use the program change fields and the raw MIDI field in the same MIDI preset.

The program change fields should take decimal numbers and you can leave the MSB or LSB field empty if you don't need it.

The raw MIDI field should take hex numbers and you need to put spaces between them. Instead of AABBCC, you need to enter AA BB CC. That is the cause of the crash you're seeing. Also, if you want to send a sysex message, you do need to start with F0 and end with F7.

RR

Hello Arlo and Flyingevalman,
it seems we have the same USB-Midi device and maybe the same problems. I use a Samsung NotePro 12.2 to a Line6 Pod 500HD guitar effects processor. USB-OTG Cable and the USB-Midi Interface depicted in the first post of this thread.
I want to use one foot-switch to switch to the next song in Bandhelper. Bandhelper shall then switch the Pod to the sound preset according to the new song.
I have been succesfully receiving and transmitting Midi-Data between tablet and Pod with the Midi-Commander App. So I´d rule out hardware related problems.
I deinstalled MC App as Arlo described and restarted the tablet. I turned off WiFi and started Bandhelper.
I did all the following twice to catch the screen shots.
On the first attempt to start Midi I was asked by the Android system whether Bandhelper was allowed to use the USB-Midi connection. I checked the box and said OK.
Bandhelper will say Midi running, but there is no data transmitted. The LED on the Midi Interface stays off. Midi Lern doesn´t receive anything, either.

I hope you can help me, as I´m totally running out of ideas...
Robin

arlo

Does the MIDI icon in the top toolbar of Set List Maker blink when you send MIDI data? If yes, and the MIDI status window says it is sending data, and the MIDI status window also says the USB MIDI Interface is connected, I don't know why the USB MIDI Interface doesn't receive the data. Did you try unplugging and replugging it a couple times?