I've just discovered detox - very nice. Thanks ;-)
A few thoughts that would make it even more useful:
1. Running "detox" with no arguments (or possibly "detox ."), or maybe even explicitly (detox -a) should operate on all files in the current directory.
This would be especially nice, because at the moment, we have to quote the ugly filenames to pass them as arguments, and sometimes that part is the tricky bit!
2. If the preferred destination file exists already, make a numbered alternative, rather than exiting. Eg
touch i ./-i ; detox ./-i
currently complains that "i" already exists. Instead, why not create a file called "i.2" (similar behaviour is implemented by mv and cp with the --backup options)
3. I really like the ability to "squash" utf-accented characters (eg "é" back to their basic ASCII ones (e). This would be a neat feature to have available in a pipe.
eg
filename="Fauré.mp3" #typed in by user.
newfilename=$(echo $filename | detox -s utf_8)
... #encode the mp3 to newfilename.
(oops - I can't type. Summary should be "file-exists" !)