FAQ

Frequently Asked Questions

How do I connect my keyboard to multiple apps at once?

Create a bridge by swiping from your USB or Bluetooth keyboard input to multiple virtual output ports. Each app can then connect to a different virtual port, receiving the same MIDI data simultaneously. This lets you layer sounds from different synth apps or record in one app while playing in another. Learn more about virtual ports.

Why isn't my USB MIDI device being recognized?

First, ensure your Android device is set to MIDI mode in USB preferences (not charging or file transfer). If that doesn't work, try: 1) Restart both devices, 2) Use a different USB cable or adapter, 3) Check if your device is recognized in Android's system settings, 4) Verify your Android device supports USB host mode (OTG). See USB setup guide or troubleshooting tips.

Can I split my keyboard at middle C to play different instruments?

Yes! Create two rulesets on your keyboard's input port: Ruleset 1 discards notes below C4 and transposes remaining notes down an octave. Ruleset 2 discards notes above B3, transposes them up, and remaps to channel 2. This sends bass notes to one instrument and leads to another. See more ruleset examples.

How do I fix velocity issues with my MIDI controller?

Use a custom rule to normalize velocities. In the port's ruleset, add a custom rule that matches all note-on messages (status byte 144-159) and sets byte 2 (velocity) to a fixed value like 100, or use mathematical operations to scale velocities to your preferred range. Learn about custom rules.

Why does my Bluetooth MIDI keep disconnecting?

Android aggressively manages battery. Go to Settings > Apps > MIDIHub and disable battery optimization. Also ensure location permission is granted (required for Bluetooth scanning on Android) and location services are enabled. Some devices may need you to keep the screen on during initial connection. See BLE setup guide.

Can I use MIDIHub with hardware like CME WIDI or Behringer synths?

Yes! Users report success with CME WIDI Master/Core, Behringer JT-4000, Roland circuit series, AKAI LPK25/LPD8 wireless, and many USB MIDI interfaces. MIDIHub acts as the bridge between these devices and your Android music apps.

How do I layer two instruments on the same channel?

Add a remap rule that duplicates channel 1 to channel 2. Create a ruleset with a "Remap/Filter: Channel" rule mapping channel 1 to "1,2" (comma-separated). This sends every channel 1 message to both channels, perfect for layering piano with strings or pad sounds. Explore all rule types.

What's the latency like for live performance?

Users report "rock solid with very little latency" for BLE connections and "minimal latency" for RTP-MIDI over WiFi. USB connections have the lowest latency. The app processes messages in real-time without buffering, making it suitable for live playing.

Can I save different setups for studio vs live performance?

Yes, use the Presets feature to save complete configurations including all connections, bridges, and rulesets. You can set a default preset to load on app start, perfect for quickly switching between a complex studio routing and a simple live setup. Learn about presets.

Why can't other devices see my RTP-MIDI sessions?

Ensure you're on the same network without VPN. Check that port 5004 isn't being used by another app. Your router must support mDNS/Bonjour for automatic discovery. If using mobile data, RTP-MIDI won't work as it requires a local network connection. See RTP-MIDI setup guide.

How do I filter out specific MIDI messages like SysEx or aftertouch?

In any port's ruleset, add a "Filter" rule and tick the message types you want to discard. This is useful for removing bandwidth-heavy messages like active sensing, clock, or polyphonic aftertouch that some apps don't handle well. Understanding rulesets.

Can I use MIDIHub to control Koala Sampler or other specific apps?

Yes! MIDIHub works with any Android app that supports virtual MIDI ports including Koala Sampler, Caustic, G-Stomper, FL Studio Mobile, and more. Connect your hardware to a MIDIHub input, bridge to a virtual output, then select that virtual port in your app's MIDI settings.

What happens if my connection drops during a performance?

MIDIHub automatically attempts to reconnect USB and RTP-MIDI connections. Virtual port connections persist even if an app crashes. You'll get a notification about connection issues if running in background. For critical performances, use wired USB connections for maximum reliability.

How do I add delay to MIDI messages for echo effects?

Version 3.0+ includes a delay rule. Add it to any ruleset to delay messages by a specified time. You can also apply delays to individual messages in custom rules, perfect for creating MIDI echo effects or compensating for timing differences between devices. See delay rule examples.

Can I run MIDIHub in the background?

Yes! MIDIHub continues processing MIDI messages when running in the background. You'll receive notifications for important events like connection losses. Make sure to disable battery optimization in Android settings to prevent the system from stopping the app. The app maintains all connections and routing while you use other apps.

Can I use a network cable for MIDI connections?

Yes! You can use a USB-to-Ethernet adapter to connect your Android device to a wired network for RTP-MIDI sessions. This provides more stable connections than WiFi with lower latency, making it ideal for live performances. Just connect the adapter, ensure you have an IP address, and RTP-MIDI will work over the wired connection.