i think russ has it exactly right: keep the kernel driver as simple as is practical, do whatever else you want in user space. for /dev/audio, i wouldn't suggest anything beyond plan 9's audio(3) as is. i'd suggest some cleanup of the surround (kill /dev/volume, rationalize /dev/audioctl), but the fundamentals are right.
having a user mode fs on top of that to do easy, standardized format conversion would be pretty neat, and i wonder if it could be provided in a backwards-compatible way without too many contortions. if we're only being additive... maybe not, though. maybe just keep the names clear and avoid the compatibility trap all together. i don't exactly follow erik's upas/fs analogy, but i do think a fs of sorts is very interesting. i think that approach also lends itself well to mixers, which is a related set of questions. i tend to think of it more analogous to /net than upas/fs. "cat whatever > /mnt/mixer/new"?
