2017-05-05 4 views
0

J'ai PC avec Linux et connecté là 3 interfaces audio USB. Chaque interface audio a une sortie stéréo. J'ai 6 haut-parleurs reliés par 2 à chaque sortie stéréo.Comment puis-je lire un fichier audio sur une carte audio USB connectée?

Mon but est d'avoir la capacité de jouer n'importe quel son sur n'importe quelle carte sur n'importe quel canal. Par exemple, j'ai besoin de jouer du son de verre battant sur la première carte audio sur le canal gauche et de jouer un peu de la nature sur la deuxième carte audio sur le canal droit.

J'ai regardé dans mpg123 mais n'a pas trouvé dans l'homme rien ce que je veux.

Mes préfèrent avoir un joueur avec la prochaine params:

./example_player --audio_device=1 --channel=left glass.mp3 

Si aucun joueur avec tout mon exige s'il vous plaît conseiller une bibliothèque Python pour faire mon facile « example_player ».

Merci!

Répondre

0

J'ai trouvé la réponse. Mon préféré est mplayer. Il a suffisamment fonctionné pour mon objectif.

Cette commande:

$ mplayer -af channels=2:2:0:0:1:0 song1.mp3 

jouera son sur haut-parleur gauche. 2 (le nombre de canaux de sortie): 2 (le nombre de signaux en mouvement): 0: 0 (canal gauche vers canal gauche) 1: 0 (canal canal droit vers canal gauche)

Pour acheminer le son vers n'importe quel canal vous devez utiliser carte audio cette commande:

$ mplayer -ao alsa:device=hw=0.0 song2.mp3 

Pour voir tous les périphériques ALSA disponibles utilisent cette commande:

$ aplay -l 

ici, vous verrez tous les périphériques ALSA disponibles. Le premier chiffre du paramètre «hw» est le numéro de la carte et le second chiffre est le numéro de l'appareil.

Bien sûr, vous pouvez combiner ces deux commandes:

$ mplayer -af channels=2:2:0:0:1:0 -ao alsa:device=hw=0.0 song3.mp3 

J'ai aussi trouvé plus utile solution utilisant PulseAudio!

Utilisez Thic commande pour répertorier tous disponibles Périphériques audio avec PulseAudio:

$ pactl list cards short 

Par exemple, vous devez transmettre le son à 0 carte (toutes numérique cartes commence par 0):

$ mplayer -ao --pulse::0 file.mp3 

Et ça marche aussi.