Pull to refresh

Comments 54

Под Windows тоже есть вариант вывода через WASAPI почти для любого видео-плеера. Это ReClock. Если его выбрать в качестве аудио-рендера в плеере, то проблема решается. Правда я не знаю, насколько хорошо написан сам ReClock, не проверял.
Да же неясно, что проще под видео настроить, Windows через ReClock или Linux…
Hello, this is Linus Torvalds, and I pronounce PulseAudio as Pu.psh.sAddia...u..psh…

P.S.: На правах бояна; современная реализация работает куда лучше :)
Загрузил с загрузочной флешки без установки Ubunta и Росинка. Как и где добраться до настроек ASLA/PulseAudio?
Например. Открыть графический микшер. В минимальном виде — kmix (если kde). И (сейчас гномеры набегут подскажут) если гном (ну, в случае убунты — у них вообще свой путь с этим их Unity).

Чуть более «продвинутый» микшер — pavucontrol для PulseAudio и alsamixer (консольный, но псевдографический) для ALSA (на самом деле, он и PA в какой-то степени умеет, ибо PA умеет быть бекендом ALSA (вот такой вот «уроборос»)).

Так же в какой-то степени «настройками аудиосистемы» можно назвать те «крутилки», которые можно обнаружить в «Параметры системы»->Мультимедиа в KDE ;)

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

В общем, уточните запрос :)

P.S. заранее прошу прошения за цветовую и шрифтовую гамму. Но, как говорится, о вкусах не спорят ;)
У меня перед глазами «Linux Mint 11 Росинка (Std) x86» и «Ubuntu 15.04 desktop». Росинка выглядит более приятно…
Насчет опроса: мне кажется, что если провести такой же среди пользователей любой другой операционной системы — результат получится очень близким по той причине, что в опросе принимают участие нормальные люди. Если бы такой опрос проводился на форуме звукорежиссеров — было бы показательнее. Или если бы компоненты тракта были бы жестко зависимы от ОС.
А так… Человек, которому важно хорошее звучание, потратит больше денег на звуковой тракт вне зависимости от того, какая ОС у него в текущий момент. Железки-то перекидывать при переустановке системы не нужно.
Я всегда был уверен что звук в линуксах круче т.к. ядро даёт меньше задержке и это важно в каких-то вариантах использования (видимо реал-тайм эффекты). Где-то читал про это, но ссылок не имею — давно было.
Тут всё-таки отсутствие лишнего ресемлинга тестировали, а задержки это вообще другая епархия. Там уже начинаются пляски с Jack, работой в обход pulseaudio, который дополнительные задержки любит вносить.
Вот это нагуглилось сходу appleinsider.ru/from-readers/nam-pishut-pochemu-muzykanty-vybirayut-apple.html
Вообще, серьезные ребята устанавливают минимальный буфер в ALSA и используют ядро с Realtime-патчами. Я раньше много играл в ритм-игру Osu, так что теперь знаю немного об особенностях ALSA (и Wine). Скажем, 10 мс добиться вполне реально. Меньше — труднее.
А каким образом эту задержку вообще измерить?
Самый простой способ — подключить выход аудиокарты к ее же входу.
Тогда в измерениях будут задержки, вносимые во время захвата звука. Да и всё равно непонятно, каким образом это (программно) осуществить.
Тогда подключите к какой-нибудь ардуине или другой подобной машинке, тактовая частота которой однозначно много больше частоты выходного сигнала. Так можно измерить задержку с заранее заданной точностью.
А как предлагаете синхронизировать часы? Наверное, можно подключить ардуинку (или что-нибудь подобное) по ещё какому-нибудь интерфейсу, например, последовательному. Потом слать с ардуины echo request, запуская секундомер. Компьютер шлёт echo reply, по прибытии которого останавливаем секундомер. Медианное значение, в принципе, можно считать более-менее точным лагом компорта.

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

Вот чтобы такой велосипед не изобретать, я и решил спросить ValdikSS, который совсем недавно делился своим экспертным мнением. :)
Только что-то всё равно методики замера (а может быть, и вовсе готового решения, как в этом посте) лага я у него не добился. :(
Я не знаю, к сожалению, как изменять задержку правильно. Практически все тесты, что я находил, либо измеряют внутреннюю задержку драйвера (задержка между началом воспроизведения и записи, так делает, например, latency.c из alsa-lib), либо просто измеряют loopback latency manual.audacityteam.org/index.php?title=Latency_Test
Никак не синхронизировать. Отправлять данные на вход с ардуины и забирать с выхода тоже ардуиной. Затем найти смещение сигналов в тактах ардуины простейшей кросскорреляцией. Минус только в том, что получим задержку всего тракта: от входа до выхода, а не отдельных его участков.
То есть, выполнять захват звука, посылаемого ардуиной, на компьютере, перенаправляя его на звуковой выход? По-моему, это не даст выигрыша в погрешности в сравнении с предложенным ValdikSS вариантом, когда сгенерированный на компьютере звук покидает звуковой выход, напрямую подключенный к звуковому входу, с которого происходит захват и анализ лага, но даст дополнительную сложность в постановке эксперимента.
Честно говоря, мне захотелось бенчмаркнуть звуковую подсистему OS/2. Дело в том, что помимо того, что этот компонент OS/2, фактически, не обновлялся очень давно, он также вообще никогда не переписывался, появившись, вероятно, где-то с Warp 3. То есть, это будет бенчмарк кода двадцатилетней давности на современном железе. Ну, вы поняли. :)
О! Это было-бы интересно. Субъективно-же, звук выдаваемый PM123, под OS/2, более тёплый и ламповый, нежели тот-же звук, на том-же ноуте, под виндой и foobar2000. Я даже удивился, думал что это встроенная карта совсем уж полное... низкого какчества.
Интересно было бы ещё макось проверить и какую-нибудь ось с OSS в качестве звуковой подсистемы, к примеру, FreeBSD.
Да, это было бы интересно. Если есть желающие, то добро пожаловать в гости. Требуется или наличие звуковой карты с SPDIF/TOSLINK или USB входом, к которое можно подключить Audiolab M-DAC
Никто не измерял линукс на bitperfect-ность, потому что и так понятно, что звук — самое слабое звено в этой системе. Это не так заметно с единственной картой. А вот, например, настройка не особо редкой конфигурации: встроенная, плюс внешняя USB, плюс USB-видеокамера с микрофоном — может очень быстро разбудить в человеке зверя. Ну и приличного аудио-софта под линукс почти нет.
Я вынужден с вами не согласиться. Да, возможно, проблемы имеются, но точно вс настолько плохо, как это описываете вы. Что у вас за проблемы-то? Я как-то уживаюсь с 4 аудиовыходами (встроенный от Creative, USB DAC иногда, DisplayPort и TCP-туннель до колонок на домашнем сервере через PulseAudio), особых проблем нет.
ALSA совершенно не предназначена для какого-либо Plug-n-play. Настроил, заработало, больше никогда не трогай. Две звуковые карты, использующие usb_audio, настроить мне так и не удалось (проблемы с тем, чтобы указать карту по-умолчанию). От курения мануалов кашель не проходил неделю. Куча недоделанных, несовместимых или безнадёжно устаревших API для работы со звуком. По сравнению с тем, что доступно пользователю Windows (за Mac OS X не скажу, но подозреваю там как минимум не хуже), это мрак и ужас.
Для Plug'n'Play есть PulseAudio, он делался в том числе и для этого. Карта по умолчанию указывается через defaults.ctl.card и defaults.pcm.card.
UFO just landed and posted this here
Если не секрет, какие задачи для обычного пользователя (не сугубо профессиональные) на Linux решаются лучше? Т.е. преимущества для рядового пользователя?
UFO just landed and posted this here
>…не нашёл чем заменить 7-зип/винрар гуй к архиваторам…
Попробуйте file-roller, хотя и не идеал, но работает.
Удобный «просмотрщик картинок» тоже пока не нашёл. Пользуюсь comix, хотя он и для другого предназначен.
Вообще для гнома и xfce (GTK+): Evince — эдакий универсальный монстр. PDF поддерживает.
По поводу миранды — ничего к сожалению подсказать не могу. У того же пиджина — куча мелких проблем.
UFO just landed and posted this here
Отказ от совмещения GTK и QT — устаревший подход, актуальный для компьютеров с малым количеством оперативки. Если бы я этим заморачивался — не иметь бы мне удобной среды.

Удобный gui для архивации — разархивации — https://ru.wikipedia.org/wiki/PeaZip.

Просмотрщик картинок — gwenview — kde-шный. Если очень нужно гномовский — можно gthumb, но он очень уступает.

Не говоря уже о том, что для редактирования видео нет альтернативы kdenlive, и т. д.

Pulseaudio — чрезвычайно простой, в ubuntu он вообще в автозагрузку пользовательской сессии сразу прописывается. Без автозагрузки
pulseaudio -D
и всё работает. Для абсолютного большинства настроек и регулировки громкости — pavucontrol.
Вопрос насчёт минусов — потребовалась ли ручная правка конфигов при выводе звука через pulseaudio или же все решилось через gui? Если второе, то это не такой уж минус, ибо для всяких тонких настроек (типа сверхнизких задержек, которые теоретически даст alsa) лезть в потроха системы не так страшно (в той же винде для некоторых задач нужно вносить изменения в реестр). Обычного пользователя менять звуковую подсистему никто не заставляет.
Я менял параметры default-sample-rate и alternate-sample-rate в /etc/pulse/daemon.conf. Возможно, для этого есть GUI, я специально не искал.
Кстати, пульса же умеет в хомяке конфиги, может лучше тогда системный не трогать?
А вот ответ на вопрос про преобразование количества бит средствами ALSA: использовать имя устройства, начинающееся с «plughw:». Например, plughw:1

Ну и на самом деле тест с таким дорогим оборудованием можно было не проводить. Любая карта, которая успешно пропускает AC3 или DTS на ресивер, является по определению BitPerfect — а ресивер у пользователя, который задается таким вопросом, скорее всего, есть.

Сам вопрос про BitPerfect считаю академическим. Мое личное мнение: он нужен только для пропуска AC3 и DTS на ресивер. Я все равно пропускаю весь звук через фильтр (цепочка: pulseaudio -> jack -> brutefir -> alsa), чтобы частично скомпенсировать объективные акустические недостатки комнаты, и вам того же буду советовать, когда появится «родная» поддержка в PulseAudio (если нет такой же функции в ресивере). Фильтр построен с помощью измерительного микрофона и drc-fir.sourceforge.net/doc/drc.html
Зачем из пульаудио в джек? Можно же сразу.
Цель — передать звук из PulseAudio в BruteFir (поскольку другой программы для свертки звука с FIR-фильтром нет). BruteFir умеет только быть либо JACK-клиентом, либо записывать со звуковой карты, либо читать из файла. Поэтому JACK оказался наименее затратным способом выполнить стыковку этих программ.
Нет. Самодельные скрипты запуска всего этого добра, хотя знаю, что должен или изучить LADISH, или добавить полный аналог BruteFir в PulseAudio.
А чего там особо изучать О_о.

Мне очень нравятся инструменты графические которые есть. Они избавляют и от скриптов и от копаний в кишках.
Проверка через ресивер возможно и дешевле, но не соглашусь, что есть ресиверы у тех, кто задается вопросом качественного звука. Ресивер есть в основном у тех, кто строит домашний кинотеатр. Для высококачественных систем используется стерео и ресивер часто отсутствует, как «несерьезный усилитель» — в стерео слабый, а многоканальность ненужная. Например у меня M-DAC есть, а ресивера нет, только отдельные стереоусилители в Bi-Amp системе с активным фильтром. Вторая причина — многоканальный звук в AC3 или DTS — это аналог многоканального mp3, что не так круто как wave/flac и т.п.

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

Пользователи наушников, отдельная история — обычно необходимости в правке АЧХ нет.

В Вашем случае, автомат опорной частоты работает (больная тема в Windows для аналогичных решений через WDM->ASIO)?
В Вашем случае, автомат опорной частоты работает (больная тема в Windows для аналогичных решений через WDM->ASIO)?


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

P.S. ресивера у меня действительно нет, есть интегральный усилитель Rotel RA-1570.
Я ранее экспериментировал с концепцией «цифрового Bi-AMP» используя SpinAudio в Windows, перекидывая поток из WDM в ASIO (ASIO для автомата частоты приоритетнее), необходимость переключать частоту сильно мешала, т.к. не хотелось постоянно за этим следить.
Может я профан в звуке, но мне интересно. Запустить Linux под виртуалкой с выводом аудио в WAV-файл и последующим сравнением этого файла с оригиналом — это плохой тест на BitPerfect?
Вроде это достаточно дешевый способ проверки, не нужно никакого специального оборудования.
Перехватываться поток где будет, на выходе плеера или входа в звуковую карту? В Windows в некоторых плеерах была возможность выводить Wav файлом поток, но это не затрагивает звуковую подсистему и соответственно не дает конечный ответ.
Перехватываться средствами виртуальной машины. Т.е. что именно пишется в буфер эмулируемого звукового контроллера. Если используется KVM, то:

  export QEMU_AUDIO_DRV=wav
  export QEMU_WAV_PATH=$HOME/tune.wav


и вперед.
Amarok не совсем удачный выбор для теста, в том же deadbeef есть специальная опция для посылания на вывод 24-битного сингнала для 16-битных файлов.
Amarok, по сути, не является тем, что играет звук. Он использует фреймворк phonon, к которому есть бекэнды MPV, VLC и GStreamer. Xine еще есть, но про него уже все давно забыли.
Что и требовалось доказать. «Linux — ни один М-ДАК не докопается!»
Теперь бы это самостоятельно повторить еще… голову сломать можно с настройками в Linux :)))))
Sign up to leave a comment.