Baseado em esta resposta que passa argumentos de find , eu criei o seguinte script:
$ beet ls QUERY | mplayer -playlist /dev/fd/3 3<&0 </dev/tty
Explicação rápida de como eu o entendo: mplayer é instruído a ler /dev/fd/3 como um arquivo de lista de reprodução. O descritor de arquivo 3 ( /dev/fd/3 ) é preenchido pela entrada padrão ( 3<&0 ) do comando beet . E a entrada para mplayer é especificada como o terminal de controle ( </dev/tty ). Como o mplayer está lendo de um arquivo e não stdin, você pode controlá-lo com o teclado.
Isso funciona para mim no Mac OS 10.8.3.