I don't know anything about this, but I notice a variable snd_pcm_access_t alsa_interleave in audio.c line 3971 -- I wonder what would happen if you changed it to some other value? I can easily bring it out to the Snd extension language if it's useful.