/SonyHeadphonesClient

A PC client recreating the functionality of the Sony Headphones app

Primary LanguageC++MIT LicenseMIT

Sony Headphones Client

This project features a PC alternative for the mobile-only Sony Headphones app.

Program Showcase


Donate

Table of Contents

Legal Disclaimer

THIS PROGRAM IS NOT AFFILIATED WITH SONY. YOU ARE RESPONSIBLE FOR ANY DAMAGE THAT MAY OCCUR WHILE USING THIS PROGRAM.

Download

You can download compiled versions of the client from the releases page.

Note: If you're getting an error like VCRUNTIME140_1.dll was not found, you need to install the Microsoft VC++ Redistributable.

Motivation

I recently bought the WH-1000-XM3s, and I was annoyed by the fact that I couldn't change their settings while using my PC. So I reverse-engineered the application (for intercompatibility purposes, of course), defined the protocol, and created with an alternative application with Mr-M33533K5.

Features

  • Ambient Sound Control
  • Disabling noise cancelling
  • Display battery life and fetch existing settings from device
  • Equalizer

TODO: ADD SCREENSHOTS

Supported Platforms And Headsets

For now, only the WH-1000-XM3 is supported. Other headsets may work, but I haven't tested them.

Please report about your experiences using other Sony headset in the Headset Reports issue.

  • Windows
  • Linux - In progress by jimzrt
  • macOS

For Developers

git clone --recurse-submodules https://github.com/Plutoberth/SonyHeadphonesClient.git

Compiling

Windows

Use the provided solution file.

macOS

Use the provided xcodeproj file.

Linux

Tested on Ubunutu 20.04: Install build dependencies, compile and run:

sudo apt install libglfw3-dev libbluetooth-dev build-essential
cd Client/linux/ && make
./sonyheadphonesclient.build/sonyheadphonesclient

Adding a new platform

There are two platform dependent parts in the code - the GUI and Bluetooth communication.

For the GUI, you need to copy the relevant parts from Dear ImGui.

For Bluetooth, you need to implement IBluetoothConnector for your desired platform.

License

Distributed under the MIT License. See LICENSE for more information.