danielgjackson / noisecancel

Quickly turn off noise cancellation on Bose NC 700 or QC 35 headphones, or change modes on the QC Earbuds or QC 45.
https://noisecancel.danjackson.dev
MIT License
38 stars 0 forks source link

Noise Cancelling Switch

Quickly turn off noise cancellation on Bose Noise Cancelling Headphones 700 and Bose QC 35 headphones

Turn Off Noise Cancellation App

What?

This Android app allows you to quickly turn off noise cancellation on Bose Noise Cancelling Headphones 700 (NC 700) and Bose QC 35 (QC35) headphones.

The app also allows a (less-useful) change of mode on Bose QC Earbuds and Bose QC 45 headphones -- it is not able to fully disable active noise cancellation.

<img src="https://fdroid.gitlab.io/artwork/badge/get-it-on.png" alt="Get it on F-Droid" height="80"> <img src="https://play.google.com/intl/en_us/badges/images/generic/en-play-badge.png" alt="Get it on Google Play" height="80">

Why?

Bose Noise Cancelling Headphones 700 have a "noise control" button to cycle through noise cancellation presets, but these are on a scale (three presets between 0-10) from actively passing external sound through, to cancelling out external sound. In a very quiet room, any setting on this scale can result in an audible hiss, and you may not want any active pass-through/cancelling at all, but just the sound. The official Bose Music app does allow you to temporarily turn off noise cancelling, but this setting is buried in the app and takes some time to get to.

When?

You can:

Noise cancelling will turn back on if you alter the noise control settings on the headphones, or when you next turn the headphones on.

How?

The application sends a short message (repeated 3 times) over the device's Serial Port Profile (SPP) connection.

How: NC700

The cancellation levels are fully supported on the NC700: "off", "0", "5" and "10" .

To change noise cancellation level on the NC700, where enabled is 0=off, 1=on; and, if enabled, level is 0-10 (the level is inverted in the packet to: 10 - level):

Send: 0x01 0x05 0x02 0x02 (10-level) (enabled)

Response: 0x01 0x05 0x03 0x03 0x0b (10-level) (enabled)

When toggling enabled off to on, device returns to default level regardless of the level sent, so a second repeat packet is required to resume to a level other than 10.

How: QC35

The cancellation levels are partly supported on the QC35: "off" (off), "0" (low), "5" (sends "medium" as below but no effect on QC35) and "10" (high).

To change noise cancellation level on the QC35, where mode is 0=off, 1=high, (2=medium?), 3=low:

Send: 0x01 0x06 0x02 0x01 (mode)

Response: 0x01 0x06 0x03 0x02 (mode) 0x0b

The medium mode does not appear to do anything on the QC35 -- perhaps it does something on the QC35ii?

How: QC Earbuds

The cancellation levels are approximated by switching modes on the QC Earbuds: "off" (second custom mode), "0" (Aware), "5" (first custom mode) and "10" (Quiet).

To change the noise cancellation mode on the QC Earbuds, where mode is 0=Quiet (full NC), 1=Aware (pass-through with optional ActiveSense adjustment for loud noises), 2=first user-supplied custom mode, 3=second user-supplied custom mode.

Send: 0x1f 0x03 0x05 0x02 (mode) 0x01

Response: 0x1f 0x03 0x07 0x00

Response: 0x1f 0x03 0x06 0x01 (mode)

How: QC45

The cancellation levels are approximated by switching modes on the QC45: "off" (Aware), "0" (Aware), "5" (unknown mode where the device says "Quiet" but doesn't appear to change mode?) and "10" (Quiet).

To change the noise cancellation mode on the QC45, where mode is 0=Quiet (full NC), 1=Aware (pass-through):

Send: 0x1f 0x03 0x05 0x02 (mode) 0x01

Response: 0x1f 0x03 0x07 0x00

Response: 0x1f 0x03 0x06 0x01 (mode)

QC45 does not support custom modes, but sending mode=2 ("first user-supplied custom mode" on the earbuds) causes the device to say "quiet" but seemingly not change mode?

Disclaimer

This product is provided 'AS IS', the developer makes no warranties, accepts no liability, and hereby disclaims any implied warranties, including any warranty of merchantability and warranty of fitness for a particular purpose. This software sends a specific message to the device you choose. This has only been tested on one pair of headphones of a single firmware version. You accept liability for whatever happens, including any damage, injury, or loss.

See also