From 54b24aac7580de318296a4c032e341038f5fc254 Mon Sep 17 00:00:00 2001 From: vincenttew Date: Wed, 22 Dec 2021 18:10:41 +0800 Subject: [PATCH] audio: update audio tuning table this mps includes LinkLaw to let every volume step timbre consistency and modify audio_policy.xml to let linear music playback volume step & suitable Notification & DTMF. 1. Overall sound quality need to be improved on the landscape mode at the maximum volume (b/208954824) 2. Overall sound quality need to be improved on the portrait mode at the maximum volume (b/208954249) Bug: 211725396 Test: build pass Signed-off-by: vincenttew Change-Id: I1e5c48228d6abe18e8fa27d10f134e19984a491d --- audio/bluejay/config/audio_policy_volumes.xml | 26 +++++++++++------- audio/bluejay/tuning/waves/waves_preset.mps | Bin 171152 -> 183120 bytes 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/audio/bluejay/config/audio_policy_volumes.xml b/audio/bluejay/config/audio_policy_volumes.xml index 31782ff..073ce97 100644 --- a/audio/bluejay/config/audio_policy_volumes.xml +++ b/audio/bluejay/config/audio_policy_volumes.xml @@ -54,7 +54,7 @@ volume index from 0 to 100. 1,-5000 33,-3500 - 66,-2300 + 66,-2400 100,-1600 - 1,-3600 + 1,-4000 33,-2400 66,-1200 100,0 @@ -79,8 +79,14 @@ volume index from 0 to 100. ref="DEFAULT_HEARING_AID_VOLUME_CURVE"/> - + + 1,-6000 + 28,-3600 + 72,-1650 + 80,-1400 + 88,-800 + 100,0 + - 0,-3600 + 0,-4000 33,-2400 66,-1200 100,0 @@ -104,7 +110,7 @@ volume index from 0 to 100. - 1,-3600 + 1,-4000 33,-2400 66,-1200 100,0 @@ -146,7 +152,7 @@ volume index from 0 to 100. 1,-5000 33,-3500 - 66,-2300 + 66,-2400 100,-1600 100,-1800 - 1,-4100 + 1,-5600 33,-3000 - 66,-1800 - 100,-700 + 66,-2200 + 100,-1600 diff --git a/audio/bluejay/tuning/waves/waves_preset.mps b/audio/bluejay/tuning/waves/waves_preset.mps index 3af4955d3cc75825f144f03c72246b3b09e6e322..2879460a2d4abc497bb1e4e869a99dc419a4795a 100644 GIT binary patch literal 183120 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

cbnbX26 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