Пример настроек PulseAudio и ALSA, обеспечивающих максимальное качество звука.PulseAudio
~/.config/pulse/daemon.conf
default-sample-format = float32le # по умолчанию s16le
default-sample-rate = 48000
alternate-sample-rate = 44100
default-sample-channels = 2
default-channel-map = front-left,front-right
# уменьшение числа и увеличение размера буферов воспроизведения
default-fragments = 2 # по умолчанию 4
default-fragment-size-msec = 125 # по умолчанию 25
resample-method = soxr-vhq # по умолчанию speex-float-1, который меньше нагружает CPU
enable-lfe-remixing = no
high-priority = yes
nice-level = -11
realtime-scheduling = yes
realtime-priority = 9 # по умолчанию 5
rlimit-rtprio = 9
daemonize = noВ настройках ALSA направляем вывод в PulseAudio-плагин hw, напрямую взаимодействующий со звуковым драйвером ядра без промежуточных преобразований, что позволяет сократить задержки при выводе звука.
/etc/asound.conf или /etc/alsa/conf.d/99-pulse.conf
pcm.!default {
type plug
slave.pcm hw# по умолчанию:
# type pulse
# fallback "sysdefault"}
URL: https://medium.com/@gamunu/enable-high-quality-audio-on...
Обсуждается: http://www.opennet.dev/tips/info/3141.shtml
Почему 48000/44100 а не 96000/88200? Уже с добрый десяток лет подавляющее большинство встроек и лэптопщИны поддерживают - как основные рэйты - именно эти; про качество их рисэмплеров/фильтров автор должно быть в курсе?... Вообще-о стОило бы так же написать, как пользователю смотреть возможности DAC'а, и предложить несколько вариантов...SoX'овый рисэмплер, конечно, не плох при 95% и выше, но... а что, SSRC-X в lo0nix в XXI-м столетии так и не завезли?
Потому что человеческое ухо способно максимум на 20000, у большинства взрослых и того 16000. Всё что выше — это обработки, редактирования, но для конечного звучания попросту излишне, ибо разницы физически не услышать, а ресурсы потребляет ого-го. На эту тему срачей было вагон и маленький бронепоезд, но вы же не тролль? :)
Я знаю с 2007 года, что аппаратура вроде как может преобразовывать или вопроизводить бытовая домашняя уселители в 320000. Триста двадцать тысяч.
8озможно 384, а не 320 тысяч. Я таким оборудованием не пользовался. И не чего нечитал об этом давно было у знакомого уселитель был с частотой триста с чемто.
> 8озможно 384, а не 320 тысяч. Я таким оборудованием не пользовался.На самом деле для аудио больше чем 48000 малополезно и как максимум позволит насладиться детектированным ультразвуком. Зато быстрая звуковушка катит за примитивный - и абсолютно халявный - осциллограф.
Потому что в 44100/48000 расстояние между гарничной частотой сигнала и частотой Найквиста составляет 2,5 и 4 кгц соответственно. Представьте какая должна быть крутизна у срезающих фильтров, и какая будет неравномерность АЧХ за несколько кГц до частоты среза. Повышение частоты дискретизации помогает обойтись более простыми фильтрами.
> Потому что человеческое ухо способно максимум на 20000, у большинства взрослых и
> того 16000. Всё что выше — это обработки, редактирования, но для
> конечного звучания попросту излишне, ибо разницы физически не услышатьМногоуважаемый товарисч Пень (а Вы были довольно самокритичны, выбирая себе ник, что похвально)!
Во-первых про фильтры было сразу написано в комментарии выше, на который Вы, не подумав, попытались дать ответ.Во-вторых, лично я при последнем посещении ведущего (в моей стране) аудиолога показал слышимость немногим выше 20к. Вы уж извините, я не специально, я же, сидя в той аудиокамере, не знал - на какой точно частоте оно мне сейчас пищит, я только капу нажимал...
> ресурсы потребляет ого-го.
В двадцать первом столетии - даже на нормальной встройке из соотв. диапазона применения - это не совсем так. Точнее совсем не так.
А какое отношение имеет частота, которую способно распознать ухо к Sample Rate'у?
> Потому что человеческое ухо способно максимум на 20000,Я до примерно 23000 слышу. Проверял наушниками, генерируя синус audacity.
Это ты гармоники слышишь, а не 23000
Способно ухо слышать, не надо сказки рассказывать. Проверить просто - берёшь, настраиваешь карту, чтобы не было алиасинга, включаешь синусоиду выше вашего "порога", задираешь громкость на максимум и слушаешь.
Потому что контент идет с рейтом 44100 обычно, а любой ресемплинг нагружает проц и качество не улучшает. В идеале звуковуху переводить в нужный режим под каждый тип контента.
Собственно, интересно как автор проверял это "качество".
> Потому что контент идет с рейтом 44100 обычноНа сегодня подавляющее большинство контента создаётся в качестве 24bit/48kHz, так как именно в таком качестве работает подавляющее количество микшеров, сэмплеров, аудиоинтерфэйсов, старых цифровых эффектов и цифровых синтезаторов. Так уже довольно долгое время, около десяти лет.
В то же время подавляющее количество аппаратуры и ПО для музыкантов, выпущенное в последние годы, микшеры со встроенными аудиоинтерфэйсами, портативные рекордеры, а так же цифровые эффекты ("гитарные" педали с DSP) из верхнего ценового диапазона, даже выпущенные на рынок лет семь назад - работают в 24bit/96kHz.
Исключением являются топовые продукты фирмы Novation (Peak, Summit) - они выдают сразу в DSD (1 бит дельта-сигма, 11.29 МЕГАгерца).
Многие студии/музыканты просто перестали париться с ресемплингом - на онлайн-сервисы продажи музыкального контента (а это сейчас главный способ распространения - да тот же Spotify) отдаётся то, что получилось после сведения. Благо пользователям 4G (и даже 3G) ширина канала вполне позволяет скачивать такой контент.
Пресловутые CD с частотой 44100 давно в прошлом.
Про DSD это вообще маркетинг. Даже если подумать своей головой - представим, при битрейте 44.1kHz 16bit - если окно анализа амплитуды сигнала 16bit (для сохранения временного разрешения), то амплитудное составит всего 16 уровней по сравнению с 2^16 для исходного. Конечно, все намного сложнее, т.к. при таком анализе получается что-то вроде субпикс^W субсэмплового сглаживания.
https://www.mojo-audio.com/blog/dsd-vs-pcm-myth-vs-truth
Потому что это не частота воспроизведения а частота выборки цап.
Вы знаете, я хочу от вас детей. В айтишном смысле, разумеется
Хорошо бы понять почему тогда это настроено не по умолчанию
Повышение качестве приводит к повышению нагрузки на CPU. По умолчанию настройки подобраны, чтобы нагрузка была минимальной и качестве не сильно паршивое.
> Повышение качестве приводит к повышению нагрузки на CPU. По умолчанию настройки подобраны,
> чтобы нагрузка была минимальной и качестве не сильно паршивое.Так вроде sox не нагружает вообще даже при 192000. По кранемере тот sox плагин, что есть у меня в плеере для Windows в 192000 преобразует с нулевой нагрузкойц на процесор по сравнению с другими resampler.
А есть какая-нибудь статья, как задебагать пульсу? У меня звук на ноутбуке появляется только после выхода из спящего режима
Ну так это нормально. Он устал, он хочет поспать. Вы поди тоже работаете только после того, как поспите?
не совсем ясно как задержка влияет на качество ?
обработка в реальном времени - там да, нужна меньше задержка.
а если просто mplayer http://5.39.82.157:8054/stream какая мне разница через сколько миллисекунд заиграет ?
192000, s32le,
resample-method = src-sinc-best-quality смотрим на нагрузку процессора.
src-sinc-* давно уже не рекомендуются. Лучше использовать speex-float-*.
soxr-* тоже хороши, но, емнип, дают бОльшую задержку, что ограничивает их применение музыкой и фильмами.
А это как повезёт. Какая инструкция и советы от кокого года первой попадётся по той и настраивал. Нагрузка на процесор меня устраивает и далше варианты не искал.
В плагине sox resampler к плееру в Windows есть настройка Passband так вот по умолчанию она 95% и больше 99.0% не ставится. Я на 100% не знаю что это, Passband переводится как полоса пропускания. И вот чувствую, что мне надо 100% сравнивая с другими resampler. По этому sox плагин в плеере не использу и вопрос остро о нагрузке при изменении в 48кГЦ на процессор не стоит, нагрузка маленькая. По этому есть у меня подозрения, что и в Linux sox возможно такойже с Passband 95%, но только подозрения. Годать не хочу по этому от sox воздерживаюсь. Я его даже не использовал в Linux.
> src-sinc-* давно уже не рекомендуются. Лучше использовать speex-float-*.
> soxr-* тоже хороши, но, емнип, дают бОльшую задержку, что ограничивает их применение
> музыкой и фильмами.speex-float-* лучше для чего? Меньше нагрузка на процессор или лучше качество преобразования?
speex-float-* по качеству не хуже, чем src-sinc-* и меньше нагружают процессор. Задержки меньше, чем у soxr-*.
> default-sample-format = float32leбольшинство карт сейчас поддерживают только s16le и s32le. использование float на неподдерживаемой карте приведёт только к двойному ресэмплингу, его артефактам, и лишней нагрузке на процессор. проверить поддерживаемые форматы можно запустив "aplay --device hw /dev/urandom --dump-hw-params".
> default-sample-rate = 48000
> alternate-sample-rate = 44100вот нахоа? обе частоты идут на выход без ресэмплинга, эти параметры менять имеет смысл если есть трэки с чд отличной от данных частот. большинство трэков частотой ниже 44100 идут как 22050 и 11025, их нужно в 44100 апсэмплить а не в 48000. а если в системе есть треки с повышенной чд - так ставить дефолтом надо 96000 или 192000.
> default-fragments = 2 # по умолчанию 4
pulseaudio смотрит на эти параметры только в случае использования старого планировщика, который используется только для "поломанных" карт к которым менять эти значения нужно с умом, а не с копипастой.
"enable-lfe-remixing = no"
параметр и так отключён по умолчанию c 9 версии, ибо крив.> В настройках ALSA направляем вывод в PulseAudio-плагин hw
> PulseAudio-плагин hwЧЕГО?! какой укурок это писал? hw - это прямой выход на карту, в обход всех потоковых микшеров. к pulseaudio оно никаким боком не относится. не говоря уже о том что оно подключено как plug, программно конвертирующий поток в форматы поддерживаемые оборудованием. если уж действительно хочется убить всё лишнее - "echo pcm.\!default hw > ~/.asoundrc" сделает всё то же и даже лучше. но любое из этих двух решений сделает одновременное воспроизведение различными программами через alsa невозможным.
по итогу: каким образом _это_ может хоть что-то улучшить?
> любое из этих двух решений сделает одновременное воспроизведение различными программами через alsa невозможнымТолько если звуковая карта не умеет hardware mixing, https://www.alsa-project.org/wiki/Matrix:Tag-HWMIX.
Ни одного realtek-а в списке :(
> Ни одного realtek-а в списке :(Ну так он простой как тапка. И вообще на запихивание все и вся в хардвар и DSP все давным давно забили, "звуковуха" по сути качалка данных между DAC/ADC и системой. Остальное системный проц делает, он давно любой DSP обставляет с многократным отрывом. Даже ARM какой-нибудь телефонный, там DSP и multimedia extensions типа неона и без DSP понапихали. Туда же и хардварные миксеры всякие. Софт в отличие от харда ограничен только доступной мощностью проца.
> Ни одного realtek-а в списке :(Да и Xonar тоже.
Считай фишка Creative only, как и EAX.
Убедительно. Какой ваш вариант конфига PulseAudio и ALSA для достижения максимального качества звука?
Ерунда какая то а не конфиг (в большей части) Соглашусь с "resample-method = soxr-vhq". Вы забыли "avoid-resampling = true", и кинули обладателей 5.1 на низы этим: "enable-lfe-remixing = no". По частотам - дело каждого, и приоритетам так же. И еще, вы уверены что сократили задержку?
И про программное управление громкостью(критчное на некоторых хороших звуковухах) ни слова( Разберитесь получше в возможностях данного проекта. А как на счет сетевой трансляции? и т.д. и т.п..........
вот насчет программного управления громкостью звука можно конкретно и поподробней
а именно в каком файле есть параметр управления громкостью звука и как его можно регулировать
на 10-й убунте все было в норме
(ноут нр)
а далее понеслось все тише и тише
и наконец на 20-й убунте даже шум вентилятора выше
железо не причем ибо параллельно стоит 10-я винда и в ней наоборот до версии 19.09
громкость была низкая а теперь в норме и выше чем на линуксе
жду ваших предложений где регулировать уровень звука на линуксе убунта 20.04
встроенные графические ползунки не предлагать-херня полная
Управлять громкостью без потерь можно только аналоговым аттенюатором на вашем оконечном усилителе (или мощным DSP в ЦАП-е). В типичных софтовых режимах приоритет, по понятным причинам, отдаётся скорости, а не предельному сохранению исходной фонограммы. Поэтому "программная" цифровая регулировка сводится к уменьшению разрядности исходного материала. Т.е. любая интерактивная чисто софтовая регулировка гробит исходный материал. И ничего с этим не сделать.
Поэтому, если хотите передать исходный материал в воспроизводящее устройство "как есть" этот самый материал на своём пути не должен проходить через софтовый микшер ОС. Никогда. Т.е. "крутилки" в панельках регулировки громкости ОС не должны работать, вернее, их перемещение не должно никак сказываться на громкости фонограммы вообще (это как раз свидетельствует, что микшер ОС в процессе участия не принимает). Это верно кроме одного довольно редкого случая -- хорошие дорогие устройства имеют встроенный цифровой микшер, доступный для управления со стороны ОС, тогда крутилки громкости в ОС будут управлять не микшером ОС, а встроенным нормальным "железным" микшером самого устройства. Подобные штуки не стоят меньше условных 1000 у.е. (самое дешёвое, которое я знаю сейчас обойдётся где-то в 800).
И чем этот "железный софтовый микшер лучше программного в оси"?
Да и не настолько все плохо, как ты пишешь. Потому что с уменьшением разрядности, уменьшается и громкость. Т.е. просто хуже становятся слышны мелкие детали по причине их глубокого ухода за фоновые шумы.
Вся суть линукса.Чтобы настроить базовые параметры звуковой карты (В Windows 3 клика мышью), надо рыться в настройках непонятных файлов с непонятным форматов, что может привести к тому, что всё на фиг сломается.
// b.
> Вся суть линукса.Нет, данный совет по настройке pulseaudio раскрывает суть всего человечества: куча дилетантов, дающих вредные советы.
> В Windows 3 клика мышьюКак человек, обладающий достаточным опытом работы со звуком под любой полумэйнистримной ОС - скажу, не таясь:
Вызывающе неверная информация. Вы специально дезиоформируете сообщество? И как, хорошо платят?
Действительно, вызывающая: 2 клика мыши
1 клик!!Кто меньше?
> 1 клик!!
> Кто меньше?Хотел бы сказать "0 кликов, искаропки!", но даже в самых тупых реалтек-дровак под виндой всё равно приходится что-нибудь да перенастроить.
А вот в худшем случае - попробуйте запустить M-Audio под Windows Server 2008 или Vortex2 под Windows 7.
Что вы к человеку прицепились? У него, скорее всего встроенная звуковая и динамик, ему действительно 3 кликов достаточно. Ему даже 5кбит хватит его рингтоны слушать.А я когда-то под винду целый драйвер патчил хексредактором, чтобы выжать нормальный звцк.
Artem S. Tashkinov, не стыдно?
Нет, в Венде подобные настройки доступный только через профессиональное ПО и драйвера к профессиональному же оборудованию. Хотя, если вы купите приличный DAC (вы, конечно, вряд ли, вам бы на вокзальный беляш накопить), то с ним эти драйвера под Win будут. Для Linux же вам никаких драйвером и не понадобиться -- они уже есть в ядре.
> Чтобы настроить базовые параметры звуковой карты (В Windows 3 клика мышью), надо
> рыться в настройках непонятных файлов с непонятным форматов, что может привести
> к тому, что всё на фиг сломается.Для таких убунту сделали. А вот попробуй например наскриптить чтобы вечером тебе в уши играло по дефолту, а утром однако ж будильник в колонки через другую звуковуху орал. В линуксе как два байта переслать, а вот как программно переназначить дефолтный выхлоп в винде... три клика мышью это прекрасно. И совершенно не катит если это надо автоматически, например.
Поэтому юзер винды делает 3 клика мыши тут. И там. И сям. В результате превращаясь в придаток при компьютере, возякающий мышкой вместо того чтобы делать что-то полезное.
На мое мнение мышь далеко не всегда эффективное средство ввода. У меня ей хорошо получается делать по большому счету 2 вещи: рисовать графику и навешивать фраги в шутерах с разворота. Остальное клавой как-то можно сильно быстрее и результативнее. И даже с графикой в каком-нибудь CAD опять же может быть проще дать команду с точными координатами чем полчаса мышкой микрометраж отмерять. Даже до MS доползло с их WSL-ом.
>В Windows 3да.
// a.
А чем хуже resample-method=copy?
Отсутствием dvtyztvjq стереопанорамы. Все скомкано в кучу по сравнению с ffmpeg.
Отлично! Автор демонстрирует дамп конфига и полное отсутствие понимания того, что делают приведенные параметры и зачем.
а как скопировать конфиг, с другого дистра, мне нравится тот что в ubuntu studio 18.04, звукашка behringer hd204umc, рядовой пользователь, слушать предпочитаю lossless.
сборник вредных советов какой-то, и зачем такое постить?попробуйте с таким конфигом задержку при захвате померить и со стандартной сравнить. скорее всего банально по скайпу не получится поговорить...
качество кстати скорее всего ухудшится (но тут от железа зависит и от того как воспроизводимый звук оцифрован)
дурачок три (3) раза жмет на пробел вместо таба... да еще и не английским комментирует
а как было проверено что максимальное качество звука достигнуто?
И чем же ffmpeg не устраивает?
Гораздо больше к восприятию звука добавит введение системы 2+1. Тем более, ПУЛЬС позволяет разделить каналы. Чай, не винда.
resample-method = ffmpeg (предварительно установить ffmpeg)
enable-lfe-remixing = yes
lfe-crossover-freq = 250
(зависит от рогов и расположения саба)
Дискретизация - 44100 и 48000 (для кино)
Квантование - float32leИ lfe через отдельный усилитель на приличный саб. Ну а рога - это уже по вкусу. У меня широкополосные 6".
> И lfe через отдельный усилитель на приличный саб. Ну а рога -
> это уже по вкусу. У меня широкополосные 6".... и всё это в типовой хрущёбе. Бедные соседи. Они вам по вентиляции чёрных мамб не закидывают?
Максимально достижимое качество это вывод фонограммы "как есть", т.е. побитно идентично тому, что в файле. Данные настройки, в общем, этого сделать не позволяют, потому что тут указан ресемплер для случаев несовпадения частот микшера и исходной фонограммы. Но надо признать, что тут указан показан довольно разумный компромисс, когда по каким-то причинам нет желания слушать монопольно через ALSA в bit-perfect-режиме.
Если же хотите, чтобы в DAC приходило именно то, что файле, без пересчёта в микшере, то нужно использовать монопольный вывод в ALSA с явным образом отключенным софтовым микшером. К слову, сделать это в Linux куда проще, чем достичь такого же результата в Win или OS X.
ASIO4ALL v2, Jack Audio? Вроде оно мимо микшера может.
они
> В настройках ALSA направляем вывод в PulseAudio-плагин hw, напрямую взаимодействующий
> со звуковым драйвером ядра без промежуточных преобразований, что позволяет сократить задержки
> при выводе звука.Нет, тут дело не в задержках, они мизерны, а в том, что софтовый микшер для, например, изменения громкости использует пересчёт с понижением разрядности. Сделали вы тише и ваша исходная фонограмма с 16-битной разрядностью на выходе из микшера уже стала 12-битной. Поэтому регулировать ту же громкость лучше устройством, которое непосредственно занимается цифро-аналоговым преобразованием.
Столько спецов по звуку оказывается, а гайд написать рука поднялась только у делитанта.
В Ульяне уже soxr-vhq подвезли, пользуйтесь )
> default-sample-format = float32leАвтор, ты в теме полный баклан! На уровне железа ADC/DAC не оперируют плавучкой, как класс. Одно это гарантирует лишнее преобразование. Всегда. Везде. Максимальное качество будет если гнать поток в формате ADC/DAC без преобразований, а вовсе не.
Спасибо, теперь звук не шипит, зато периодически заикается а нагрузка на цп теперь 100% при воспроизведении любого аудио.
Настроил на своем Дебе 11, на слух действительно стало почище.
Кроме того перешел с pulseaudio-equalizer на pulseeffects, тоже дало прирост и убрало щелчки/задержки, да и просто удобнее оказалось!