Project
- Stars
- Started
- Issues
- License
Noise cancelling, EQ and buttons from a terminal
bosectl is a command line tool and library (Python, Rust and C++) that talks to Bose headphones directly over Bluetooth, with no Bose app, account or cloud. It reads battery and status, sets the noise cancelling level, listening modes, EQ, spatial audio and custom profiles, and remaps the programmable button.
The README lists the QC Ultra Headphones (2nd gen), QuietComfort Headphones (2024), QC45, QC35 / 35 II and the original QuietComfort Earbuds as verified, and the QC Ultra Earbuds (2nd gen) as verified for battery, status, modes and noise level. The NC 700 and QC Ultra Earbuds (1st gen) are recognised by product ID only, with no tested configuration.
You need a Mac or Linux computer with the headphones already paired. Bose's own app must not be holding the same Bluetooth channel while it runs.
How did it go? Tips, problems, questions…
Noise cancelling, EQ and buttons from a terminal
bosectl is a command line tool and library (Python, Rust and C++) that talks to Bose headphones directly over Bluetooth, with no Bose app, account or cloud. It reads battery and status, sets the noise cancelling level, listening modes, EQ, spatial audio and custom profiles, and remaps the programmable button.
The README lists the QC Ultra Headphones (2nd gen), QuietComfort Headphones (2024), QC45, QC35 / 35 II and the original QuietComfort Earbuds as verified, and the QC Ultra Earbuds (2nd gen) as verified for battery, status, modes and noise level. The NC 700 and QC Ultra Earbuds (1st gen) are recognised by product ID only, with no tested configuration.
You need a Mac or Linux computer with the headphones already paired. Bose's own app must not be holding the same Bluetooth channel while it runs.
Aaron Bockelie and 7 others
108 followers · joined Nov 2012
Feedback
How did it go? Tips, problems, questions…