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][OpenGL]Soft Shadows contain artifacts when the OpenGL Graphics API is used
- The particle system prewarm flag is ignored when calling the Start function after the Stop function
- The Scene view flickers when moving around if there are visible Hair Shaders
- The gradient ShaderGraph is inverted when using the Perceptual blend mode
- Particle System allocates large amounts of memory when it is very far away from the origin of the Scene
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.