LINUX.ORG.RU

Дайте HOW_TO по настройке alsa

 


0

1

Всё никак не получается настроить alsa.
Никак не могу нагуглить решения нужных вопросов.

1) нужно настроить перепутанные по-дефолту каналы, чтоб было 4.1
2) задать частоту дискретизации
3) задать bitrate в 24, т.к. карта позволяет

Есть ли вообще нормальные HOW_TO в интернете? То что находил на archwiki — без предварительных разъяснений погружает в редактирование конфига, без понимания сути того, что ты там прописывашь. А про настройку каналов, битрейта и дискретизации там походу вообще нет! Хотелось бы хотя бы настроить и разобраться для начала в базовых вещах, а не читать статью про список непонятных функций и переменных, которая непонятно для кого написана.

★★★★★

Последнее исправление: teod0r (всего исправлений: 1)
Ответ на: комментарий от Gotf

там же ничего не понятно. где там конкретно ответы на мои вопросы? где там разъяснение структуры синтаксиса модулей и плагинов? с чего вообще начать?

teod0r ★★★★★
() автор топика
Ответ на: комментарий от teod0r

где там конкретно ответы на мои вопросы?

В статьях, сообщает Капитан.

где там разъяснение структуры синтаксиса модулей и плагинов?

Чо? http://alsa.opensrc.org/Asoundrc, не?

с чего вообще начать?

Попробуй со ссылки выше. Ответы на все вопросы там есть, нужно просто читать.

Я тебе могу ответить на второй и третий вопросы:

2) По умолчанию 48 кГц. Задать, в частности, можно директивой типаdefaults.pcm.dmix.rate 48000.

3) Нет смысла, но если прямо так хочется, то можно, в частности, вот так: defaults.pcm.dmix.format "S24_3LE". А можно и в конкретном pcm.

По первому вопросу читать статью про asoundrc, там есть какие-то примеры.

Gotf ★★★
()

Я более пяти лет назад решил подобные вопросы путём $yourpm install pulseaudio и с тех пор меня вопросы «как там настраивать алсу» не беспокоят.

redgremlin ★★★★★
()
Ответ на: комментарий от redgremlin

Ну что ты так, а вдруг ТС совсем даже не ЛОРовский красноглазый пионер пульсо-фоб, и ему действительно нужна какая-то хитрая конфигурация альсы? ::смайлег::

mos ★★☆☆☆
()

Нормальной документации по ALSA нет, читай wiki, кури исходники.

Если под настройкой битрейта и дискретизации ты понимаешь параметры dmix, то ковырять их смысла действительно немного. Просто выбирай hw устройство в проигрывателе, когда важно качество звука.

Deleted
()
Ответ на: комментарий от Deleted

Просто выбирай hw устройство в проигрывателе, когда важно качество звука.

Не-не-не, Дэвид Блэйн. На встройках и большом количестве отдельных ЗК это только ухудшит качество, когда вместо качественного программного алгоритма будет то, что воткнули в железку её создатели. Если музыка в 44.1, а у ЗК базовая частота 48, то лучше делать всё софтом.

Gotf ★★★
()
Ответ на: комментарий от Gotf

Если музыка в 44.1, а у ЗК базовая частота 48, то лучше делать всё софтом.

Такие разве еще остались? Например, Intel HDA — там фиксированная частота или нет?

Deleted
()
Ответ на: комментарий от Deleted

На Intel HDA сплошь 48 кГц. Они и 44.1 прожуют, но с внутренним преобразованием. Артефакты слышны даже не особо вооружённым ухом.

Gotf ★★★
()
Ответ на: комментарий от Gotf

2) По умолчанию 48 кГц.

в привёдённой ссылке вроде как говорится, что оно выбирает максимально возможный в зависимости от проигрываемого файла. т.е это не надо специально задавать? как проверить например, что воспроизводимый файл играет на 96 кГц, а не на 48?

defaults.pcm.dmix.format "S24_3LE"

а как это запихнуть в

defaults.pcm {
    type hw
    card 1
}
? что значит 3LE и как узнать какие поддерживаются?

По первому вопросу читать статью про asoundrc, там есть какие-то примеры.

там не то. там про разделение каналов для проигрывания разных файлов на разных каналах; и объединение всех каналов в mono. мне же нужно вручную настроить неправильно определённые каналы: из 4-х играет только 2, причём 1 из них смешан с сабом в 1! Помогите настроить звук

teod0r ★★★★★
() автор топика
Ответ на: комментарий от teod0r

как проверить например, что воспроизводимый файл играет на 96 кГц, а не на 48?

/proc/asound/**/hw_params

а как это запихнуть в

Никак, это не для определений pcm.

что значит 3LE

Там ошибка, «32LE». Это формат.

как узнать какие поддерживаются?

Опытным путём.

там не то

Там должны быть все нужные ключевые слова. Проблема обычная, в гугле полно руководств. Даже на этом форуме я их видел немало. Конкретно подсказать не могу, не пользовался.

Я не специалист по этой херне, тебе лучше погуглить или дождаться более разбирающихся в теме. Также тебе дали хороший совет — поставить pulseaudio.

Gotf ★★★
()
Ответ на: комментарий от Eddy_Em

Авторы PA не настолько наркоманы, чтобы настраивать эту кривулину. PA просто использует plughw, оставляя все преобразования себе.

Gotf ★★★
()
Ответ на: комментарий от Gotf

Да шо ты говоришь! Говнопульса — это сраное коровье седло. Надстройка над бэкендом в виде альсы или оссы. Параша, одним словом.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

Да шо ты говоришь!

Есть что возразить?

Надстройка над бэкендом

Я сказал что-то другое? «plughw» — это как раз ALSA.

Gotf ★★★
()
Ответ на: комментарий от Eddy_Em

Там свой ресэмплер. Ещё раз: используется только plughw, иначе говоря, «hw:X,Y».

Gotf ★★★
()
Ответ на: комментарий от Deleted

на Intel HDA(via кодек) нет артефактов при воспроизведении стандартных 44.1khz, в отличии от creative-овского говна

anonymous
()
Ответ на: комментарий от Gotf

у меня известный udial без артефактов играет. чяднт?

anonymous
()
Ответ на: комментарий от Gotf

На Intel HDA сплошь 48 кГц. Они и 44.1 прожуют, но с внутренним преобразованием.

Пруфлинк на соответствующее место спецификации можно? Я вот сколько не искал, так и не нашел конкретики по этому вопросу.

P.S. Как тогда эти карты частоты > 48 кГц поддерживают? Например, вот у меня пишет:

$ cat /proc/asound/PCH/codec#0
Codec: Realtek ALC1150
[...]
Default PCM:
    rates [0x5f0]: 32000 44100 48000 88200 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM

Все, что выше, оно тупо даунсемплит что-ли? Как-то слабо верится.

Deleted
()
Ответ на: комментарий от Gotf

Там должны быть все нужные ключевые слова. Проблема обычная

я б не сказал, что проблема обычная. ничего пока не нашёл. находил одну статью про перепиновку каналов (ссылка есть в другой теме, на которую я давал ссылку), но там ничего не понятно. не сказано где брать нужные параметры. а может это вообще не то.
действительно, нет нормальной документации по альсе. многие ссылки — 404, многие — пустые страницы.

-в общем проблема с каналами остаётся открытой

teod0r ★★★★★
() автор топика
Ответ на: комментарий от Deleted

Пруфлинк на соответствующее место спецификации можно?

Пруфлинка нету. Просто звуковой кодек станет намного дороже, если в нём будет два генератора опорной частоты (хз, как правильно называется).

Как тогда эти карты частоты > 48 кГц поддерживают?

Ресэмплингом. Кратные 48 — без потерь, остальные с теми или иными искажениями.

Все, что выше, оно тупо даунсемплит что-ли?

См. выше. 48 кГц — опорная частота, она не единственная. В некоторых ЗК используется два частотных генератора: 44.1 и 48. Отвечают также за частоты 88.2 и 176.4, 96 и 192 соответственно. Но это не так уж и часто встречается. У меня в Xonar D1 только 48, в более дорогих представителях семейства, говорят, тоже. Но в спеках ЦАП упоминается какой-то костыль для 44.1… Но не кратных ей. Вот такая вот каша.

Gotf ★★★
()

alsa pcm syntax легко гуглится

Проблемы терминологии и доверия?

Зачем кнопка «Мне повезет» ?

anonymous
()
Ответ на: комментарий от anonymous

дело не в синтаксисе. отсутствует нормальная документация. как мне сделать, чтобы у меня все 5 каналов работали?

teod0r ★★★★★
() автор топика
Ответ на: комментарий от Gotf

ни один из нагугленных вариантов не заработал

teod0r ★★★★★
() автор топика
Ответ на: комментарий от Gotf

Никак, это не для определений pcm.

defaults.pcm {
    type hw
    card 1
    dmix.format "S24_LE"
}

так работает. но в /proc/asound/card1/pcm0p/sub0/hw_params почему-то показывает 32. если указать 16 — показывает 16. но я думаю всё нормально

teod0r ★★★★★
() автор топика
Ответ на: комментарий от teod0r

но в /proc/asound/card1/pcm0p/sub0/hw_params почему-то показывает 32. если указать 16 — показывает 16. но я думаю всё нормально

Да, это нормально. Может зависеть от воспроизводящего звук процесса (библиотеки, звукового сервера и т.д.).

Gotf ★★★
()
Ответ на: комментарий от Gotf

А возможно сделать так, чтобы сигналы смешивались по такой логике:
два источника, 16/44,1к и 16/48к, конвертация первого в 16/48к > смешивание.
По дефолту там кто первый встал того и тапки.
Если не возможно, придётся как сейчас с отключенным микшером сидеть.

polym
()

нужно настроить перепутанные по-дефолту каналы, чтоб было 4.1

Когда делаешь dmix, то там такое место есть:


playback.pcm {
type dmix
...
 bindings {
                        0 0
                        1 1
                        2 2
                        3 3
                        4 4
                        5 5
}

Вот это и есть соответствие каналов (в примере для 5.1). Ищи каналы тестом speaker-test.

Bfgeshka ★★★★★
()
Последнее исправление: Bfgeshka (всего исправлений: 1)
Ответ на: комментарий от Bfgeshka

-c

я это знаю
показывает 2 канала. про остальные — пишет UNUSED или просто тишина (в зависимости от того, задано ли дефолтное устройство в asound.conf или нет)

teod0r ★★★★★
() автор топика
Ответ на: комментарий от Gotf

Ну там, в алсе должно быть, кроме неё ничего не стоит. По дефолту алгоритм такой:
Источник звука - браузер с ютубом например, 16/44,1. Если не закрывая окна с ютубом запустить кинцо со звуком в 16/48 оно софтверно конвертируется в 16/44, смешивается с первым источником и подаётся на звуковую карту.

Сейчас микшер отключен через .asoundrc:
[code]pcm.!default {
type plug
slave.pcm hw
}[/code]

Вопрос в том, возможно ли через asoundrc реализовать алгоритм из поста выше.

polym
()
Ответ на: комментарий от polym

Источник звука - браузер с ютубом например, 16/44,1. Если не закрывая окна с ютубом запустить кинцо со звуком в 16/48 оно софтверно конвертируется в 16/44, смешивается с первым источником и подаётся на звуковую карту.

Ты ошибаешься, оно всегда конвертируется в 48 кГц. Вернее, по умолчанию именно в 48. То, что ты описал, возможно сделать в Pulseaudio, больше такого нет нигде.

Для полной уверенности можешь прописать

defaults.pcm.dmix.rate 48000

Gotf ★★★
()
Последнее исправление: Gotf (всего исправлений: 1)
Ответ на: комментарий от Gotf

Может где-то и всегда, но когда я решил послушать аудиодрочерский хайрез (24/96) с открытым окошком ютуба - ничего в 48к не конвертировалось, конвертировалось в 41к, изначальный формат звука с ютуба. Когда закрыл браузер и перезапустил воспроизведение в плеере - звуковушка переключилась на 96к.

Звуковая карта поддерживает все актуальные сейчас частоты дискретизации, смысла прописывать принудительную конвертацию в 48к нет.

Коли через asoundrc не запилить такого, спасибо что избавил от бессмысленного ковыряния в оном.

polym
()
Ответ на: комментарий от polym

Может где-то и всегда, но когда я решил послушать аудиодрочерский хайрез (24/96) с открытым окошком ютуба - ничего в 48к не конвертировалось, конвертировалось в 41к, изначальный формат звука с ютуба. Когда закрыл браузер и перезапустил воспроизведение в плеере - звуковушка переключилась на 96к.

У тебя ЗК со своим микшером, а dmix не используется?

Звуковая карта поддерживает все актуальные сейчас частоты дискретизации, смысла прописывать принудительную конвертацию в 48к нет.

Да можно фигачить всё в 192 кГц :)

Gotf ★★★
()
Ответ на: комментарий от Gotf

Вряд ли у неё микшер есть, не помню уже тонкостей. Карточка esi julia, встроенная отключена. До тех пор пока не отключил микширование работало именно так как я описывал.

Да можно фигачить всё в 192 кГц :)

Можно, но на столь донном уровне не стоит этим забивать голову, ибо сигнал/шум не оче в этом режиме будет. А на шикарном тракте можно на это попросту забить, ибо нефиг. Как-то так.

polym
()
Ответ на: комментарий от anonymous

Так же как сейчас - никак. Одного источника звука за раз хватит. Я и коньки прилепил только с одной целью - показывают занята ли звуковая карта и частоту из /proc/asound/card0/pcm0p/sub0/hw_params.

polym
()
Ответ на: комментарий от teod0r

Без центра разговоры в фильмах иногда сложно разобрать.

handbrake ★★★
()

Есть ли вообще нормальные HOW_TO в интернете?

Нет. По определению быть не может.

HOW-TO это как раз: открываем холодильник достаем палку калбасы, отрезаем кусочек и кладем на хлеб поверх масла.

Откуда взялась калбаса, вареная она или сырокопченая, откуда взялось масло на хлебе да и сам хлеб HOW-TO не уточняет

TEX ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.