[GH-ISSUE #134] Feature request: support hearing aid volume adjustment #60

Closed
opened 2026-03-02 12:03:06 +03:00 by kerem · 6 comments
Owner

Originally created by @rponeawa on GitHub (May 30, 2025).
Original GitHub issue: https://github.com/kavishdevar/librepods/issues/134

Hi, thanks for the great work on librepods!

I’d like to suggest adding support for hearing aid volume adjustment. Some users use AirPods as assistive listening devices, and being able to control the amplification level would really help improve accessibility.

Hope this can be considered in future updates. Thanks again!

Originally created by @rponeawa on GitHub (May 30, 2025). Original GitHub issue: https://github.com/kavishdevar/librepods/issues/134 Hi, thanks for the great work on librepods! I’d like to suggest adding support for hearing aid volume adjustment. Some users use AirPods as assistive listening devices, and being able to control the amplification level would really help improve accessibility. Hope this can be considered in future updates. Thanks again!
Author
Owner

@kavishdevar commented on GitHub (May 30, 2025):

I would definitely love to add that feature too! I know how that data is sent to AirPods, but when I send the same data from a non-apple device, airpods do not respond. So, there is provably some authentication that needs to be done.

And, despite sending all data that a Mac shows it sends in the PacketLogger app, the result is still the same unfortunately. More reverse engineering of this accessibility features is needed.

<!-- gh-comment-id:2921511800 --> @kavishdevar commented on GitHub (May 30, 2025): I would definitely love to add that feature too! I know how that data is sent to AirPods, but when I send the same data from a non-apple device, airpods do not respond. So, there is provably some authentication that needs to be done. And, despite sending all data that a Mac shows it sends in the PacketLogger app, the result is still the same unfortunately. More reverse engineering of this accessibility features is needed.
Author
Owner

@kavishdevar commented on GitHub (Sep 10, 2025):

Figured it out!

Now, I just need someone from a supported region/country to help with the hearing aid data sent to AirPods. I'm in India, and I can only forcefully enable the hearing aid and protection features and adjust the volume, but not take the hearing test and not take a hearing test because of which I can't quite make out how the data is formatted.

I know it's not possible to customize the data, without apple doing it for you with the sharing test, but even a fixed data packet will help if multiple people contribute.

The existing “customize transparency mode” is almost ready and can be accessed by launching the activity CustomDeviceActivity in the build from multidevice-and-accessibility branch (not making it accessible directly through the AirPods settings yet until further testing)

<!-- gh-comment-id:3273373275 --> @kavishdevar commented on GitHub (Sep 10, 2025): Figured it out! Now, I just need someone from a supported region/country to help with the hearing aid data sent to AirPods. I'm in India, and I can only forcefully enable the hearing aid and protection features and adjust the `volume`, but not take the hearing test and not take a hearing test because of which I can't quite make out how the data is formatted. I know it's not possible to customize the data, without apple doing it for you with the sharing test, but even a fixed data packet will help if multiple people contribute. The existing “customize transparency mode” is almost ready and can be accessed by launching the activity CustomDeviceActivity in the build from multidevice-and-accessibility branch (not making it accessible directly through the AirPods settings yet until further testing)
Author
Owner

@rponeawa commented on GitHub (Sep 10, 2025):

Figured it out!

Now, I just need someone from a supported region/country to help with the hearing aid data sent to AirPods. I'm in India, and I can only forcefully enable the hearing aid and protection features and adjust the volume, but not take the hearing test and not take a hearing test because of which I can't quite make out how the data is formatted.

I know it's not possible to customize the data, without apple doing it for you with the sharing test, but even a fixed data packet will help if multiple people contribute.

The existing “customize transparency mode” is almost ready and can be accessed by launching the activity CustomDeviceActivity in the build from multidevice-and-accessibility branch (not making it accessible directly through the AirPods settings yet until further testing)

That's great! I'm in China which is also unsupported by these features, but I have enabled these through restoring an iCloud backup from an account which has these activated in another region.

<!-- gh-comment-id:3273916972 --> @rponeawa commented on GitHub (Sep 10, 2025): > Figured it out! > > Now, I just need someone from a supported region/country to help with the hearing aid data sent to AirPods. I'm in India, and I can only forcefully enable the hearing aid and protection features and adjust the `volume`, but not take the hearing test and not take a hearing test because of which I can't quite make out how the data is formatted. > > I know it's not possible to customize the data, without apple doing it for you with the sharing test, but even a fixed data packet will help if multiple people contribute. > > The existing “customize transparency mode” is almost ready and can be accessed by launching the activity CustomDeviceActivity in the build from multidevice-and-accessibility branch (not making it accessible directly through the AirPods settings yet until further testing) That's great! I'm in China which is also unsupported by these features, but I have enabled these through restoring an iCloud backup from an account which has these activated in another region.
Author
Owner

@kavishdevar commented on GitHub (Sep 10, 2025):

That's great! I'm in China which is also unsupported by these features, but I have enabled these through restoring an iCloud backup from an account which has these activated in another region.

Do you have a Mac? I can guide you to capture the data sent by iPhone/iPad/Mac itself when you change any settings that you can control without going through the test again, like the volume/strength? Also, probably having the hearing test result would be ideal in which I case I won't have to experiment much. Thanks!

My guess based on what I've captured is that the volume is not independently sent, it is sent along with all the other config, like stuff like which frequencies to boost etc..

<!-- gh-comment-id:3273956672 --> @kavishdevar commented on GitHub (Sep 10, 2025): > That's great! I'm in China which is also unsupported by these features, but I have enabled these through restoring an iCloud backup from an account which has these activated in another region. Do you have a Mac? I can guide you to capture the data sent by iPhone/iPad/Mac itself when you change any settings that you can control without going through the test again, like the volume/strength? Also, probably having the hearing test result would be ideal in which I case I won't have to experiment much. Thanks! My guess based on what I've captured is that the volume is not independently sent, it is sent along with all the other config, like stuff like which frequencies to boost etc..
Author
Owner

@kavishdevar commented on GitHub (Sep 22, 2025):

Done! Will release soon.

<!-- gh-comment-id:3318796659 --> @kavishdevar commented on GitHub (Sep 22, 2025): Done! Will release soon.
Author
Owner

@kavishdevar commented on GitHub (Nov 9, 2025):

released with v0.2, forgot to close this.

<!-- gh-comment-id:3508577095 --> @kavishdevar commented on GitHub (Nov 9, 2025): released with v0.2, forgot to close this.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/librepods#60
No description provided.