Skip to content

About

An unofficial native macOS menu-bar controller for Soundcore Space One Pro headphones

Topics

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

SoundOne Control icon

SoundOne Control

An unofficial, native macOS menu-bar controller for Soundcore Space One Pro (A3062) headphones.

SoundOne Control talks directly to the headphones over Bluetooth. It is local-only, has no telemetry, and does not require the Soundcore phone app after the headphones have been paired once.

SoundOne Control settings showing ambient-sound and listening-effect controls

Features

  • Menu-bar battery, ambient-mode, EQ-preset, and Dolby controls
  • Noise Canceling, Transparency, and Normal modes
  • Adaptive/custom ANC, ANC strength, transparency strength, and wind reduction
  • All factory EQ presets and an accessible eight-band custom equalizer
  • Dolby Audio and sidetone
  • Automatic power-off and high-volume protection
  • NC-button BassUp action and configurable ambient-mode cycle
  • Multipoint enablement, remembered devices, connect/disconnect, and forget actions
  • Automatic reconnect, optional launch at login, and connection/low-battery notifications
  • Global shortcuts:
    • ⌥⌘A cycles ambient mode
    • ⌥⌘D toggles Dolby Audio
    • ⌥⌘E applies the selected favorite EQ preset

The menu-bar icon is visible only while the headphones are connected. Its dot is solid while the control channel is open and hollow while it reconnects.

Requirements

  • macOS 15 or newer
  • Soundcore Space One Pro (A3062), already paired in System Settings
  • Xcode 26 or newer to build from source (it compiles the Icon Composer app icon)

Soundcore permits only one active settings controller. Fully close the Soundcore phone app if SoundOne Control cannot open the control channel. Audio multipoint can remain enabled.

Build and run

git clone https://github.com/amanamisrael/SoundOneControl.git
cd SoundOneControl
./scripts/signing-cert.sh   # once per Mac
./scripts/build-app.sh --install
open "/Applications/SoundOne Control.app"

The build script creates a release build and assembles dist/SoundOne Control.app. Options:

  • --install copies the app to /Applications. Quit the running copy first.
  • --dmg also creates dist/SoundOne Control <version>.dmg, with an Applications link to drag the app onto. It uses diskutil image create, so it needs a macOS release that has that command.

macOS ties Bluetooth access to the app's signature. The script signs with SOUNDONE_SIGNING_IDENTITY, or a valid Apple Development or Developer ID certificate. Without one, it uses the self-signed certificate that scripts/signing-cert.sh adds to your login keychain. Each of these keeps Bluetooth access from build to build. If none is available, the script signs ad hoc. An Apple Developer account is not required.

A DMG without a Developer ID signature and notarization is for your own Macs. On another Mac, Gatekeeper blocks the first launch. Allow it in System Settings > Privacy & Security.

The app icon is an Icon Composer document at Resources/AppIcon.icon. Open it in Icon Composer to edit it.

Run the checks with:

swift test
swift build -c release

Architecture

  • SoundOneControl is the SwiftUI/AppKit menu-bar application.
  • SoundOneBluetoothAgent is a bundled, short-lived helper that owns the legacy RFCOMM channel. It starts only when needed and communicates with the app through private pipes. It is not a daemon and has no network access.
  • The A3062 packet model and command generation are independent of UI and transport code and covered by unit tests.
  • The headphones are always treated as the source of truth. Changes are acknowledged and followed by a fresh state read; failed changes roll back in the UI.

The helper boundary exists because current macOS releases can deadlock IOBluetooth RFCOMM channel creation after AppKit has taken over the main run loop. Opening the channel in the helper keeps reconnects reliable without blocking the menu app.

Deliberate exclusions

  • Firmware updates remain in Soundcore's official mobile app. A failed unofficial update could brick the headphones.
  • LDAC is shown as an Android-only capability because macOS does not provide LDAC playback for this model.
  • Wear detection is not shown because A3062 firmware does not expose a verified command for it.
  • Voice-prompt controls are intentionally omitted.

Attribution and license

The Soundcore A3062 protocol implementation is based on the reverse-engineering work in OpenSCQ30. SoundOne Control is licensed under GPL-3.0-or-later; see LICENSE.

Soundcore and Anker are trademarks of their respective owners. This project is not affiliated with or endorsed by Soundcore or Anker. The SoundOne Control icon and interface are original work and do not use Soundcore app assets.

About

An unofficial native macOS menu-bar controller for Soundcore Space One Pro headphones

Topics

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages