Normcore Audio with Echo and Cracking voice on Android mobile phones
Please check this android APK==) https://drive.google.com/file/d/1G9Z6SWdJYLZ05uMvVJ3u9LRq2LRSXf5z/view?usp=sharing
We’re integrating Normcore voice chat in a Unity mobile project and are seeing crackling/popping and echo on Android speakerphone. Looking for guidance on recommended settings / known device issues.
Summary
Issue: When both devices are on speaker, audio has intermittent crackling and users hear their own voice echoed back.
When it’s clean: Using the earpiece or headphones removes echo and crackle (both directions are clear).
Goal: Full-duplex, echo-free voice on speaker in-game (like a normal phone call).
Environment
Unity: [e.g., 6000.4.5f1],
Normcore: [2.0]
Target platform: Android
Please let us know how to resolve issue
Please find attached sample apk:) https://drive.google.com/file/d/1G9Z6SWdJYLZ05uMvVJ3u9LRq2LRSXf5z/view?usp=sharing
Google Docs
meta0.99.apk
18 Replies
Hi @Panduranga. I'm kapa.ai, your friendly support bot. I will try to answer your question by searching through the knowledge base. :wave:
----------------------
Thanks for the detailed report. Based on the Normcore docs, here are the actionable checks and settings to address echo and crackling on Android:
- Ensure microphone permissions are correctly requested on Android, and verify the default mic device. Normcore logs errors if mic init fails—check device logs to catch any issues (for example permission denials) that can manifest as degraded audio quality (Voice chat – common questions).
- Use RealtimeAvatarVoice on a RealtimeView with a clear owner so it correctly switches between capturing (local) and playback (remote). You can add your own AudioSource to control spatialization/volume; RealtimeAvatarVoice will use it instead of creating one at runtime (Voice Chat component).
- RealtimeAvatarVoice includes an AudioPreprocessor that sets mic gain and filters background noise, reverb, and echo; most platforms also apply hardware echo cancellation. If you need to tune behavior for specific devices, you can modify/fork the RealtimeAvatarVoice source to adjust preprocessing parameters (Voice Chat component).
- Normcore’s audio pipeline uses the Opus codec with adaptive bitrate and jitter buffering to reduce dropouts and pops under varying network conditions. Crackling often indicates buffer underruns or packet arrival variance; let Normcore manage the buffer and ensure stable network conditions when testing (High Quality, Low Latency, Audio & Video).
- On WebGL, Unity’s audio engine isn’t used and spatialization differs, but on Android Unity’s audio engine is used; configure your AudioSource accordingly if you’re spatializing. For simple speakerphone tests, avoid aggressive spatial rolloff or 3D settings that could cause uneven playback levels (Voice chat spatialization).
Limitations: The knowledge sources don’t list device-specific Android speakerphone issues or a definitive set of Android-only flags to force AEC on all models. If echo persists only on loudspeaker, it may be related to device-level AEC behavior; you can experiment by forking RealtimeAvatarVoice to adjust preprocessor echo settings as a workaround (Voice Chat component).
If you continue to see echo/crackle after the above checks, please share device models/OS versions and Unity/Normcore versions, and consider posting in the Normcore Discord for targeted guidance from the team and community (they can also review your APK) (Documentation home).
----------------------
Note: you can ask me a follow up question by @ mentioning me again :speech_balloon:
----------------------
<@1410953477001183375> Kapa.ai is still learning and improving, please let me know how I did by reacting below.
Unity: [e.g., 6000.4.5f1],
Normcore: [2.0]
Target platform: Android
@Normal Team Please help
do you have any sample android project for normcore audio
@kapa.ai do you have any sample android project for normcore audio
Let me check the knowledge base for you again. One moment! :books:
----------------------
I’m sorry, but the knowledge sources don’t mention a specific Android-only sample project for Normcore audio. However, the XR Avatars and Voice Chat guide includes a ready-to-use setup with RealtimeAvatarVoice that works on Android, and the Getting Started guide points to example scenes (e.g., Realtime + Hoverbird Player) you can build for Android to test voice chat (XR Avatars and Voice Chat, Getting Started).
If you need an Android-focused sample, I recommend asking in the Normcore Discord for a project or APK tailored to Android audio testing (Docs home).
----------------------
Note: you can ask me a follow up question by @ mentioning me again :speech_balloon:
----------------------
<@1410953477001183375> Kapa.ai is still learning and improving, please let me know how I did by reacting below.
@Towellie Please help here
Please stop pinging our whole team
Our team will answer as soon as we can, but you need to wait.
okay thanks we are using discord first time so dont have much idea thanks
What Android device are you using? If you add logs to RealtimeAvatarVoice is the
echoCancellation
bool evaluating to true?echoCancellation is true
but still not working
any update , we are in trouble.
I'm not sure what the problem is. If echoCancellation is on, then it's correctly using the software echo cancellation unit. There's an audio listener component that gets added to the camera. It's possible you have multiple cameras in the scene or something where it can't attach.
I know Unity also has ways to enable hardware echo cancellation for some android devices, but it's somewhat of a shit show on Android because each phone type has its own way of doing hardware echo cancellation
https://discord.com/channels/393839515074297858/1410975891844108379/1410975891844108379 Please check this APK so that you can understand whats going wrong
can i send Sample Project as well
https://discord.com/channels/393839515074297858/1410975891844108379/1410975891844108379
I can’t offer that kind of support on discord unfortunately.
I want to resolve this issue, let me know how to proceed
let me know whether you are helping us to resolve the issue?
I'm sorry unfortunately, we don't have the capacity to debug builds for people. I'm happy to continue answering any questions you as you work out the issue.
how can i resolve issue ?
give me correct sample project for android device i will make build out of it
android unity
@Max
any update ? so seriously we are in trouble.
I’m sorry if the built-in examples do not work, it sounds like a bug specific to the device you’re using. It’s not uncommon for Unity to interfere with the device’s echo cancellation settings. I’m not really sure how else to help here. If you’d like, we have enterprise support options where our team can debug these issues for you, but outside of that we don’t have the capacity to debug projects for people on discord.
If you’re interested in enterprise support, you can shoot me an email max@normalvr.com and I can have someone from our team send over pricing.