One way is to loop through the channels calling save-sound-as on each, something like: (do ((i 0 (+ i 1))) ((= i (channels snd))) (save-sound-as filename snd :channel i)) where filename needs to be different for each channel.