LINUX.ORG.RU

Звук - что, как, чем?

 , , ,


0

2

Нужен звук на десктопе - гарнитура/встроенные колонки в ноутбуке.

При себе: ubuntu 16.04, openbox

alsa, pulseaudio, jack - что выбрать? С чего начать? Что вообще происходит?

★★

Последнее исправление: BitSum (всего исправлений: 4)

В вики убунты все про это есть. Почитать пробовал?

Zhbert ★★★★★
()

В первую половину 90-х звука в Linux не было.

Во второй половине 90-х в линуксе была звуковая система OSS. Она не умела звук из двух программ одновременно: например, ты играешь и одновременно слушаешь музыку. Тебе приходится выбирать, что запустить первым: игру или XMMS.

В первой половине 00-х в линуксе был звук ALSA. Он научился звуку из двух источников одновременно (точнее, из 128 источников), но только если звуковая карта поддерживала аппаратное микширование звука. В случае, если не поддерживала, существовал плагин dmix, отключенный по умолчанию. Надо было включать вручную. В конце 00-х, dmix перестал быть эспериментальным, и теперь включается автоматически в том случае, если звуковой чип не поддерживает аппаратное микширование. Также в ALSA существовала эмуляция OSS для старых программ, созданных до появления ALSA. Начиная с 2010 года, отключена по умолчанию, и её надо включать вручную.

Между OSS и ALSA существовали звуковые серверы (не системы, а серверы) ESD и aRts. Они были предназначены для того, чтобы звук из двух программ одновременно всё-таки выводился. На самом деле не для этого, но 99% пользователей использовали их именно для этого. И возможно, пользовались бы до сих пор, если бы был один звуковой сервер, а не зоопарк из двух. Дело в том, что первый был гномовский, а второй - кдешный. Приходилось подбирать софт с поддержкой того, что ты выбрал, и отказываться от того, что его не поддерживает. Обычно это сводилось к использованию программ или от GNOME, или от KDE, что также способствовало развитию тулкитофобии. Впрочем, компы тогда имели 32 и 64 Мб памяти, поэтому это было даже полезно.

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

Во второй половине 00-х появился звуковой сервер PulseAudio. Что вызвало у многих недоумение. ESD и aRts были такими звуковыми серверами, которые решали проблему OSS, а после появления ALSA стали не нужны. JACK это такой звуковой сервер, которым пользуются знающие люди. Что же давал PulseAudio? Непонятно.

И хрен бы с ним, если бы его не предустанавливали и не включали по умолчанию без возможности отключать. Например в Fedora 8 и Ubuntu 8.04. Это вызвало закономерное противодействие сообщества пользователей Linux на десктопе. Возможности отключить находились, проблемы, связанные с этим, решались.

Шло время, появлялись новые пользователи Linux, линукса без PulseAudio не видевшие. А там уже пошёл синдром утёнка: помнишь серию Тома и Джерри, в которой утёнок родился, увидел кота, и решил что это его мама? Так же и здесь: «люблю PulseAudio, он лучше всех, а чистая ALSA даже микшировать звук не умеет». Естественно, те, кто так говорит, ни разу не пробовали ничего кроме PulseAudio.

Положительные стороны PulseAudio: для работы с Bluetooth-гарнитурой не нужно открывать консольку и править текстовые конфиги. Достаточно нажать мышкой в удобном окошке. Также есть штатная возможность передать весь системный звук по сети. Можно отрегулировать громкость звука в тех программах, которые не предоставляют регулятор громкости (хотя я таких не видел). Можно перенаправить звук со звуковой карты №1 на №2, не перезапуская воспроизведение (и опять-таки мышкой, а не редактируя конфиг-файл, делая default.pcm 1 вместо 0).

Недостатки PulseAudio - она не задействует аппаратные возможности современных аудиокарт, например аппаратное микширование использовать невозможно. Только программное, только хардкор! Она непредсказуемая: в большинстве случаев всё просто работает, но в редких случаях бывает треск и шипение. С ALSA таких проблем нет вообще. Ну и наконец: большинству пользователей просто непонятно, для чего им нужен аж целый звуковой сервер, если они не занимаются записью и обработкой звука, звуковая карта у них одна, а микшируется всё и с чистой ALSA (ещё и аппаратно).

А ещё есть OSS v.4. Изначально она вышла под коммерческой лицензией - что и вынудило экстренно создавать ALSA взамен OSS+ESD. Потом, когда авторы OSS v.4 поняли, что за деньги она никому не нужна, они изменили лицензию и сделали продукт бесплатным. В платной версии есть новые возможности, о которых я ничего не скажу - я их не знаю. OSS v.4 устанавливается из RPM или DEB-пакета и не требует дальнейшей настройки: всё просто будет работать.

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

Ставишь Pulseaudio (который в системе и так должен быть) и всё должно заработать, самый простой вариант.

xcariba ★★
()

jack (руки, мышечной памятью, автоматически набрали hack) - для музыкальной студии дома, с минимальной латентностью звукового тракта.

alsa - для истинных меломанов, воспроизводящих .flac с ncmpcpp+mpd. И отвергающие все иные способы звукоизвлечения на компе.
Они же, посещают концерты классической музыки и джаза. Некоторые из них, владеют игрой на музыкальных инструментах.

pulseaudio - изначально писалось для gay-меров. Меломаны - отвергают, молодёжи - нравится.

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

И да - «калонки», это говняшки?

Йа знал, что в теме саунда, обязательно будет упоминание о какашках,
Говняшки - это слог плебеев, какашки - это литературно и социально принятое.

Купила самокат. Оказалось, он так называется не потому что он сам катится, а потому что я должна сама его катить. Продам самокат.

ТС, качество звука определит качество твоих колонок.
Не бери пластмассовые, бери деревянные.

И обязательно - отдельный USB DAC. Больше тебе - ничего не нужно на данном этапе.

blitz
()

openbox тогда конечно alsa с выпиливанием пульсы

Deleted
()

Пульс-хейтеры конечно же забыли упомянуть об основном преимуществе pulseaudio над «голой» ALSA:

Возможность переключения между звуковыми картами на лету, в том числе и при горячем подключении, без перезапуска программ. Сейчас, в 2017 году, в продаже полно микрофонов и наушников, которые подключаются по USB, и фактически видятся в системе как отдельная звуковая карта. Тоже самое касается гарнитур с Bluetooth Если вы хотите использовать такие устройства с горячим переключением между ними и колонками, то Pulseaudio ваш друг. Пульс даже может подключаться к колонкам и микрофонам другого компьютера через сеть, но это мало кому надо, плюс довольно большие задержки.

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

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

Что не так то с вашей пульсой?

Сам хейтил, но из-за определенной и специфической проблемы.

А сейчас 96KHz flac + ncmpcpp+mpd на пульсе работает очень даже неплохо

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

Неплохо, с самого начала.

За неимением программы RMAA в GNU/Linux - для точной оценки коэффициента нелинейных искажений звукового тракта,
воспользовался другой программой для теста аудио.

Удивит тебя или нет, но alsa показала себя лучше в сопоставимых тестах, в сравнении с pulse.

Интересно знать, alsa или pulse - используется в этом `audiophile' дистр - http://www.diyaudio.com/forums/pc-based/240040-daphile-audiophile-music-serve... ?

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

Удивит тебя или нет, но alsa показала себя лучше в сопоставимых тестах, в сравнении с pulse.

Откуда информация? Можно ссылку?

Что с настройками ресемплинга при тестировании?

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

Что с настройками ресемплинга при тестировании?

Вот это!

С этого и начал проверку и тесты.
alsa, в моём случае - не делает resampling.
Вывод напрямую на USB audio.

# Audio Output ################################################################
#
# MPD supports various audio output types, as well as playing through multiple
audio_output {
        type            "alsa"
        name            "USB-Audio - USB Advanced Audio Device"
##      device          "hw:0,0"        # optional
##      mixer_type      "hardware"      # optional
##      mixer_device    "default"       # optional
##      mixer_control   "PCM"           # optional
##      mixer_index     "0"             # optional
}

Как проверил и убедился - двумя путями.
Непосредственно с mpd и ещё другой программой - my bad, названия которой уже не помню.

pulse - делает resampling безо всякого спроса. Такое заложено изначально в сурс.

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

Положительные стороны PulseAudio: для работы с Bluetooth-гарнитурой не нужно открывать консольку и править текстовые конфиги.

bluez-alsa. Более того - из raspbian stretch пульсу выпилили.

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

Название программы - в памяти не сохранилось.
Искал так - заинтересовав себя resampling и bit-perfect звуко-воспроизведением на GNU/Linux,
нашёл программу, что показывает, как именно alsa и pulse выводят с двоичные данные с файлов в аналоговый сигнал.

Желаешь удивить себя, классным саундом на своей акустике компа?
Попробуй iZotope Ozone - такого звучания басс-гитары и ударной установки - ты не слышал. Пенсианерки, сразу начнут жаловаться кляузами - «Там целая рок группа репетирует и спать не дает!»
Программа под Win, и её уже нет нигде в сети.

blitz
()
# apt install alsa-tools alsa-utils
# alsactl init
$ alsamixer
amd_amd ★★★★★
()
Ответ на: комментарий от blitz

Это понятно. А ты не пробовал перенастроить pulse, чтобы не было ресемплинга, и проверить? Это же делается элементарно, включением второй (альтернативной) частоты дискретизации микшера.

alsa то по умолчанию тоже в dmix выводит и в 48000 Гц ресемплит.

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

Попробуй iZotope Ozone - такого звучания басс-гитары и ударной установки - ты не слышал. Пенсианерки, сразу начнут жаловаться кляузами - «Там целая рок группа репетирует и спать не дает!»

Это конечно круто, но с бит-перфект такие подходы как-то слабо сочетаются. Тут, по моему, надо или в одну крайность кидаться (бит-перфект и качественная акустика), или в другую (обмазываться улучшайзерами на пищалках из ноутбука).

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

У меня в /etc/pulse/daemon.conf из незакомментированного вот это:

default-sample-format = s32le
default-sample-rate = 44100
alternate-sample-rate = 48000

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

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

А ты уже пробовал?

Ну вот прямо сейчас пишу тебе с rPI 3, на которой открыт хром, и в соседней вкладке играет музыка прямо в мои JBL50BT.

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

Это не обязательно в данном случае. Ресемплинга все равно не будет.

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

Знаешь, я не особо аудиофил, но и с этим ресемплером можно жить.

В qmmp использую SoX ресемплер с пульсой, и ничего, звук очень неплохой

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

Но на этих Ютюбах - верхняя граница частот срезана до 16KHz,
и динамический уровень звука - сжат с 80db до 40db.[db]

«Полёт Валькирий» Вагнера - совсем не звучит на Ютюбе.

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

Там только элегия

На самом деле там может быть все что угодно:
https://www.youtube.com/results?search_query=находки на помойке
Но самые годные вещи по заверениям авторов видео, растаскивают уже в первые часы какие-то мутные личности, которые буквально дежурят на помойках, да и сам не раз видел; иду в магаз, кто-то оставил возле помойки телевизор или еще какую комп.орг. технику, так на обратном пути ее уже нет, буквально за пол-часа орудуют. Так что ему самому надо немного подежурить на помойке, чтобы первым схватить лут, который из нее выпадает))

Moderators ★★
()

Не выбирай ALSA. Сейчас модно pulseaudio. ALSу вообще выключи в ядре CONFIG_SOUND=n.

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

А чем он тебе не угодил? У меня в 2000х были такие - до сих пор работают, и звук ничетакой был.

Не все Genius'ы одинаково полезны. Добротные образчики у них были что-то вроде этих: https://market.yandex.ru/product--genius-sp-g06/937377

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