Cantabile Song Changes Triggered w/ External Tablet and BandHelper


Band Helper (the Web based version of Set List Maker) is a great little program. It will send midi message and respond to midi messages.

I can’t get Cantabile to See this Tablet.

The tablet is connected via USB to a Win10 computer running the latest version of Cantabile . Windows sees the tablet as a “Multi Media Device”, not as a “Device” like my two keyboards and other Midi input devices. I have set up Band Helper to generate a midi bank and program selection when a song is selected and BandHelper does show that it is broadcasting on the Midi out port.

But in the Cantiblile Options menu, I do not see the tablet showing up as a Midi Port Option.

What will it take for Cantabile / Windows to see this device as a midi input device? Any suggestions?

Note: The tablet is a Samsung Tab S2


Hi there,
Have you tried using loopMIDI or similar?


Hey John,

connecting your Android tablet to Windows via USB will not give you a MIDI connection - it’s not a MIDI interface. That’s why it shows as a multimedia device, which allows you to transfer files, pictures and video between your tablet and your PC.

I’m not aware of any software solution that implements a generic MIDI interface over USB between Android and Windows, so you’ll have to

  • attach a compatible USB MIDI interface to your Samsung tablet (something like IK Multimedia’s iRig Pro
  • connect your tablet to your PC (I assume you have a MIDI interface on it) via a MIDI cable

not sure if alternative wireless solutions like rtpMidi will work robustly with Android - have a look at rtpMIDI for your PC and nmj for your Android device and give it a try.

I work with Windows tablets and I’ve worked with rtpMIDI between my tablet and my live laptop pretty successfully, but nowadays I prefer a direct MIDI connection via my MIDI interface - lower risk of nasty surprises mid-gig…




I realise I am replying to a very old post, but I have actually found a great way to control the Android Bandhelper app using Cantabile!

My setup is based on the following two things:

  • a Yamaha MD-BT01 wireless midi adapter (purchased for €42 and received this in the post this morning)
  • the Bandhelper app (solo version costs $12 per year but the first month is a free, no-commitments trial)

Installing and configuring the MD-BT01 was very easy. I connected the MD-BT01 to the midi input and output ports of my Arturia keylab mkii and then opened the Bandhelper app to pair with the MD-BT01 from within the app itself (this is what I recommend doing, because when I tried pairing the device in the tablet’s Bluetooth settings, Bandhelper wouldn’t recognize it).

I now have fully automated control over my lyrics through Cantabile. No more touching the tablet screen or using a Bluetooth foot pedal! Bandhelper automatically switches to the next song on the setlist as soon as I move to the next song in Cantabile, and it starts showing the right lyrics (or section thereof) as soon as I start the song in Cantabile and as the song progresses. So far, I have been using Setlist Helper on Android for my lyrics and still like that app for its simplicity, but it does not support midi over Bluetooth, so the switch had to be made…

Bandhelper can receive and send all kinds of midi information (including note messages, cc messages and sysex messages) and so is extremely flexible to work with. It’s also quite feature-rich (way more features than I will probably ever use) and has a bit of a learning curve, but nothing a Cantabile user can’t handle :wink:

I set up Bandhelper to send and receive on midi channel 16 and assigned cc numbers to specific actions (play, stop, scroll down, etc.). Then, I first created bindings in my background rack to general actions like start/stop song and previous/next song in setlist. And after that, I added transport position bindings in each song to make the lyrics in Bandhelper jump to the relevant lyric parts. Everything works as expected.

Bandhelper let’s you assign a program change number (Bank MSB, Bank LSB, Program) to each song, so this is what I did. Then, I added a binding to each song for Song > On Load to automatically open the lyrics of a song as soon as I open the song in Cantabile. Now, even if I scrolled through the setlist in Bandhelper, it will still jump to the right song as soon as I press the Next Song button on my controller keyboard (I have Cantabile invoke the Song > On Load binding with a 120ms delay, so as to allow Bandhelper scroll to the next song first (based on the Nest Song binding in the background rack), and then receive the Program Change (Banked) message from Cantabile to open the correct lyrics. This is making me so happy :sunglasses::sunglasses::sunglasses:

Incidentally, a very nice feature of Bandhelper is that it let’s you record an automation track. This works very much like a macro recorder and records everything you do, such as pausing and resuming the scrolling at certain points of a song, or jumping to a specific verse or chorus (the app supports song position tags), at exactly the right moment. However, I think I prefer the use of bindings to song positions in Cantabile to control the scrolling/jumping/pausing/resuming. This way, automation is done in Cantabile and only the lyrics are done in Bandhelper.

Displaying Lyrics on Android