Всем привет. Есть линуксовый комп, есть несколько аудиокарт, подключенных через USB. 3 аудиокарты, 6 колонок. (по 2 колонки на один стереовыход каждой аудиокарты).
Задача такая чтобы воспроизводить различные звуки/проигрыши на разных колонках. Например на нулевой карте в левый канал отдавать звук бьющегося стекла, а на первую карту в правый канал отдавать звуки природы. С возможностью одновременного вывода различных звуков на все каналы не зависимо друг от друга (полагаю, запуск 6 экземпляров аудиоплеера).
Я смотрел в сторону mpg123. Но задавая ему параметры -0 или -1 - имеется ввиду, что он от стереодорожки отсекает правый или левый канал и воспроизводит его в моно режиме сразу на две колонки.
Может быть есть что-то еще? Сейчас смотрю глубже в сторону консольного cvlc. Параллельно задав здесь вопрос - продолжаю поиски. Гугл ничего не подсказал мне, увы.
В идеале иметь возможность нечто вроде такого:
$ ./my_player --channel=left --audio_device=1 file.mp3
Буду рад советам. Спасибо!
=============================================================
Решение которое я нашел:
$ mplayer -ao alsa:device=hw=0.0
А список всех alsa девайсов беру из команды:
$ aplay -l
где первая цифра для параметра hw это номер аудиокарты, а вторая цифра - device.номер. Пока что остановлюсь на этом.
Правда моя аудиокарта ZOOM UAC-2 совсем не хочет через ALSA запускаться. Ей нужен только PulseAudio. И даже пока я не поставлю пульсаудио, она вообще не работает даже если я ее вручную выбираю в alsa-mixer. Ну да ладно, это проф аудиокарта, она специфическая, что оказалось под рукой - на том и пробовал. Там где я собираю эту многоколоночную штуку - будут самые простейшие линукс-совместимые ЮЗБ аудиокарты.
==========================================================
Решение №2 через PulseAudio (намного удобней)
Командой:
$ pactl list cards short
смотрим все доступные аудиокарты.
Запускаем, допустим, на нулевую аудиокарту (нумерация карт с нуля) звук:
$ mplayer -ao pulse::0 file.mp3
PROFIT!:3