LINUX.ORG.RU
решено ФорумTalks

А почему работа со звуком такое говно?

 , , , ,


4

3

Пускаю

LSA: Cannot open device 'hw:SB,0': Устройство или ресурс занято
ALSA: Cannot open device 'hw:SB,0': Устройство или ресурс занято

У всех всё не занято у него занято, открыввется, типа всё работает, а звука нет. У всех есть, а ему спляши с бубном для работы. И он этот ardour всегда такой был

Ладно запускаю jackd -d alsa

Презапускаю и выбираю jack как ввод вывод

Редактор открывается и появляется окно с выбором другой сесии? o_O мол делай по другому. Куда ему по другому? В редактор сам не пускает, тролит окном с выбором новой сесии=, а потом закрывается. Настроек адекватных выбора устройства в ручную нет.

Думаю, ну и хер с тобой запущу calfjackhost а звук подавать буду из audacity. Обломись и лососни тунца

И да, на кой хер нужен pulseaudio если с ним вообще ничего не работает из звукового что чуть больше чем hello world?

Я тут не для решения проблемы, меня просто бомбануло. Звуковые системы что корневая alsa которая нибельме не может сама по себе, что pulsa комбайн лапши интерфейсов с которым только тупые плееры и работают, надмозгный jack который по принципу либо я либо никто и если что не так хрен ты поймёшь что именно.

Ужос, блевать хочется. Я понимаю что лалкать тоже не хорошо, бери мол да исправь как надо исходники есть. Но я чисто со стороны домохозяйки. Надо наложить цепочку эффектов на звук и всё. Но каждый раз надо космоческие технологии городить делать 100500 подпорок и прочее. Ну надо мне в браузере пресеты прослушивать, которые потом скачивать и добавлять в редактор, но если явно или вынужденно мне нужен jack то браузер уже не алё, звука не будет.

Открыл LLMS он по умолчанию не может просто проиграть звуковой файл целиком он берёт 2 секунды начала и гоняет по кругу. Дадада я заметил как сделать по номальному, но блин.

Плак. Дадада у меня лапки и всё такое. Но …

У меня всё. Я то ща разберусь. Но блиииииин. жОпка.


#UDP: Через жопу ну да ладно

Пускаем в терминале (никаких конфигов трогать не надо)

pulseaudio --kill  #на всякий 
pulseaudio --start #случай
jackd -d alsa & sleep 5;
pactl load-module module-jack-sink channels=2;
pactl load-module module-jack-source;
pacmd set-default-sink jack_out
qjackctl;

В открывшемся qjackctl открываем сначала настройки и убираем галку с реалтайма на будущее что-бы потом не словить сюрприз от ardour5 или иных. Затем открываем граф и наблюдаем что всё ок модули pulsa-jack подхватились. Не забываем открыть pavucontrol и если звука (от браузера например) нет то там просто поменять на вкладке «воспроизведение» через jack-sink чтобы было.

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

Никаких конфигов трогать не надо, если нужен прям реалтайм то не знаю, с ним всё отваливается. Мне он не нужен

Всё. Всем спасибо. @ZenitharChampion спасибо за наводку

Покупаешь мак или ставишь винду, там всё работает.

K50 ()

Достаточно ALSA. А у тебя там все трое, и наверняка они друг другу мешают. Посмотри как сделано здесь - там подружили PulseAudio и JACK. Я переписывался с автором, вот отрывок письма:

После создания последнего выпуска моего live'а решил полностью отвлечься от всего технического, так как он занял дикую кучу времени и усилий, а дальнейшие планы не сделают этот процесс проще. Свою сборку openSUSE я как раз таки начал в попытках собрать всё полезное и удобное для опытного пользователя в простом и малом дистрибутиве. openSUSE - это то, с чего я начинал более 10 лет назад, и что по прежнему является простейшим бинарным дистрибутивом не стесняющим пользователя зазря. Хотя, последние тенденции в руководстве проекта, а также тенденции GNOME, KDE и Mozilla меня крайне удручают. На днях увидел такую дикость: https://build.opensuse.org/request/show/394666 - из всей официальной rolling-сборки openSUSE под названием Tumbleweed удалили live-установщик, что делает его неустанавливаемым на практически всех desktop-сборках Зузи из того же Suse Studio. Сделал это не кто иной как нынешний руководитель всего проекта. Потому что якобы «он постоянно ломается» (хотя, у меня работает прекрасно), «особенно на системах с SecureBoot» (ленивые, неспособные его отключить владельцы ноутбуков с Windows 10 негодуют, ага; правда, они такое и не используют).

...

По поводу PA: удивительно как эта жирная, малоэффективная зараза вообще нашла место в дистрибутивах. Ресурсов жрёт непомерно, по дизайну игнорирует все способности звуковых чипов. Это особенно печалит, так как нынешние встроенные чипы по качеству не уступают профессиональным 10-летней давности. Я решил эту проблему просто, хоть и после долгих соображений:
1) Отключил автозагрузку PA при начале пользовательской сессии (autospawn=no), выставил для него качество эквивалентное JACK по-умолчанию (32-битное float-кодирование, 48kHz, правда, точность алгоритма resampling понизил), установил загрузку модуля автопоиска звуковых устройств для подчинения (module-udev-detect) после ручной загрузки поддержки JACK (module-jack-{sink,source}), что позволяет не давать PA доступа к главной звуковухе, используемой JACK. Посмотреть можно в https://github.com/v-fox/live_opensuse_hsf/tree/master/data/common-userfiles/...
2) Поставил конфигуратор и запускатель JACK QJackCtl в автозагрузку сессии, а в нём включил автозапуск PA, после инициализации сервера JACK. https://github.com/v-fox/live_opensuse_hsf/tree/master/data/common-userfiles/...
3) Прогнал весь звук через «мастеринговую» систему JAMin, в качестве глобального эквалайзера-компрессора, из-за чего вообще и начал использовать JACK. Это не нужно, но я тогда как раз купил полупрофессиональные мониторные DJ'ские наушники Sennheiser HD215 с «сухим» звуком, что заставило меня искать способ сделать себе «пульт управления звуком на лету», так как остального DJ'ского железа у меня нет, а мне уже осточертели резкие перепады громкости или недочёты в исходниках (особенно в интервью, записях с конференций и тп.). Конечная конфигурация получилась идеальной для меня - https://github.com/v-fox/live_opensuse_hsf/tree/master/data/common-userfiles/... - не смотря на то, что JAMin давно не разрабатывается. Пихать звук от всех программ в него, как сделал я с помощью автоматического перенаправления через JACK Patchbay в том же QJackCtl, конечно, не обязательно.
4) Разрешил приоритет realtime, высокий приоритет исполнения и большой объём «заблокированной» памяти для пользовательских процессов; выключил «высеры» слепков памяти при падении пользовательских приложений, чтоб те не портили realtime для JACK. https://github.com/v-fox/live_opensuse_hsf/blob/master/source/root/etc/securi... - не уверен в большой правильности таких значений в целом, но вроде работает как надо.

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

Готовые конфиги можешь взять из дистра, в котором всё уже настроено. Ссылку я давал, ещё есть репо на Гитхабе: https://github.com/v-fox/live_opensuse_hsf

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

Выглядит как невероятный костыль. Но попробую. То есть если спустить воду, сначала мы пускам jack который намертво хватает альсу и главное устройство, затем пускаем уже пульсу поверх jack и таким образом получается не будет конфликтов по итогу? Попробую. Спасибо

LINUX-ORG-RU ()
Ответ на: комментарий от LINUX-ORG-RU

Я скачивал его сборку openSUSE и запускал на реальном компе. На втором виртуальном рабочем столе - огромный микшер с кучей крутилочек. Как именно всё работает, я не понимаю.

Я где-то читал, что если приложение вовремя не отдаст звук, то JACK чувствует себя очень плохо.

Судя по всему, в этой сборке проги работают с PulseAudio, который работает поверх JACK, чтобы не было, как описано в комменте по ссылке выше.

ZenitharChampion ★★★★★ ()

не понял что у тебя там заняло, что не может занять и что надо вообще

deep-purple ★★★★★ ()
Ответ на: комментарий от ZenitharChampion

На втором виртуальном рабочем столе - огромный микшер с кучей крутилочек.

А что за микшер? Иль хотя бы картинку

LINUX-ORG-RU ()
Ответ на: комментарий от deep-purple

Пердольство на ровном месте там где его быть не должно по определению.

LINUX-ORG-RU ()
Ответ на: комментарий от LINUX-ORG-RU

не, давай выжимку конкретики - умвр и я знаю как оно работает

deep-purple ★★★★★ ()
Ответ на: комментарий от ZenitharChampion

на картинке спектр и трехполосный компрессор - эта какая-то херь для мастеринга?

deep-purple ★★★★★ ()
Ответ на: комментарий от LINUX-ORG-RU

если хочешь чтоб ардор не лочил звуковуху - выбирай устройство default, а не эти все чо там у тебя.

deep-purple ★★★★★ ()
Ответ на: комментарий от LINUX-ORG-RU

Ты же линуксоид. Должен быть готов к пердолингу всегда.

K50 ()

У всех всё не занято у него занято, открыввется, типа всё работает, а звука нет.

Cannot open device ‘hw:SB,0’

Он хочет получить эксклюзивный доступ, без микшеров и преобразований. Две программы не могут иметь эксклюзивный доступ к одному устройству. Выключи всё остальное, что пытается выводить звук, и тогда заработает.

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

Он хочет получить эксклюзивный доступ

Ага это при запуске ещё до выбора устройства в сесии, если альса то не может получить монополию, я не могу закрыть иные приложения , они нужны, пошол ардоур в жопу, короче он не робит, затем я врубаю реалтайм jackd ardour говорит что я не буду запускать jack а подключусь…. спустя секунду «ой я не могу подключится» сорян, хотя audacity и pianoteq подключились спокойно, хорошо, никакого реалтайма и вооот тепееерь оно соизволило звук дать. Но вот беда, у меня персеты в браузере ещё не скачаны и не прослушаны… надо jack вырубать, вырубаю и ardour всё … кря коворит более при включении jackd он не робит от слова совсем. Зенитар пнул в сторону костыля. Костыль я в шапке указал. Тьфу тьфу заработало. Но это слоёный пирог в виде alsa->jack->pulse выглядит аляпово ну или мне так кажется и я уже просто придираюсь.

LINUX-ORG-RU ()
Ответ на: комментарий от LINUX-ORG-RU

ой я с порядком перепутал это jack через, а не через него. Ну понятно короче. Всё равно костыли. Можно назвать это комуникацией, но чёт фии :D

LINUX-ORG-RU ()
Ответ на: комментарий от LINUX-ORG-RU

У тебя в системе jack и pulseaudio хотят плотного доступа к звуковухе. Конечно они не дружат. Если пускать jack и pulseaudio через alsa dmix, работать они будут, но тогда теряется смысл в jack. Поэтому если хочется иметь jack, то только jack цепляеть к hw alsa, а pulseaudio цеплять к jack. Другой разумной конфигурации нет.

Если тебе записывать звук, то проще будет вообще выбросить PulseAudio. Зачем тебе нужен ещё какой-то левый звук на станции, где работают со звуком?

i-rinat ★★★★★ ()

работа со звуком отличная, в отличие от винды

драйверы вот только не всегда есть

kott ★★★★★ ()
Последнее исправление: kott (всего исправлений: 1)

Раньше помню на одной из версий Fedora был способ просто запустить jackctl --start (или как-то так), и пульсаудио автоматом перепрыгивала на pulse-jack-sink, и продолжала работать поверх jack.

Всегда думал, что рано или поздно в дефолтном конфиге pulseaudio это должно работать у всех, в том числе даже если что-то воспроизводится в это время через пульсу. Иначе смысл в этом говне вообще…

jeuta ★★★★ ()

pulseaudio --kill #на всякий

Посоветую бинарники пульсы основные удалить, а то оно любит разными способами самозапускаться. Либы оставить - так хоть софт не отвалится.

У всех всё не занято у него занято
Ладно запускаю jackd -d alsa
jackd

Сам виноват.

И да, на кой хер нужен pulseaudio

Он только поттерингу в резюме нужен.

Я тут не для решения проблемы, меня просто бомбануло. Звуковые системы что корневая alsa которая нибельме не может сама по себе

На что конфиг даден был и два мешка плагинов?

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

>> pulseaudio --kill #на всякий

> Посоветую бинарники пульсы основные удалить, а то оно любит разными способами самозапускаться. Либы оставить - так хоть софт не отвалится.

Можно добавить «autospawn = no» в конфиг Пульсы. Например так: echo "autospawn = no" >> ~/.local/pulse/client.conf В более старых системах, конфиг хранился тут: ~/.pulse/

>> Я тут не для решения проблемы, меня просто бомбануло. Звуковые системы что корневая alsa которая нибельме не может сама по себе

> На что конфиг даден был и два мешка плагинов?

Я смотрю, ты умный, много знаешь. Можешь помочь составить хороший конфиг ~/.asoundrc? Сейчас я, возможно, буду изъясняться, как нуб, но конкретно в этих вопросах я действительно ничего не понимаю.

Итак, У меня стационарный компьютер с SB Live!, и ноут с Intel HDA. Я хочу:

  1. Интересует чтобы, при использовании чистой ALSA, без «пульсы», ей было не важно, 44100 воспроизводить, или 48000. Насколько я вижу, ей и так не важно. Но как в этом убедиться наверняка? Я слышал, что настраивают сервер soxr для этого.
  2. Когда я запустил игру Trine 3, я увидел в pavucontrol странную вещь. Всегда приложения предлагали регулировать два канала (ну типа стерео). А тут вдруг четыре! Мне стало интересно, а много ли приложений умеют выводить 4.0 или 5.1. Выставил 5.1 в лаунчере War Thunder... и Пульса показала, что выводится всё равно стерео

    Мне интересно, можно ли, используя чистую ALSA, узнавать, что идёт на вывод: стерео, 4.0 или 5.1

  3. Как настроить 5.1 в случае с чистой ALSA? Как я понял, если приложение умеет 5.1, то оно будет выводить звук не в устройство default, а в устройство surround51. Может стоит сделать устройство surround51 дефолтным, а когда воспроизводится стереозвук, то пусть распределяется и на задние колонки тоже? Можно ли так сделать?
ZenitharChampion ★★★★★ ()
Ответ на: комментарий от ZenitharChampion

Интересует чтобы, при использовании чистой ALSA, без «пульсы», ей было не важно, 44100 воспроизводить, или 48000. Насколько я вижу, ей и так не важно.

Да. Можно добавить плагин rate для upsamplинга всего, например, к 48000 или 96000 силами libsamplerate. Можно ограничиться дефолтным plug, как автоматическим конвертером форматов.

Я слышал, что настраивают сервер soxr для этого.

Это уже не чистая ALSA.

Мне интересно, можно ли, используя чистую ALSA, узнавать, что идёт на вывод: стерео, 4.0 или 5.1

cat /proc/asound/[card_name]/pcm[N]p/sub0/hw_params

Там будут параметры, с которыми открыто hw-устройство ALSA. N - номер устройства вывода на выбранной карте. Обычно 0 для линейного выхода.

Может стоит сделать устройство surround51 дефолтным, а когда воспроизводится стереозвук, то пусть распределяется и на задние колонки тоже? Можно ли так сделать?

surround51 - встроенное устройство (которые, кстати, видно в aplay -L). Для defaultного стерео-устройства можно использовать плагин route, чтобы раскидать 2 на 4-6 каналов.

pcm.dmix0 {
    type dmix
    ipc_key 654321
    ipc_perm 0666
    slave {
        pcm "hw:0,0"
        rate 48000
        channels 6
        period_time 80000
        buffer_time 320000
        period_size 4096
        buffer_size 16384
    }
    bindings {
        0 0
        1 1
        2 2
        3 3
        4 4
        5 5
    }
    hint {
        show on
        description "6ch dmix"
    }
}

pcm.ch60dup {
    type route
    slave.pcm dmix0
    slave.channels 6
    ttable.0.0 1
    ttable.1.1 1
    ttable.0.2 1
    ttable.1.3 1
    ttable.0.4 1
    ttable.1.5 1
    hint {
        show on
        description "2 to 6 router"
    }
}

pcm.!default {
    type plug
    slave.pcm "ch60dup"
}

Suigintou ★★★★ ()

И да, на кой хер нужен pulseaudio

причём здесь пульс?
ты же сам написал, что добровольно пердолишься с jack и alsa

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

Достаточно ALSA. А у тебя там все трое, и наверняка они друг другу мешают.

о, а тем временем зинитар окончательно добивает заботливыми ударами ног лежачий линукс

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

cat /proc/asound/[card_name]/pcm[N]p/sub0/hw_params

Там будут параметры, с которыми открыто hw-устройство ALSA. N - номер устройства вывода на выбранной карте. Обычно 0 для линейного выхода.

там будет два канала, если 5.1 - то остальные надо искать в соседних subX

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

Посоветую бинарники пульсы основные удалить, а то оно любит разными способами самозапускаться.

винт отформатировать и инет отрубить, хтоя достаточно убрать галочку напротив звуковухи в pavucontrol

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

и куда они идут?

сам же писал, что sub0 - линейный выход

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

Покупаешь мак или ставишь винду, там всё работает.

Ага, конечно, все работает лол. Купил я вот usb-звуковуху Creative, в линуксе все заработало и продолжает работать без каких-либо действий с моей стороны. Только с крутилкой пришлось потрахаться, и то только потому, что я использую i3wm, в гноме она тоже работает из коробки.

А вот в винде.. дрова скачай/установи, хоткеи регулировки громкости как хочешь, так и настраивай. И очень часто она просто отваливается, нужно высунуть/всунуть usb-шнур. А в линуксе все просто работает.

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

со старыми звуковухами в линуксе действительно дела лучше, а вот с новыми - не очень, особенно с профессиональными

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

сам же писал, что sub0 - линейный выход

Я не писал, что это стерео выход. Идут на 6 цапов и 3 джека, вестимо. У моей карточки только один sub0 и есть для всего.

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

Audigy NX. 8 канальный dev0/sub0 с линейным выходом на 4 джека. Отдельный dev (тоже с единственным субдевайсом) на spdif выход.

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

достаточно убрать галочку напротив звуковухи в pavucontrol

Которая из? Для snd-usb-audio и встроек intel hda там нет никаких галочек, только 3.5 кнопки.

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

Можно добавить «autospawn = no» в конфиг Пульсы. Например так: echo «autospawn = no» >> ~/.local/pulse/client.conf В более старых системах, конфиг хранился тут: ~/.pulse/

Хм, работает. В глобальном конфиге в /etc/pulse/client.conf эта опция игнорируется.

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

Вкладка «Конфигурация» в профиле звуковухи выбрать «Off».

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

Всё равно запустилось после перезагрузки. autospawn = no - недостаточно. Поттерингу с таким подходом только вирусы писать. Wait. Oh shi~~.

Suigintou ★★★★ ()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)