Анонсирован (http://mailman.alsa-project.org/pipermail/alsa-devel/2015-No...) релиз звуковой подсистемы ALSA 1.1.0 (http://www.alsa-project.org), который включает в себя в основном исправления ошибок (http://www.alsa-project.org/main/index.php/Changes_v1.0.29_v...) и несколько новых подсистем. Новая версия затрагивает обновление библиотек, утилит и плагинов, работающих на уровне пользователя. Драйверы развиваются синхронно с ядром Linux.В ветке 1.1 добавлен новый пакет tinycompress (http://git.alsa-project.org/?p=tinycompress.git), в котором обеспечена поставка библиотек с поддержкой различных форматов сжатия звука. В рамках Topology API представлена возможность преобразования текстового описания топологий DSP (PCM, DAPM-элементы, манифесты, блоки управлния, приватные данные) в воспринимаемый ядром бинарный формат. Для построения топологий предлагается утилита alsatplg. Добавлен тестовый инструментарий BAT (basic audio tester) с набором функций для анализа спектра, преобразования, генерации, записи и воспроизведения сигналов.
URL: http://mailman.alsa-project.org/pipermail/alsa-devel/2015-No...
Новость: http://www.opennet.me/opennews/art.shtml?num=43284
Теперь-то OSS - кстати, где он? - точно капец!
Тут уже альса-капец не за горами =)
Шучу конечно альса есть базис, жаль для пользователей в чистом виде практически бесполезен.
> для пользователейЧто значит "для пользователей" и что значит "в чистом виде"? Я вот из mplayer и mpg123 напрямую через альсу звук направляю - это "в чистом виде" или нет?
А можно алсой настроить дублирование выхода звука на динамики и отдать его в порт микрофона? Ну или просто переназначить без дублирования.
Что вы минуете? Реальная проблема. Звуковуха с 6 входами/выходами, гнездо под колонки уже расшатано, в винде средствами ПО реалтека идущим с драйвером можно переназначить порт вывода звука. А как в алсе? И можно ли так вообще делать?
Если у вас 6 канальная система можно продублировать звук в каналах. На примере deadbeef: Настройки-->Звук-->Модуль вывода (alsa output plugin)-->Устройство вывода (HDA Intel (у вас сво 5.0
Взглюкнуло. Полный ответ ниже.
> Звуковуха с 6 входами/выходами, гнездо под колонки уже расшатаноВот это, я понимаю, настоящий аудиофил.
Если у вас 6 канальная система можно продублировать звук в каналах. На примере deadbeef: Настройки-->Звук-->Модуль вывода (alsa output plugin)-->Устройство вывода (HDA Intel (у вас может быть свой кодек) 5.0.
Для просмотра фильмов чуть муторнее. На примере smplayer:
Настройки--->Звук-->Устройство вывода (alsa (HDA) у вас может быть свое)--->Каналы по умолчанию (6). И чтоб не получилось, что вы через стереодинамики услышали только фоновый шум или ,например, "выпал" перевод, то не забудьте в верхнем меню smplayer "Звук" выставить галку в "Каналы" на стерео. Тогда несколько каналов звука фильма smplaer`ом будут сведены в стерео, а alsa на выходе стерео продублирует в 6 выходов. Переназначение линейного\микрофонного входа на выход может быть и возможно средствами проприетарного драйвера (если такой есть на сайте производителя), но обычно они малофункциональны под linux. Для производителя это лишние затраты.
Минус же вам!
При чём тут приложения?
Всё делается конфигом альсы/пульсом
> Минус же вам!
> При чём тут приложения?
> Всё делается конфигом альсы/пульсомОбоснуйте. На примере конфига alsa, так чтоб задавшему вопрос было понятно, куда смотреть и где что изменять. Мне тоже интересно.
Спасибо за подробный ответ, но это ведь решение на уровне конечного ПО, что не есть гуд. Видео смотрю в vlc, т.е. придётся по особому возиться, а например запуская warthunder так вообще вряд ли разрабы придусмотрели такой гибкий функционал для звуковывода ...
Смотрите список устройств alsa (aplay -L). В любимом плеере проверяете какое устройство соответствует нужному выходу. Далее прописываете его в ~/.asoundrc или /etc/asound.conf как устройство по-умолчанию.Например: вы узнали, что нужное устройство называется rear. Соответственно в ~/.asoundrc добавляем следующую строку:
pcm.!default rear
Во-первых, было бы идеально, если б устройство rear существовало само по себе. Но нет такого устройства. Есть front, front+rear или front+rear+center и т.д.. Как же видеоплейер поймет, что ему надо делать копирование front в rear, а не разносить каналы один-в-один при просмотре фильма с многоканальной аудиодорожкой? Все равно не избежать предложенной мной настройки видеоплейера.
Во-вторых, не знаю, что у вас за система, у меня в альтлинуксе упомянутых вами файлов нет,настройка алса находится
usr/share/alsa и рулит там alsa.conf и недра у него мутные. Из него отсылка идет в usr/share/alsa/cards/HDA-intel.conf в моем случае. Не все так очевидно, как кажется.
> Во-первых, было бы идеально, если б устройство rear существовало само по себе.
> Но нет такого устройства.Возможно, зависит от звуковой платы, но вообще должно быть. Покажите вывод "aplay -L".
> Есть front, front+rear или front+rear+center и т.д..
> Как же видеоплейер поймет, что ему надо делать копирование front в
> rear, а не разносить каналы один-в-один при просмотре фильма с многоканальной
> аудиодорожкой? Все равно не избежать предложенной мной настройки видеоплейера.Скорее всего зависит от плеера.
> Во-вторых, не знаю, что у вас за система, у меня в альтлинуксе
> упомянутых вами файлов нет,Это файл пользовательских настроек, если его нет - значит вы ничего не настраивали и его нужно создать.
> настройка алса находится
> usr/share/alsa и рулит там alsa.conf и недра у него мутные. Из него
> отсылка идет в usr/share/alsa/cards/HDA-intel.conf в моем случае. Не все так очевидно,
> как кажется.Это настройки alsa, которые выбираются автоматически исходя из подключенного железа, трогать их без четкого понимания того, что делаешь не нужно. Тем более они обновляются вместе с alsa.
>Покажите вывод "aplay -L">[atom@comp-atom-cpu-38ab6b ~]$ aplay -L
null
Discard all samples (playback) or generate zero samples (capture)
default:CARD=Intel
HDA Intel, ALC662 rev1 Analog
Default Audio Device
sysdefault:CARD=Intel
HDA Intel, ALC662 rev1 Analog
Default Audio Device
front:CARD=Intel,DEV=0
HDA Intel, ALC662 rev1 Analog
Front speakers
surround40:CARD=Intel,DEV=0
HDA Intel, ALC662 rev1 Analog
4.0 Surround output to Front and Rear speakers
surround41:CARD=Intel,DEV=0
HDA Intel, ALC662 rev1 Analog
4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=Intel,DEV=0
HDA Intel, ALC662 rev1 Analog
5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=Intel,DEV=0
HDA Intel, ALC662 rev1 Analog
5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=Intel,DEV=0
HDA Intel, ALC662 rev1 Analog
7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
>Скорее всего зависит от плеера>В любом аудиоплейере, где есть доступ к настройкам алса это дублируется. В smplayer`е то же будет выбрано через графическую морду.
Покажите вывод "aplay -l".
> HDA Intel, ALC662 rev1 AnalogПрошу не заострять внимания, что кодек двухканальный, с чего пишу (нетбук), такой выхлоп и отправил. На компьютере сына кодек ALC 882 и продвинутая система ввода-вывода, выхлоп aplay -L почти такой-же, только пошире по количеству конфигураций. Кстати, дублирующий выход на наушники не работает.
> Прошу не заострять внимания, что кодек двухканальный, с чего пишу (нетбук), такой
> выхлоп и отправил. На компьютере сына кодек ALC 882 и продвинутая
> система ввода-вывода, выхлоп aplay -L почти такой-же, только пошире по количеству
> конфигураций. Кстати, дублирующий выход на наушники не работает.В общем глянул я что там с интегрированными hda кодеками: там физически единый многоканальный цап + микшер. Соответственно нет отдельных подустройств, как на нормальных платах с хорошими стерео цапами.
Соответственно есть два решения проблемы.
1. Программно поменять каналы местами. Начать можно отсюда: http://alsa.opensrc.org/Splitting_front_and_rear_outputs_.as... , но у меня сходу это решение не заработало.
2. Путем махинаций над микшером можно переназначить входы/выходы. Но проблема в том что тут нет единого стандарта и на каждой мат. плате решение будет несколько иным. Вроде есть gui под все это дело: http://www.alsa-project.org/main/index.php/HDA_AnalyzerНо мы не ищем легких путей ;) Нам (по крайней мере мне) интересно как оно управляется на самом деле.
И так все для случая с одной (интегрированной) звуковой платой.
1. Открываем /proc/asound/card0/codec#0. Там мы видим все возможные узлы (Node) управления микшером. Нужно найти узел на который по-умолчанию идет звук. Это будет один из узлов [Pin Complex]. У меня этот узел найти было легко - в описании было Control: name="Line Out Jack" и Color = Green.
2. Из этого узла нам нужно число описывающее его конфигурацию - у меня это "Pin Default 0x01014410".
3. Ищем узел который мы хотим перенастроить: у меня это Node 0x1a, обнаружена по содержимому ([Pin Complex] + Control: name="Surround Playback Switch" + Color = Blue).
4. Применяем конфигурацию из первого узла ко второму:
echo 0x1a 0x01014410 > /sys/class/sound/hwC0D0/user_pin_configs
echo 1 > /sys/class/sound/hwC0D0/reconfigВсе аудио приложения должны быть закрыты. Иначе в dmesg будет:
[ 5487.877419] sound hdaudioC1D0: hda-codec: reconfiguring
[ 5487.877432] sound hdaudioC1D0: The codec is being used, can't reconfigure.
>Соответственно есть два решения проблемы>Далее понятно, вы настолько глубоко в теме, что для вас написать драйвер звуковой карты "на коленке" или переконфигурировать generic под свою карту плевое дело. :) Получается, подытожив, что предложенный мной способ настройки выхода алса в приложениях все-таки более жизнеспособен в применении обычными пользователями, такими же как и я.
>Но мы не ищем легких путей>Да, мы ищем легчайшие. :)
> Далее понятно, вы настолько глубоко в теме, что для вас написать драйвер
> звуковой карты "на коленке" или переконфигурировать generic под свою карту плевое
> дело. :)С алсой в целом знаком, но микшер hda (как и сами hda ;) всегда обходил стороной. Вот и решил пополнить знания.
> Получается, подытожив, что предложенный мной способ настройки выхода
> алса в приложениях все-таки более жизнеспособен в применении обычными пользователями,
> такими же как и я.Увы - нет. Большинство приложений просто не получится так настроить.
> Да, мы ищем легчайшие. :)
Тут много вариантов:
1. Купить новое железо.
2. Попробовать упомянутый gui.
3. Попросить понимающих помочь перенастроить выходы.
4. Накатить jack и манипулировать соединениями как угодно. Правда сам jack не для новичков, да и overkill :)
> Во-первых, было бы идеально, если б устройство rear существовало само по себе. Но нет такого устройства.Как вариант можно попробовать прописать не имя подустройства, а его номер:
pcm.!default "plughw:0,1" или pcm.!default "plughw:0,2".
>Звуковуха с 6 входами/выходами, гнездо под колонки уже расшатано>Самое простое решение - купите простенькую внешнюю звуковую карту для ноутбука за 10-15 USD в виде usb-свистка. Раньше были Creative, сейчас китайские noname. В Linux хорошо определяются и по качеству звука получше того же alc662.
Можно, RTFM на английском
Да.
"Для пользователей" это значит из коробки, автоматическое подцепление устройств без правки конфигов. В "чистом виде" это значит без дополнительных демонов а ля пульсаудио, которые таки делают его "для пользователей".
Толстячок-то какой :)
>OSS - кстати, где он?Где, где... В BSD'е!
>Теперь-то OSS - кстати, где он? - точно капец!У меня во Фряхе OSS4 и он отлично работает, а не свистит, пердит и жрёт проц и оперативку, как PulseAudio.
> а не свистит, пердит и жрёт проц и оперативку, как PulseAudio.Рассказывайте сказки дальше.
Пульсокапец :-)
apulse пусть в основную ветку возьмут.
Да apulse, очень полезная программа - без нее в skype звука нет :(
Да, skype, очень вредная программа - без костылей звука нет xD
Microsoft очень вредная контора: покупает программы и портит их. :)
И зачем в альсе вообще нужен этот не поддерживаемый / не развивающийся костыль?
Берут код, который a) востребован, б) идет разработка и есть мейнтейнер и в) к месту в этом проекте.К apulse относится разве что первое, но только в контексте скайпа. Вывод - его нужно брать в ветку скайпа, а не альсы. Ну или если в ветку скайпа не берут, просто заворачивать в дистрибутивный пакет вместе со скайпом (да, я прекрасно знаю - лицензионные проблемы и все такое..).
Только с новой пульсой починили отобрадение выбора каналов входов/выходов Xonar U7, как новая альса привела это к виду "нет выбора". Только устройство без выбора канальности системы и прочего.
А нет. Перезагрузил машину и все как было.
На localhost работает, уехало в сизиф: http://git.altlinux.org/tasks/archive/done/_149/152910/
ABI сломан?