>I tried it, and you're right, Don, the sound is stull understandable.... You >can see the results of my 'efforts' at: >http://www.bzzzzzz.com/beehive/keelanl/xortest/ Hows about XORing with a pseudorandom function (selected by the key). You would need some way to synchronize the receiver ... shifting phase until minimum average amplitude is achieved is a simple way to syncrhonize assuming your encoded data has a fair amount of silence or quiet parts. Here's an example of a pseudorandom generator (for 17Cxxx .. substitute "STATUS,C" for "ALUSTA,C" if using 14 bit or 12 bit cores): BCF ALUSTA,C RRCF RXCH,F BTFSC RXCL,0 BSF RXCH,7 RRCF RXCL,F MOVLW 0X31 ADDWF RXCL,F BTFSC ALUSTA,C INCF RXCH,F MOVLW 0X03 ADDWF RXCH,F RXCL and RXCH are your 16-bit pseudorandom number. XOR RXCL with your 8-bit data stream on both ends. Make sure the pseudorandom generator is in the same phase on both ends (seeded to the same starting value of RXCL and RXCH for a given sample). Wouldn't this sound much like static unless you match the phase and pseudorandom generator function on both ends? hope this works, Ken