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
- [Android] Stage information is not logged when Log Shader Compilation is enabled
- [Vulkan] The memory allocation increases rapidly when there are multiple (three or more) Real-Time Reflection Probes in the Scene
- [macOS] Library folder of the opened project can be deleted which leads to the crash
- “Default Scene” dropdown field contains a spelling mistake “Default Builtin”
- Editor crashes on PPtr<Mesh> after adding Text Mesh and Cloth Components to the same GameObject
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.