Search Issue Tracker
Won't Fix
Votes
0
Found in
2017.3.1f1
Issue ID
1014837
Regression
No
[iOS] Robotic echo from the microphone audio when 'DSP Buffer Size' is set to 'Best latency'
Reproduction steps:
1. Open the attached project.
2. Go to 'Edit->Project Settings->Audio' and set the 'DSP Buffer Size' to 'Best latency'.
3. Build this app to an iOS device.
4. Mute the sound or connect headphones.
5. Click 'Reload Scene' on a device.
6. Open the 'QuickTime Player'.
7. Go to 'File > New Movie Recording'
8. Click on the drop-down button near the record button.
9. Select an iOS device in the 'Microphone' section.
10. Click 'Reload Scene' on a device.
11. Click 'Restart Mic'.
12. Make some sound for 10 seconds.
13. Click 'Restart Mic'.
14. Click Record in the 'QuickTime Player'.
15. Make a few low pitched and short sounds.
16. Stop the video recording.
17. Listen to the sound.
18. Open the file with a sound spectrum analysis software (tested with SPEK).
Actual behavior:
- Each sound will make an echo.
- Spectrum analysis results attached: 'ActualPic.jpg' and 'ExpectedPic.jpg' (2 low pitched sound).
- Sound comparison files attached: 'ExpectedVid' and 'ActualVid'.
Reproduced with:
- 2017.1.3p2, 2017.2.2p2, 2017.3.2f1, 2018.1.0b12, 2018.2.0a6
- iPhone 8 iOS 11.0, iPod Touch 6 iOS 10.2.1
Not reproducible with:
- Android
Notes:
- If the issue will not reproduce, use a loop of: Click 'Restart Mic' > make some sounds > Click 'Restart Mic' > make some sounds...
- This issue can also be reproduced without pre-recording sound beforehand.
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- Too little validation messages in the "WebAssembly Language Features" Memory settings
- Project Settings Search Highlights are misaligned when using the Bitmap Text Rendering Mode
- "GetControlID at event ValidateCommand returns a controlID different from the one in Layout event" Warning is thrown when undoing the deletion of Sprite Shape Profile
- Memory related fields in the "WebAssembly Language Features" can be set to the negative numbers
- "WebAssembly Language Features" Header in the Player Settings has a smaller indentation
Resolution Note (2019.3.X):
In C#, make sure your AudioSource output is not reading so close to the input that it underflows. That means AudioSource.timeSamples should stay comfortably behind Microphone.GetPosition. You can experiment with this difference in samples to see how small you can make it before you have issues. You can also experiment with the global DSPBufferSize setting.