The | takes the output of the left command and pipes it as input the right command. Mind, that this is done in a subshell. Hence you cannot set values of vars of the calling process wihtin a pipe.

find . -type f -a -iname '*.mp3'  | \\
       while read filename; do
             mute --noise "$filename"
       done