WORKAROUND

Instead of restricting your app for those devices when your recording fails 
to meet the sample rate then pop up a dialog and ask the user if your app 
should "Emit" the required tone instead of recording.

The end user can then repeatedly play the desired frequency on you app via 
a button, they can adjust the piano string to match the frequency they hear 
from the device.  [ inverse mode ]

They should hear "beats" when the frequencies approach each other.


On Wednesday, December 23, 2015 at 11:16:41 AM UTC-5, Robert Scott wrote:
>
> There is an audio recording problem with some devices, even newer ones.  
> The native audio recording sample rate appears to be a puny 8000 Hz, which 
> means it can only render frequencies up to 4000 Hz.  This is a problem for 
> my piano tuning app which must detect frequencies above 4000 Hz. to tune 
> the top few notes.
>
> So far I have only gotten reports of this problem on certain models of the 
> LG G3 and the Nexus 7 (Asus).  The worst part is these devices do not 
> return an error when we try to set up an audio input stream and request a 
> sample rate of 22050 Hz.  Instead they take their 8000 samples per second 
> and up-sample by duplicating each sample 2 or 3 times to give us audio that 
> appears to be sampled at 22050 samples per second as requested, but it 
> still cannot faithfully render frequencies above 4000 Hz, so our piano 
> tuning app gives very strange results for the top few notes on the piano.
>
> Does anyone here work with audio input apps and can you confirm this 
> problem on any other devices?  You can test it out by sideloading our app 
> from
>
>   www.tunelab-world.com/atl.html
>
> It will run in free-trial mode well enough to test this out.  To test for 
> the sampling rate problem, tap on the large "A4" and select the note "B7" 
> by tapping on the "7" first.  Then on a different device or computer, 
> generate a tone at 3950 Hz.  One such on-line source is 
>
>   onlinetonegenerator.com/
>
> If this tone produces just one peak in the spectrum display at 3950 Hz, 
> then everything is fine.  But if this produces two peaks - one at 3950 and 
> the other at 4050, then you have a device that is sampling at 8000 Hz and 
> then up-sampling to feed our app a fake 22050 samples per second.
>
> -Robert Scott
>  Hopkins, MN
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Android Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to android-developers+unsubscr...@googlegroups.com.
To post to this group, send email to android-developers@googlegroups.com.
Visit this group at https://groups.google.com/group/android-developers.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/android-developers/460bc1e6-5fd5-4cb7-83be-3c8dfd77b8d1%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to