Vous pouvez utiliser plusieurs lecteurs externes via des pipes. Cependant, vous constaterez presque toujours une perte de vitesse. Il y a aussi un problème avec le contrôle de lecture.
Je vous recommande pyaudio, ça marche bien.
Si vous souhaitez également lire des fichiers compressés, je serai aussi libre de vous indiquer mon module decoder.py. Vous pouvez le trouver sur PyPI.
Il utilise également des sous-processus, mais appelle des décodeurs au lieu de joueurs. Ils n'utilisent pas beaucoup de temps processeur et certains savent comment utiliser l'accélération matérielle. Vous pouvez ensuite utiliser pyaudio ou quelque chose pour sortir les données audio brutes. Si vous le souhaitez, vous pouvez même utiliser pygame en utilisant pygame.sndarray. De cette façon, vous pouvez lire plus de formats que ce que pygame ne prend en charge.
J'ai essayé decoder.py dans un environnement d'interface graphique PyQT, avec pyaudio et également en utilisant aplay en tant que lecteur externe. C'était sur Raspberry Pi B.
Les résultats ont été assez satisfaisants dans les deux cas.
La simplicité peut être remise en question.
decoder.py lui-même est très simple, mais vous devez le combiner avec d'autres bibliothèques et cela augmente les lignes de code.
Il y a un exemple sur la façon de lire les fichiers inclus avec decoder.py.