A few things need to change. The first is that you should only commit audio from one place. You are committing audio from both NatMic's delegate and from the AudioRecorder you are creating. This results in garbage audio. Instead, you should go through NatMic. NatMic has an overload for StartRecording that takes in an AudioListener. NatMic will automatically mix the audio from the microphone and the audio listener and provide the mixed audio in sample buffer callback. The second thing is that you want to change the NatMic format from `Format.Default` to `Format.DefaultForMixing`. This will cause NatMic to match the microphone sample rate and channel count to that of Unity's audio engine. With these changes, you will not need to use an AudioRecorder at all.