Unity 5.2 AudioSource.GetOutputData Behavior Work-Around:
[Update 2015-09-15 : 2053CST]
Re-reading the issue-tracker entry, this appears to be the new intended behavior and Unity does not intend to fix it. Exerpt from the issue-tracker page:
AudioSource.GetOutputData functionality has changed in Unity 5.2. The component no longer produces data output when the AudioSource is muted. This is very different behavior and becomes problematic when using something like SALSA's addon product micInput that relies on a muted AudioSource when collecting microphone input data to prevent echo from your voice. Luckily, there is a fairly easy work-around. By the way, the documented bug report on the behavior change can be found here.
Again, this behavior is new to Unity 5.2+. Here's a little video demonstrating the steps below.
It's relatively easy to work around the new behavior. It will be necessary to complete 3 steps to pump muted micInput back into your SALSA lip-sync project:
- Create an AudioMixer with a new mixer Group (you can call the Mixer and the Group anything you like - in the image, the Mixer is called "micInputTest" and the Group is called "micInput").
- Turn the attenuation on the new mixer Group down as low as possible (-80dB).
- Link the new mixer Group to the micInput AudioSource Output slot.
At this point, you should leave the micInput script setting Mute Microphone disabled (un-checked). Play your scene as usual to get real-time micInput goodness piped into your SALSA awesome-lip-sync-ness!
NOTE: only link AudioSources that require muting and the ability for their audio data to be read to this new mixer Group. Any audio going to this mixer Group will be effectively muted.
Simple Automated Lip Sync Approximation
~ We look forward to seeing what you create! ~