A high-performance Bluetooth LE MIDI bridge for the AKAI LPK25 Wireless keyboard, enabling seamless integration with Windows DAWs and music software!
The AKAI LPK25 Wireless keyboard is a fantastic portable MIDI controller, but it faces a common challenge on Windows: native Bluetooth MIDI support is limited. This bridge solves that problem by:
- 🔵 Connecting directly to your LPK25 via Bluetooth LE
- 🎯 Creating a virtual MIDI port that your DAW can recognize
- 🚀 Providing ultra-low latency MIDI message forwarding
- 💪 Offering robust connection management and auto-reconnection
Despite the AKAI LPK25 Wireless having full hardware capabilities and Bluetooth LE MIDI being natively supported on modern Windows systems, AKAI did not provide an official solution for using the keyboard wirelessly on Windows. This project was born out of that unnecessary gap — proving that a seamless and performant bridge is not only possible, but relatively straightforward to implement with existing open technologies.
Sometimes, if you want something done right, you have to do it yourself.
Before using this bridge, you'll need:
- Windows OS (tested on Windows 11)
- loopMIDI installed for virtual MIDI port creation
- AKAI LPK25 Wireless keyboard with Bluetooth capability
- A compatible USB Bluetooth BLE adapter (if not built-in)
- Download the latest release from the releases page
- Create a new virtual MIDI port in loopMIDI named "AKAI_LPK25_IN_BLE"
- Run the executable
- Turn on your AKAI LPK25 Wireless keyboard
- Pair the keyboard with Windows via Bluetooth settings
Note: It's normal for Windows to drop the connection after pairing
- Launch the bridge application
- Wait for the BLE scanning message in the terminal
- Press the PAIR button on your LPK25
- Wait for the connection to establish
- The virtual MIDI port is now ready to use in your DAW!
You can modify these settings in the source code if needed:
//-----------------------------------------------------------------------------
// USER CONFIGURATION
// You can safely modify these values to customize the bridge behavior
//-----------------------------------------------------------------------------
// Set the loopMIDI virtual port name
// This must match the name of the virtual port created in loopMIDI
const VIRTUAL_MIDI_PORT_NAME: &str = "AKAI_LPK25_IN_BLE";
// BLE device scan timeout
const BLE_SCAN_TIMEOUT_SECS: u64 = 30;
// Connection keepalive interval
const BLE_KEEPALIVE_SECS: u64 = 10;
// Connection status check interval
const BLE_STATUS_CHECK_SECS: u64 = 1;
// Octave offset for transposing MIDI notes (-11 to +11 octaves)
const OCTAVE_OFFSET: i8 = 0;
The bridge works by:
- 🔍 Scanning for BLE MIDI devices
- 🤝 Establishing a connection with your LPK25
- 📡 Converting BLE MIDI messages to standard MIDI
▶️ Forwarding messages to the virtual MIDI port (loopMIDI)- 🔄 Maintaining connection stability with keepalive signals
-
Keyboard Not Found During Scanning
- Ensure the keyboard is powered on and in pairing mode (PAIR button pressed)
- Verify that your Bluetooth adapter supports BLE
- Try removing the keyboard from Windows Bluetooth devices and re-pair
-
Connection Drops Frequently
- Check keyboard battery level
- Ensure you're within reasonable range (10-15 feet) of the receiver
- Try adjusting
BLE_KEEPALIVE_SECS
to a lower value
-
No MIDI Input in DAW
- Verify loopMIDI port name matches
VIRTUAL_MIDI_PORT_NAME
in settings - Check if loopMIDI is running
- Ensure your DAW has the virtual MIDI port enabled in its settings
- Verify loopMIDI port name matches
-
High Latency
- Close other Bluetooth applications that might interfere
- Try reducing
BLE_STATUS_CHECK_SECS
value - Check if your system is under heavy load
For additional support, please open an issue on GitHub.
- Install Rust and Cargo
- Install Git
- Install Visual Studio Build Tools with the following components:
- Windows SDK
- C++ build tools
- Install loopMIDI
-
Clone the repository:
git clone https://github.com/00xBAD/BLIP.git cd BLIP
-
Build the project:
cargo build --release
-
Find the executable in
target/release/BLIP.exe
For development and debugging, you can use:
cargo build
This will create a debug build in target/debug/
.
To run the test suite:
cargo test
BLIP is an open-source tool for BLE communication with AKAI LPK25. This project is not affiliated with AKAI Professional or the Bluetooth SIG. LPK25 is a trademark of AKAI Professional, used here solely for descriptive purposes.
This project was made possible by:
- 🧠 Main Code Implementation: Claude Sonnet 3.5
- 💡 Project Brainstorming & Overview: GPT-4o
- 👨💼 Project Supervision & Management: Fabio Corona
Contributions are welcome! Feel free to:
- 🐛 Report bugs
- 💡 Suggest features
- 🔧 Submit pull requests
- 🐧 Port to Linux
If you find this project helpful, consider buying me a coffee! Your support helps me create and maintain more tools like this.
Thank you for your support! It means a lot and keeps the creativity flowing! ❤️
This project is licensed under the MIT License - see the LICENSE file for details.
If you encounter any issues or have questions, please:
- Check the issues page
- Create a new issue if needed
Happy music making! 🎵✨