[О блоге]
[наверх]
[пред]
[2019-01-05 16:12:51+03:00]
[acbd6a153fbb4fb375be43d87a2ad055b80681e3]
Темы: [hard][music][tip]
Включение bitperfect звука в USB звуковухах
Долгие годы у меня была только одна USB-звуковуха, которая всегда при
подключении имела один и тот же "адрес" в sysctl дереве и делать
включение bitperfect-а в ней было тривиально:
% cat /etc/devd/myaudio.conf
attach 20 {
device-name "uaudio[0-9]";
action "/sbin/sysctl dev.pcm.3.bitperfect=1";
};
теперь у меня появилась и USB-гарнитура, которая bitperfect не требует,
а порядок подключения может быть самый разный. Пока сделал вот такое
решение чтобы только ASUS звуковуху обрабатывать:
% cat /etc/devd/myaudio.conf
attach 20 {
device-name "uaudio[0-9]";
match "vendor" "^0x0b05$";
match "product" "^0x17f3$";
action "/etc/devd/myaudio-asus.sh $vendor $product";
};
% cat /etc/devd/myaudio-asus.sh
#!/bin/sh
[ $# -eq 2 ] || exit 1
vendor=$1
product=$2
uaudio=$(sysctl dev.uaudio | sed -n "s/^dev\.uaudio\.\([^.]*\)\..*vendor=$vendor product=$product.*\$/\1/p")
pcm=$(sysctl dev.pcm | sed -n "s/^dev\.pcm\.\([^.]*\)\.%parent: uaudio$uaudio\$/\1/p")
/sbin/sysctl dev.pcm.$pcm.bitperfect=1
Конечно, читается не просто, но задача выполнена за короткий срок и
вполне себе работает. Я за такое решение, пускай не очень элегантное,
вместо того чтобы иметь невероятный по размерам и сложности framework
в виде поделий Поттеринга.
[оставить комментарий]