Я хочу синхронизировать один и тот же звук через несколько аудиоустройств USB. В прошлый раз я попробовал что-то подобное примерно в 2001 году, и это было успешно - и пара Griffin iMics, которую я использовал тогда, все еще работает в этом использовании, но сейчас я хочу больше каналов.
У меня возникли проблемы при настройке этого устройства на более поздние устройства USB Audio. У меня есть несколько устройств с чипами C-Media, которые создают много потрескиваний и трещин в синхронизации по сравнению с iMics; другое устройство с чипом TI не трескается, но все еще не синхронизировано.
В соответствии с моим пониманием того, как работает звук USB, проблемы с синхронизацией будут соответствовать iMics, использующим синхронное тактирование, и другим, использующим асинхронные часы.
Теперь, когда я делаю lsusb -v
я вижу, что каждое из моих устройств предоставляет несколько конечных точек, некоторые Синхронные, некоторые Асинхронные и некоторые Адаптивные. Поэтому мне нужен какой-то способ проинструктировать звуковой драйвер для использования синхронной конечной точки.
Вот где я застрял.
- Как я могу узнать, какие конечные точки используются?
lsof
сообщает, что/dev/snd/pcmXXXXX
используется, но я не уверен, соответствует ли это какой-либо конкретной конечной точке. Я могу видеть информацию о конечных точках в/sys/bus/usb
но я не знаю, как узнать, какие из конечных точек активны. - Как я могу изменить используемую конечную точку, настроив ALSA или другую библиотеку? Я попытался просмотреть источники ALSA, но не нашел ни одной части, которая рассказывала бы, как она выбирает конечную точку для использования.