Unofficial Ableton Live Discord rich presence for macOS
This experimental rich presence daemon involves making some rudimentary modifications to your Ableton Live installation. On macOS, applications are actually directories, with a runner to execute any code - along with the assets needed to execute said code - inside that directory. The modifications AbletonRPC makes to your Ableton installation are rudimentary, safe, and do not carry any risks of an Ableton account ban or license revocation. However, if you are not comfortable with these modifications, please stop here. Please do not ask for any support regarding AbletonRPC in the Ableton Discord or on official support channels. This rich presence project is UNOFFICIAL, and is not associated with Ableton (the company) in any way, shape, or form.
- Existing Discord account
- Any desktop (not WEB!) Discord client (preferably the official one, pls; let's keep it halal thanks 🙏)
- Account on the Discord Developer Portal (if running from CLI or building from source)
- An IDE or a text editor (if running from CLI or building from source)
- Ableton Live 11 or later (any edition)
- A functioning brain 🧠
- Download the latest release from the
Releasessection (v1.0.8 at the time of writing) - Mount the DMG by double-clicking on the file from Finder or your browser.
- Move
AbletonRPC.appto yourApplicationsfolder. - Click on
Add installationand then go through the setup flow.
Give your setup a name that you would remember. Then, click on Select App. and point to your Ableton Live install. Then click Choose Location... and point to a directory on your computer (or an external drive, as long as it's constantly connected) to log the current Ableton Live project name and create the log file. Use your own client ID (if you prefer creating the app for yourself on your Discord Developers Portal), or let the pre-filled one stay (it's mine).
- Hit
Add installation. - That's it! The setup will pop up with a success dialog box as well as further instructions. You may now close the GUI.
- Open up Ableton Live, and set up the
FauxMIDIdevice which will interface withAbletonRPCitself, as per the below screenshot.
- Enjoy!
- Clone this repo using
git clone https://github.com/KiwiSingh/AbletonRPC- Create a new application on your Discord Developer Portal, and fill in the deets as per the screenshots below.
- Close Ableton Live in case it is open (obv. save any unsaved projects first)
- Inside your Applications folder (or external drive, if you're a madlad who installed Ableton on an external SSD for some reason), right click
Ableton Live 12 Suite.appand navigate to/Applications/Ableton Live 12 Suite.app/Contents/App-Resources/MIDI Remote Scripts. - Inside the
MIDI Remote Scriptsfolder paste theFauxMIDIfolder from this repo. - Open up
__init__.pyin your IDE and modify thelog_file_path = "/Volumes/Charidrive/rpctemp/CurrentProjectLog.txt"line so that the value oflog_file_pathrepresents a path on your own system.
6a. In case the script throws any errors in stdout when run, create a blank CurrentProjectLog.txt file (inside the directory that log_file_path points to obviously).
- Inside of Terminal, navigate to the
FauxMIDIfolder and give read, write and execute permissions to the MIDI remote script.chmod +rwxthe entire directory if needed. - Open up Ableton Live, and set up the
FauxMIDIdevice which will interface with your Discord application, as per the below screenshot.
- Create a new Python 3 virtual environment so that you don't bork up your existing install.
python3 -m venv rpc
source rpc/bin/activateInstall the reqs needed by abletonrpc.py using
pip install -r requirements.txt
- Open up the
abletonrpc.pyand replace the placeholder inclient_id = "Your Client ID" # Replace with your actual client IDwith your actual client ID. chmod +xtheabletonrpc.pyscript- Fire up Discord if you haven't already. Remove Invisible status if enabled
- Run
python abletonrpc.pyorpython3 abletonrpc.py - Enjoy!
- Clone the repo
- Navigate to the
AbletonRPC-GUIsubdirectory - Change the hardcoded client ID inside of
ableton_rpc.pyif you intend on using your own. Save the file. - Run the following commands:
chmod +x build_app.sh
pip install -r requirements.txt
./build_app.sh- That's it! Now you will find the built app inside of the
distsubdirectory. - Go through the setup flow as described in steps 3 through 5 of the Using the GUI section.
- Enjoy!
Q. Is this a port of DAWRPC?
A. No, it is not. I initially wanted to make a port of DAWRPC, but since I only have Ableton Live and Studio One (and GarageBand technically) to experiment with, not to mention the fact that I would have to effectively reverse engineer a ton of Windows DLLs and f*ck around in C#, I dropped the idea entirely (at least for the timebeing).
Q. I get a ModuleNotFound error. Help!
A. This is most likely because you have not correctly initialized a virtual environment. Restart your shell if you have already installed all requirements, and reactivate the virtual environment using source venv/bin/activate if needed (replace venv with the name of your actual virtual environment obviously; in my case it is called RPC).
Q. VS Code won't let me edit your Python script!
A. Refer to the answer above.
Q. Can I make a Discord bot/plugin/other self-hosted instance using this?
A. Sure. Go crazy. It's FOSS. Though please note that I do not condone using modified Discord clients, and if you end up getting into any trouble because of a plugin/self-bot, I am not liable. But since this project is FOSS, I cannot stop anyone from forking it and doing with it as they please.
Q. Is this safe? Will I mess up my Ableton install?
A. If you know what you're doing, this is completely safe. If you do not feel comfortable with such an involved solution, please look elsewhere.
Q. My art assets don't show up in my Discord rich presence?
A. Please be patient! Your assets will take a while (10 minutes to an hour) to reflect on your Discord Developer Portal once uploaded, so please don't upload the same assets again and again, as this will cause issues with the script (due to ambiguous key-value pairing). Once they show up in your Developer Portal, you should be good to go with the abletonrpc.py script.
Q. I see that you've used a MIDI remote script. Will this mess up my existing MIDI mappings for my MPK Mini/AKAI Fire/Ableton Push/ATOM SQ/other MIDI controller?
A. No. The FauxMIDI device is only there to interface with the application you create on your Discord Developer Portal (or with mine if you use the GUI). It neither interferes with your existing MIDI mappings, nor interacts with any stock Ableton plugins/external VST instruments.
Q. Why give so many permissions to the __init.py__ and abletonrpc.py scripts?
A. Because macOS - like many things Apple - (unfortunately) has a very odd approach to security. You can try running abletonrpc.py without granting said permissions, but if you get any strange errors in stdout, it is likely a permissions issue.
Q. Have you tested this with the latest version of Ableton Live?
A. Yes, as of the time of this update, I have tested this with Ableton Live 12.4b7 on macOS Tahoe 26.3 Release Candidate.
Q. I recently upgraded to Ableton Live 12.x.x Suite via the Rent-to-Own program, and the script no longer works! How do I make it work again??
A. No problem at all! Although this should ideally not happen, in case it does, there is a solution. Just open the GUI and go through the setup flow again!
Q. I recently updated my Ableton install, and the presence is no longer working! What do I do?
A. Please refer to the answer above.
Q. I can't see the Add installation button in the popup window?
A. This a known issue. Luckily, all you need to do is resize that window, and the button will show right up.
Q. Where do I contact you regarding questions about this project?
A. You may reach out to my email address at [email protected] or contact me on Discord (char1ot33r).





