The error may be caused by double spaces in the filename.
You could change
var %b = $findfile(%p3dir,*.mp3,$r(1,$findfile(%p3dir,*.mp3,0)),run -np $1-)
to
var %b = $findfile(%p3dir,*.mp3,$r(1,$findfile(%p3dir,*.mp3,0)),run -np $1-).shortfn
to see if it helps.