The Marshall Acton 3 is a fantastic Bluetooth speaker system, and one of my favorite when it comes to sound quality. Unfortunately, there's also a setting that turns the device off after 10 minutes of inactivity.
More information can be found on their website
Their reasoning for the setting, being unable to be overridden, is insufficient in my view and incredibly inconvenient. Due to meetings, pausing periodically for various reasons, and other reasons, 10-minutes of inactivity is simply too short. And, their reasoning to save energy is not a good excuse in my view.
This project helps resolve this problem.
This project is incredibly simple. What it does is sending a tone, 5Mhz, every 5 minutes, to the device. This is intended to run on a consistent basis (whether the device is connected, or not). If the device isn't connected, the tone simply doesn't play. Otherwise, it does. If you disconnect, and reconnect, it will automatically resume.
- Go to the releases (on the ride side)
- Download the relevant release (see table below)
- Unzip the file you downloaded
- Run the
marshall-keepalive
program (from command line)
Filename | Architecture | OS |
---|---|---|
marshall-keepalive-windows.zip | x86 | Windows |
marshall-keepalive-osx86.zip | x86 | OSX |
marshall-keepalive-osx.zip | aarch64 | OSX |
marshall-keepalive-linux.zip | x86 | Linux |
The OSX version may need to be allowed through security. You need to first unzip and run it, when OSX complains about it:
- Go to Settings
- Go to Privacy and Security
- Click on the button to allow it to "Run Anyways" and enter your pin.
- Return to the terminal and run it again.
If you also have problems running this you may need to install portaudio through homebrew:
brew install portaudio
The Linux version was built through Github Actions, on Ubuntu. It requires the Python module for pyaudio installed.
Install it through:
sudo apt install python3-pyaudio
Create your environment, install your requirements, then run the script.
~/.pyenv/versions/3.12.2/bin/python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
python3 keepalive.py