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
- Placeholder asset is not loaded with Advertisement Legacy sample when using the latest version of the package
- Addressables content build fails but the Player build is successful when building a development build
- Out-of-bounds memory access with multiple CanvasRenderers under a Canvas when using Mesh API
- Inspector tries to access file after it was deleted when the file was locked in Inspector window
- Changing Transform values in Search window Inspector loses focus while dragging and stopping mouse without releasing dragging action
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.