Comments 59
www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/Modules
и «вдогонку»
askubuntu.com/questions/43950/how-can-i-apply-a-ladspa-plugin-to-a-pulseaudio-stream
к сожалению хороших гайдов еще не выгуглил, но доки намекают на немалые возможности… а ещё если все это «запитонить на гуях...»
Но есть другие чудеса в ubuntu. (У меня 14.04 LTS)
1. Например хочется записать звук который воспроизводится на колонки. Оказывается это делается весьма замысловато.
/etc/modprobe.d/sound.conf
options snd_hda_intel index=0
options snd_aloop index=1
/etc/modules-load.d/alsa-loop-device.conf
snd_aloop
/etc/asound.conf
pcm.xxx {
type plug
slave.pcm {
type multi
slaves {
a { channels 2 pcm "hw:0,0" } # the real device
b { channels 2 pcm "hw:1,0" } # the loopback driver
}
bindings {
0 { slave a channel 0 }
1 { slave a channel 1 }
2 { slave b channel 0 }
3 { slave b channel 1 }
}
}
ttable [
[ 1 0 1 0 ] # left -> a.left, b.left
[ 0 1 0 1 ] # right -> a.right, b.right
]
}
/etc/modules-load.d/alsa-loop-device.conf
asnd_loop
/etc/modprobe.d/sound.conf
options snd_hda_intel index=0
options snd_aloop index=1
2. Бывает что чудо редактор audacity любит воспроизводить звуки реликтового излучения.
env PULSE_LATENCY_MSEC=30 audacity
sudo apt install pavucontrol
pavucontrol
При замыкании разъёмов аудиовыхода/микрофона соответствующим сопротивлением можно инициировать запуск shell-скрипта?
Возможно, имеет смысл напрямую связаться и спросить как и что.
вот еще интересный, наверное, проект
там еще был какой-то проект по графическому проектированию звука, но наиболее зрелые что-то не очень-то и развиваются(ИМХО) ну и внезапные падение порой… случаются
Оплата работы — идет за время. Уменьшил скорость из-за освоения нового софта — все равно, что поднял расценки.
Звукорежиссеру очень важна программа, с которой идет работа. Тот самый автоматизм на уровне пальцев. Смена программы — это примерно год-два на освоение на уровне автоматизма. Даже смена версии происходит со скрипом из-за мелких отличий в интерфейсе.
Кроме программы используется набор плагинов, тем или иным способом, обрабатывающих звук. Часть из них купленная, часть — вылеченная «таблеткой от жадности», но в целом этот набор — подороже программы. И опять-таки, переучиться на другой набор — можно, но долго. А для плагинов из имеющегося набора, звукорежиссер просто знает, что при каких положениях ручек, этот набор выдаст.
Железо — очень специфично. Например звуковая карта за $5000 — это всего лишь АЦП, без ЦАП (для ЦАП — вторая звуковуха). Подключается оно по FireWire и предназначено для монтажа в стойку. Поток данных — больше характерен для видео, чем для аудио — 192кГц на 48 бит на 8 каналов.
Сама операционка и комп — не важны. Когда Logic Pro перестал выходить под windows, то проще было сменить железо и устроить hackintosh, чем переходить на другую программу.
Водяное охлаждение… ну или оно, или вытаскивать экран, клавиатуру и мониторы в другую комнату. Водяное — было сделать проще, чем IP-KVM.
Задачки там чудные. Что стоит устройство внутреннего телевидения ради передачи кивка от аккомпаниатора к солисту.
Такого уровня студий — 5-10 в Питере, наверное до 1000 в России. Это же не высший пилотаж, а почти любительская студия.
но при этом доступ этот монопольный — включить песню в VLC и открыть видео в браузере, увы, не получится
Тут вас кто-то обманул. Я, прочтя это, сильно удивился, пошёл запустил видео в vlc, открыл youtube ролик в хроме и включил песню в амароке. Все три источника заиграли одновременно и беспроблемно. Голая alsa.
Ну, то есть kde поверх неё ещё ;)
Насколько я знаю, в kde есть для этого phonon.
У меня тоже всё работает безо всяких дурацких надстроек (типа pulseaudio). Единственное назначение pulseaudio — удовлетворить зависимости того плохо написанного софта, который не знает про alsa но знает про pulseaudio (например ms после покупки скайпа быстро его привели к данному состоянию).
Поддерживая gentoo, alsa only. Все работает шикарно на ноуте 12 года
ALSA же нужна для работы с драйвером устройства, т. е. она, к примеру, не сможет обеспечить вам вывод одновременно звука с просматриваемого вами ётюба и музыки с какого-нибудь плейера
Слушайте, но смешно же. Попробуйте уже сами, всё прекрасно выводится, я же написал, что хотя и был уверен, но удивился и специально пошёл проверять — включил vlc, YouTube и amarok.
Зы пришлось отказаться от файрфокса, который не осилил в алса, это менее болезненно, чем лезть в этот кошмар с пульсой.
Так микшер входит в пакет ALSA и делает всё то, о чём вы написали "вы несколько недопонимаете зачем нужен общесистемный микшер, каковым и является PulseAudio". Зачем мне выводит напрямую в устройство и иметь проблемы с монопольным доступом, если я могу выводить это через микшер, который уже есть в алсе? И, тк у меня уже есть микшер, зачем мне ещё пульс городить? Вывод из vlc и ютюба спокойно работает "из коробки".
Сколько помню, он всегда из коробки работал. Другое дело, что у альсы обычно фиксированная задержка (latency), на встроенном звуке порядка 20-25 мс, а у пульсы она динамическая, вплоть до 0.5 мс. Но там хватает своих проблем, например, если ядро не PREEMPT, даже со всеми реалтаймовыми и высокоприоритетными хаками пульса порой скипает, т.е. буфер опустошается, и слышен щелчок. При этом пульса начинает адаптироваться и увеличивать внутренние вотермарки и минимальную задержку. Если проц был сильно нагружен, то задержка может прыгнуть очень высоко, вплоть до 100-160 мс, и что интересно, механизмов автоматического её снижения, а также задания отличного от 0.5 мс минимума в коде нет, я смотрел (можно задать фиксированную задержку, как в альсе, но динамическая всегда начинается от 0.5). Задержка сбросится только после перезапуска демона.
Я чисто из-за этих трюков собираю собственное ядро с CONFIG_PREEMPT и таймером 1000 Гц, потому что в дебиане 100 Гц без преемптивности. Раньше долго сидел на альсе, но пульса в итоге пролезла везде и победила, да и стримить с ней куда проще, чем городить лупбэки.
Правда я не думаю что получится сделать с ним такую конфигурацию, как описана в начале поста (хотя qjackctl поддерживает разные скрипты, которые можно запускать при старте/остановке сервера), но вполне вероятно что проблем именно с написанием музыки будет чуть меньше.
По крайней мере, у меня так. Я где-то семь лет уже занимаюсь тем же хобби и 4 года из них с Jack. Не могу сказать что работает он безупречно (его тоже надо настраивать и разные версии могут работать по разному), однако с задачей обрабатывать звук в реальном времени он справляется. А так работаю в Ardour, выходы на аппаратуру переключаю из него же.
Плюс удобная маршрутизация через какую-нибудь Catia есть (в qjackctl тоже можно, но там несколько топорно это сделано, на мой взгляд).
Кроме того, пользуюсь ещё и модулем jack-pulseaudio. Можно создать «мост» через который звук pulseaudio будет поступать в jack (решит задачу «записать звук с колонок», о которой писали в комментариях, правда несколько иным путем, поскольку он не с колонок будет записываться а с приложения, которое будет передавать звук на колонки), и наоборот. В Cadence есть поддержка «мостов» alsa-jack, pulseaudio-jack, alsa-midi и т.д.
Посмотрите этот софт, возможно, он поможет.
Cadence и qjackctl — софт для запуска и конфигурации Jack. Не могу сейчас точно написать (далеко от компьютера), но вроде бы скрипты для запуска и прочего есть только в qjackctl. Но я не уверен.
И ещё, последнее — Jack может здорово забивать свой собственный лог, который, как правило, находится в домашней папке (если вы запускаете его от обычного пользователя, разумеется). Поэтому убедитесь заранее в том, что на диске есть место, и периодически проверяйте размер лога Jack. Я не имею ввиду что так случается постоянно, но у меня раз в 3-4 месяца точно бывает, при том что я работаю с ним по выходным. В моем случае система установлена на ssd (домашний раздел, конечно, тоже), где не очень много места, поэтому лог Jack размером в пару десятков гигабайт иногда приходится удалять.
Возможно, я его просто плохо настроил. Возможно, это его баг. Не задавался этим вопросом, но предупредить, мне кажется, стоит.
з.ы. главная проблема тут не в том, как в этом разобраться. Можно и спеку HDA раскурить, и из комментов информацию собрать, на худой конец можно сорцы почитать. Главная проблема — что в этом вообще нужно разбираться.
Может, задокументируй разработчики ALSA, как по их мнению надо настраивать звук по шагам с описанием архитектуры, структуры конфигов, как что и для чего крутить, API, то и проблемы бы никакой не было. А я пока вижу, что клочки информации непроверенной разбросаны повсюду, а мой тикет за 3 недели даже отфутболить никто не берется.
Может, задокументируй вы вот эту процедуру настройки мпдшки, многие люди прошли бы с ее помощью на шаг дальше.
А время, которое я потрачу на разбор, я бы с удовольствием потратил на другие вещи — на разбор того же муз. софта доступного, плагинов и т.д.
Стал гуглить про настройку звука — там в основном описывается два состояния: звука нет и звук есть. И как перейти от первого ко второму. А о том, что звук может быть, но что-то не очень не заикаются. Более интересная инфа, про тот же существование того же dmix, на LORе, но там все тонет в субъективных и категоричных постах типа «у меня все из коробки нормально пашет, если у тебя не так, значит ты криворук» или «ты че, такой дохера аудиофил? Пульса лучше чистой альсы, не выеживайся». Субъективности очень много, много рецептов плясок с бубном и т.д. Я пытался править некоторые конфиги, типа resample-method, чтобы как-то улучшить ситуёвину, слушаю до сих пор через alsa.
Но я не о том хотел сказать. Все-таки жутко раздражает вся эта субъективность в настройках звука. После того, как я начитался инфы по форумам, я например сам себе не доверяю. Очень нехватает какого-то объективного способа оценить корректность работы со звуковой картой типа RightMark Audio Analyzer, или манула по каким-то объективным замерам на основании которых можно судить о том, хорошо настроено или плохо. Были бы средства диагностики проблем — легче было бы подобрать способ лечения. На хабре есть статья про анализ звука в линуксе через Audiolab M-DAC. Но это дорогая хреновина. И потом, режим BitPrefect говорит о наличии\отсутствии проблем в принципе, а не указывает, где именно кривит.
В общем, если кто знает о том, как производить объективный замер корректности работы звуковухи на линуксе, просьба просветить.
Но там явно есть косяки. Одним из первых приемов, который я проверяю в DAW, является sidechain. И вот LMMS на тесте показал, что sidechain работает плохо — клик присутствует даже на 12мс атаке. На эту тему заведен баг, но пока не починено. А без этого дальше испытывать тулзу вообще смысла не имеет.
какие все-таки конфиги надо править для правки маппинга портов??
Настраиваю маппинг портов для получения конфигурации 5.1 с трёх портов, которые по-умолчанию сконфигурированы как mic, speaker, line_in.
Конфигурацию hda размещаю по пути:
/lib/firmware/snd-hda-intel.fw
Чтобы она грузилась при старте системы добавляем файл:
/etc/modprobe.d/hda-intel.conf
со следующим содержимым
options snd-hda-intel patch=snd-hda-intel.fw
Изменять настройки без перезагрузки системы возможно через hda-verb (информация о ней есть по вашей же ссылке.
Содержимое snd-hda-intel.fw и что писать с помощью hda-verb можно понять, разобравшись с упомянутым вами HDAAnalyzer-ом.
Я в универе пытался написать прогу, чтобы маппинг можно было через GUI делать, но так и не выложил тогда её никуда (для каждой модели кодека выявляются свои особенности в графе, которые не было просто общим алгоритмом разрулить). Выложил исходники, может запустите на своём кодеке.
У меня были проблемы с отсутствием звука в системе, вот что мне помогло.
mv ~/.config/pulse ~/.config/old_pulse
restart ubuntu
Статья, которая помогла: https://omgubuntu.ru/kak-ispravit-otsutstviie-zvuka-v-ubuntu-i-linux-mint/
Ещё пробовал тут, но без результатно, но для истории прикреплю: https://dzen.ru/a/ZFZAGBZ7qlOoQkNI
Настройка звука в Ubuntu