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
9 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?