There are several options, but none is really simple, I'm afraid…
rsync
rsync -r --include="*/" --include="*.mp3" --exclude="*" --prune-empty-dirs . ../TEMP2
This tells to exclude all files (exclude="*"), but to look into all directories (include="*/") and to include all mp3 files (include="*.mp3"). If you do not want to copy directories not containing any mp3 files, in addition the --prune-empty-dirs option is necessary.
zip
zip -R archive.zip "*.mp3"
unzip -d ../TEMP2 archive.zip && rm archive.zip
The first command creates an archive with all mp3 files, the second unzips the content to the target directory and deletes the archive file if it was successful.
find
find . -iname "*.mp3" -exec install -D {} ../TEMP2/{} ";"
This will find all mp3 files and copy them to the corresponding path in the ../TEMP2 directory, after creating the directory structure first (install -D).
copy all and delete the rest
This only makes sense if you have just a few files that you don't want to copy:
cp -r * ../TEMP2
find ../TEMP2 -type f \! -iname '*.mp3' -delete
This copies everything and then deletes all files that are not mp3 files
tar, a move and anuntar:D – Rinzwind Aug 30 '11 at 17:17.mp3-- it will not recursively copy all mp3 files. – Marcel Stimberg Aug 30 '11 at 18:41