oboe icon indicating copy to clipboard operation
oboe copied to clipboard

Very low input level using Low Latency and Generic input profile on Galaxy S8

Open evan-manyhats opened this issue 6 years ago • 6 comments

Android Version(s): 9 Android Device(s): Samsung Galaxy S8 (SM-G950FD) Oboe Version: 1.2.0

Short Description On Samsung Galaxy S8 running Android 9, enabling the LowLatency performance mode results in significantly lower volume on the input stream when using AAudio and the Generic input profile.

Steps To Reproduce I used the Oboe library to record an audio clip playing on a nearby speaker and wrote the input to a wav file, then measured its average volume. I repeated this process 4 times, using:

  1. PerformanceMode::None and InputPreset::Generic
  2. PerformanceMode::LowLatency and InputPreset::Generic
  3. PerformanceMode::None and using the default InputPreset::VoiceRecognition
  4. PerformanceMode::LowLatency and using the default InputPreset::VoiceRecognition

Expected behavior

I expected the average volume of each recording to be similar.

Actual behavior

Using the Generic input profile, the input volume is significantly lower (barely audible) when using the LowLatency performance mode (-63 dB vs -29 dB).

Using the VoiceRecognition input profile, the input volume is consistent when setting the performance mode to either LowLatency or None (-42 dB in both cases). This is also notably quieter than using the Generic input profile without LowLatency.

Additional context

I also repeated these tests using a Huawei Nexus 6P running Android 8.1.0, and noted that the average input volume was consistent using any combination of the input profiles or performance modes.

The following is a summary of all of the tests on both devices. (Note that each test is duplicated with LowLatency either enabled or disabled on the output stream, which does not affect the input volume and can be ignored in this context.)

image

This might be related to #722 and/or #572 .

evan-manyhats avatar Dec 16 '19 08:12 evan-manyhats

Thank you so much for the detailed bug report. It is much easier for us to take action when there is good information in the report.

I have filed a bug internally for Samsung. It is being tracked as b/146335827

philburk avatar Dec 16 '19 15:12 philburk

Thanks @philburk !

I can add that we've replicated this issue on 3 Samsung devices: Galaxy S8, Galaxy A8, and Galaxy S10+.

We've also confirmed that the issue does not affect 2 non-Samsung phones: Nexus 6P and Pixel 3.

evan-manyhats avatar Dec 19 '19 01:12 evan-manyhats

Also a similar problem on the Samsung J3. https://github.com/google/oboe/issues/722

philburk avatar Dec 20 '19 23:12 philburk

Possibly related:

I've been testing with an S9 today and have been experiencing attenuation using certain input presets (see https://github.com/google/oboe/issues/1006), although not the same presets.

On this bug the S8 is reported to have the following quiet presets:

  • Generic
  • VoiceRecognition

What I experienced on the S9 was almost the opposite. The following presets were quiet (or at least quieter):

  • Unprocessed
  • Camcorder
  • VoiceCommunication
  • VoicePerformance

dturner avatar Sep 15 '20 16:09 dturner

@evan-manyhats I'd like to understand this problem a bit more and have some questions:

  • Is the input level so low as to be unusable for your use case? Or is it just that the volume is so different from the other presets that it makes configuring the app difficult?
  • Out of all these presets which one makes most sense for your app?
  • Can you provide the option to configure the gain manually?

dturner avatar Sep 15 '20 16:09 dturner

Closing due to inactivity. Please add a comment if you are able to answer the questions above and we can reopen.

dturner avatar Oct 14 '20 16:10 dturner