What you are looking for is a filter for each (%) (not quite sure if this is a filter or a cmdlet, but it has the same usage syntax).
Try to execute
dir -recurse -filter "*.mp3" |
%{ $_.Name } |
%{ [IO::Path]::GetFileNameWithoutExtension($_) } |
sort
EDIT Update
"select-object Name" "%{ $_.Name}". Name . $_.Name .