A collection of utilities for Focusrite Scarlett audio interfaces.
This tool automates the routing profile switching on the Focusrite Scarlett 18i8 (2nd Gen) audio interface to seamlessly handle transitions between active PC usage and standalone operations.
- Computer Playback Mode: (
computer) Switches the Scarlett to the "System Playback" preset. This will not route any inputs to the monitor or headphone outputs and allows you to use your computer's audio software for mixing and playback. - Standalone Mode (Laptop Off/Disconnected) (
standalone): Switches the Scarlett to the "8 Channel Analogue" preset. This will route all 8 analogue inputs to the monitor and headphone outputs.
All profile changes are automatically persisted to the hardware at all times by the Focusrite Control Server — there is no separate "save to hardware" step required.
docs/- Project documentation.focusrite_control_api/- Documentation of the Focusrite Control Server XML API.
tools/- Contains individual Focusrite utilities.send_test/- Tool for testing communication with Focusrite Control Server.focusrite_send_test.py- Minimal script to send XML commands to the server.
switcher/- The Focusrite Switcher tool.focusrite_switcher.py- Core automation script.focusrite_client.py- Focusrite Control Server API communication module.install.py- Automated installer script for Windows deployment.
requirements.txt- Project dependencies.README.md- This instruction file.
(For Switcher tool)
Because Windows safeguards system directories (C:\Program Files) and requires elevated permissions for the Task
Scheduler API, you must run the installation locally via an Administrator terminal.
If you downloaded or cloned this repository onto a network share or network drive, copy the entire folder to a local
hard drive first (e.g. into C:\Users\username\Downloads\focusrite-tools). Windows security parameters prevent
execution directly from UNC network locations.
- Press the Windows Key on your keyboard.
- Type
cmdinto the search bar. - Right-click on Command Prompt and select "Run as Administrator".
Navigate to your local folder inside the terminal window, set up a virtual environment, install the required packages, and execute the setup script (replace the path in the first command with your actual local directory path):
cd /d "C:\Program Files\Focusrite\Focusrite Control\Server"
AddFirewallException.cmd
AddFirewallException.cmd
:: restart might be needed
cd /d "C:\Users\username\Downloads\focusrite-tools\tools\switcher"
python -m venv .venv
.venv\Scripts\activate
pip install -r ../../requirements.txt
python install.py
Open a standard Command Prompt window and execute the following command to manually trigger your new startup task:
schtasks /run /tn "Focusrite_Switcher_Startup"
The installer also creates:
- Desktop & Start Menu shortcuts — "Focusrite - Switch to Computer Mode" and "Focusrite - Switch to Standalone Mode" for quick manual profile switching at any time.
- Shutdown task (
Focusrite_Switcher_Shutdown) — automatically switches to the standalone profile when Windows shuts down or restarts (triggered by System Event 1074). This task is best-effort: if the Focusrite Control Server stops before the task completes, use the desktop shortcut to switch manually before shutting down.
On Debian-based systems, you can use the venv virtual environment setup by installing the python3-venv package:
sudo apt update
sudo apt install python3-venv
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
For further details on the Focusrite Control protocol and XML structure, the following resources are used as reference: