LINUX.ORG.RU

jack, alsa, и передескретизация (44.1 <-> 48)

 , ,


1

2

Подскажите, немного не понимаю.

/etc/asound.conf

pcm.!default {
    type plug
    slave.pcm "jack"
    hint.description "Jack Audio"
}

Если в jack выставлена частота 44100 и я проигрываю видео в хроме (youtube, а звук там везде 48000), то в каком месте происходит передескретизация, в алсе? На железо (звуковуху) уходит то, что выставлено в jack (44100)?

Получается алса программно делает передескретизацию? А как сделать чтобы jack на звуковуху выдавал ту частоту, которая сейчас проигрывается (например проигрываю flac 44.1 - и он идёт на звуковуху, проигрываю в хроме видео 48 и он уходит на звуковуху без программной передескретизации. Такое вообще невозможно с jack?

★★

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

Такое вообще невозможно с jack?

Невозможно, для этого создан pulseaudio. Такое без костылей в принципе не сделать, для этого надо открыть вывод на карточку при проигрывании с нужной частотой:

  1. Не на всех карточках это нормально работает.

  2. Чтобы открыть вывод с другой частотой в данный момент не должно ничего проигрываться. Иначе для второго потока нужна передискретизация.

Желаемое поведение дает pulseaudio с avoid-resampling в настройках.

altwazar ★★★★
()

Джек не создан для передискретизации, как и его аналоги в других ОС.

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

Желаемое поведение дает pulseaudio с avoid-resampling в настройках.

Спасибо!

Установил пульс, выставил в конфиге avoid-resampling, а как проверить что в данный момент отдаётся на звуковуху? Потому что вроде проигрываю flac (44.1) в audacious, и смотрю в диспетчере задач - pulseaudio нагружает проц на 1% что намекает на передескретизацию...

так? cat /proc/asound/card0/pcm0p/sub0/hw_params

но хром всё равно выдаёт 44.1, странно, а если проигрывать фильм в mpv то 48

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

так? cat /proc/asound/card0/pcm0p/sub0/hw_params

Угу. Если ничего не проигрывается, то там не должно быть инфы. Если проигрываешь 44.1, то 44.1, 48, то 48.

Про хром точно сказать не могу, не пользуюсь. В мозилле зависит от трека (44.1 на какой-нибудь яндекс музыке, 48 на роликах в ютьюбе). В хроме должно быть также.

altwazar ★★★★
()

Не мучайтесь. Я так понимаю первопричина - встроенная звуковуха которая только фиксированную частоту умеет? Разоритесь на нормальную многоканальную карточку которая и 44.1kHz и 48kHz (в том числе) natively может. Я гарантирую что результат будет не сопоставим по качеству с любым oversampling в софте (сам через это в своё время прошёл, и поверьте - учитывая мои пристрастия к действительно хорошему звуку, я знаю о чём я говорю). И это не так дорого. Тем более если Вы со flac заморачиваетесь (это же не просто так, наверное).

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

Я так понимаю первопричина - встроенная звуковуха которая только фиксированную частоту умеет?

Суть в том, чтобы проигрывать источники с разной частотой без передискретизации и без смены частоты в настройках вручную. Какая бы карточка у тебя не была, а вывод для этого на неё нужно «открыть» с частотой источника.

И тут существует два подхода:

  1. Вывод из приложения на прямую, со всеми сопутствующими проблемами.

  2. Уникальный костыль как в pulseaudio.

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

Суть в том, чтобы проигрывать источники с разной частотой без передискретизации и без смены частоты в настройках вручную. Какая бы карточка у тебя не была, а вывод для этого на неё нужно «открыть» с частотой источника.

Всё правильно. Только нормальные карточки позволяют открывать много PCM потоков с разными параметрами одновременно. Результат по сравнению с тем что jack выдаёт - небо и земля. И геморроя минимум. И не тормозит ничего. Но если кому то хочется жевать кактус - да я ж в принципе не против…

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

Только нормальные карточки позволяют открывать много PCM потоков с разными параметрами одновременно.

Это одна часть геморроя первого варианта, так как карточки с аппаратными микшированием перестали делать уже лет 15 за ненадобностью.

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

Это одна часть геморроя первого варианта, так как карточки с аппаратными микшированием перестали делать уже лет 15 за ненадобностью.

Да ладно! Неужели правда? Не, ну я понятно отбрасываю semi-pro audio interfaces (которых у меня несколько)… Ну неужели последние SB уже не микшируют? Пошёл гуглить…

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

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

Нет конечно, не знаешь. Где замеры?

Я гарантирую что результат будет не сопоставим по качеству с любым oversampling в софте

Прочитай определение слова «гарантировать».

Разоритесь на нормальную многоканальную карточку которая и 44.1kHz и 48kHz (в том числе) natively может.

Это не имеет отношения к многоканальности. Иметь два тактовых генератора - хорошо. Использовать днищенский ресэмплер «прафисианальных» карт - плохо. Хорошо, если там не nearest neighbour или линейный интерполятор. До номарльного софтового ему далеко в любом случае. При этом с двумя кварцами беспокоиться о воображаемых потерях качества тем более не стоит - кратный ресэмплинг никак не искажает сигнал.

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

pulseaudio не умеет аппаратно передескретизировать звук. Он программно это делает, как и все.

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

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

Нет конечно, не знаешь. Где замеры?

Что именно вы хотите знать?

Это не имеет отношения к многоканальности. Иметь два тактовых генератора - хорошо. Использовать днищенский ресэмплер «прафисианальных» карт - плохо.

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

Хорошо, если там не nearest neighbour или линейный интерполятор. До номарльного софтового ему далеко в любом случае.

Ппц. No comments.

При этом с двумя кварцами беспокоиться о воображаемых потерях качества тем более не стоит - кратный ресэмплинг никак не искажает сигнал.

Где там, блин, кратность между 44.1 и 48??? Я подозреваю что я со звуком начал баловаться когда вы ещё в садик ходили. угомонитесь ужо. И перестаньте «тыкать» когда с незнакомыми взрослыми дяденьками общаетесь. Анон очередной, блин.

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

Позволю себе доверять своим ушам больше.

Типичный audiofool :)

Где там, блин, кратность между 44.1 и 48???

Нигде, поэтому два кварца. Кратность для более высоких частот.

И перестаньте «тыкать» когда с незнакомыми взрослыми дяденьками общаетесь.

Добро пожаловать в интернет, здесь и на *** послать могут.(c)

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

Не мучайся и не пиши комментов о том, о чём вообще ничего не знаешь.

Как Вы заблуждаетесь. Вот именно по звуку - я знаю предостаточно. Существенно больше многих здесь присутствующих, я так думаю. К сожалению в мире Linux в этом плане за последние 15 лет мало что изменилось - и всё до сих пор определяется не качеством железа, а именно уровнем поддержки в драйверах. В своё время мой Audigy2 в качестве десктопной карточки решил все мои проблемы, и до сих пор прекрасно себе фунциклирует, и приемлемо звучит на среднего пошиба студийных мониторах. После этого было много всего, но исключительно на маках.

Из того что нагуглил - сейчас вроде как многие Asus Xonar DX хвалят для Linux. Сам не проверял, очевидно. Надеюсь что действительно «многопоточная».

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

а как проверить что в данный момент отдаётся на звуковуху?

В звуковухах от ESI (Maya, Julia) фирменные виндовые драйвера показывали (кстати, очень няшные и без мусора, как creative). На XP был полный автомат частоты, на картах два кварца. Это неактуально для Vista+. На линуксе могу посоветовать подключить ресивер или внешний ЦАП по цифре и смотреть, что они показывают. Стоит выбирать дорогие модели с хорошими ц/а преобразователями, конечно.

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

И перестаньте «тыкать» когда с незнакомыми взрослыми дяденьками общаетесь

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

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

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

ASUS Xonar Essence ST подетальней будет. Хоть там и цифровой регулятор громкости (соответственно, задержки с микрофона и прочее).

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

Не указывай кому что писать, а кому не писать. Что за мода пошла?

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

по звуку - я знаю предостаточно

Audigy2

Asus Xonar DX

Ну, ну.

в этом плане за последние 15 лет мало что изменилось

В этом плане за 15 лет изменилось всё, включая железо.

no-such-file ★★★★★
()

Ресемплинг всегда осуществляет приложение. То есть, в твоём случае, ALSA. Каждый клиент JACK’а сам отвечает за то, чтобы частота дискретизации передаваемых им данных соответствовала той, с которой работает jackd.

JACK тактируется от звуковой карты (если точнее, то либо от осциллятора звуковой карты, либо от источника синхронизации звуковой карты). Все JACK-приложения, совместно использующие JACK-сервер, работают с одной и той же частотой дискретизации.

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

anonymous
()
Ответ на: комментарий от no-such-file

Audigy2

Asus Xonar DX

Ну, ну.

Что не так то?

в этом плане за последние 15 лет мало что изменилось

В этом плане за 15 лет изменилось всё, включая железо.

Железо да, а ситуация в целом - нет. Как раньше приходилось долго и мучительно гуглить чтобы найти что-то приличное что без проблем заведётся под Linux, так и сейчас.

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

Ресемплинг всегда осуществляет приложение.

Но это же бессовестная ложь.

JACK тактируется от звуковой карты

Это как?

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

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

Но это же бессовестная ложь.

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

Как раньше

Единственный раз который я могу вспомнить, это лет 20 назад, когда у товарища вообще ни с какими бубнами не завелась карточка ESS какая-то там. Тогда было модно лепить software defined говно «только для win98».

Что не так то?

Ничего, демонстрирует широту твоего «знаю предостаточно».

no-such-file ★★★★★
()
Ответ на: комментарий от bugfixer

Давно не слежу за рынком, но лет ~7 назад помню, что поддержку «новых» креативовских карточек очень неохотно добавляли в линукс. Там была какая-то «новая» модель, в которой начисто дропнули поддержку XP.

Кстати, у креативов очень хороший аппаратный ресемплер. Начиная с X-Fi.

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

Рекомендую ASUS карты. Очень музыкальные, многие хвалят. Но ресемплить 44.1>48 придется софтово, там у них как всегда не все гладко. Даже в Essence ST был синтезатор частот для 44.1 вместо отдельного кварца и повышенный уровень шума на этой частоте.

anonymous
()
Ответ на: комментарий от no-such-file

Как раньше

Единственный раз который я могу вспомнить, это лет 20 назад, когда у товарища вообще ни с какими бубнами не завелась карточка ESS какая-то там. Тогда было модно лепить software defined говно «только для win98».

Вот, вот оно. Хорошая карточка будет играть whatever one throws at it. Без костылей в user space. И без существенных ограничений по числу sources.

Что не так то?

Ничего, демонстрирует широту твоего «знаю предостаточно».

Скажем так, я знаю что такое преобразование Гильберта (правда к звуку именно как к музыке это имеет опосредственное отношение, скорее к момедным вещам), и программировал DSP этак в конце 90ых.

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

Вот, вот оно

Вот такого давно уже нет. Щас в каждом утюге

я знаю что такое преобразование Гильберта

Ну хорошо, что ты не прогуливал РТЦиС на втором курсе. И что? К акустике это имеет такое же отношение как билет к балету. Тем более что касается практики и конкретных железок.

no-such-file ★★★★★
()
Ответ на: комментарий от no-such-file

Ну хорошо, что ты не прогуливал РТЦиС на втором курсе. И что? К акустике это имеет такое же отношение как билет к балету. Тем более что касается практики и конкретных железок.

Можно я просто помолчу? Хотя подмывает конечно, и на тему релизов, и на тему живых выступлений.

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

Ресемплинг всегда осуществляет приложение.

Но это же бессовестная ложь.

JACK тактируется от звуковой карты

Это как?

«Это», «это» — о чём же ты, голубчик?

Тебе надо больше практиковаться выражать свои мысли словами. Сейчас у тебя это скверно получается.

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

«Это», «это» — о чём же ты, голубчик?

«Голубчик» у вас в другом месте. Очередной «Владимир»?

Запарили аноны, если честно…

Тебе надо больше практиковаться выражать свои мысли словами. Сейчас у тебя это скверно получается.

Как есть. Никто не будет будить на каждом sample, ну вот совсем не так оно работает, в принципе. И 44.1kHz (или чтобы там ни было) не торчит внутрь никак, от слова «совсем».

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

Так ты, голубчик, получается, не только по-людски изъясняться не можешь, а ещё и написанное-то толком разобрать не в состоянии. Бедненькй. Досталась же тебе судьбинушка.

Однако, ты правильно говоришь, что никто не будет делать итерацию на каждый фрейм, а значит, всё-таки, какой-то огонёк рационального в тебе ещё теплится. Если вовремя не подбросить дровишек, то огонёк этот скоро совсем погаснет! А это, дружочек мой, было бы весьма прискорбно. Могу дать ссылку на «дровишки» или просто раскрыть кое-какую тайну, от который ты возможно «прозреешь» :)

Очередной «Владимир». Я бы с тобой тоже в баньку сходил, кстати.

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

ладно, расскажу тебе секрет. на самом деле изначальный комментарий мне не принадлежит. его автор — робин гареус — один из контрибьюторов jack, ардора и разработчик отличных lv2-плагинов.

мой здесь только перевод.

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

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

мой здесь только перевод.

Ваш английский очень сильно хромает, должен заметить. То как вы интерпретировали исходный текст ничего общего с оригинальным посылом не имеет.

если теперь ты извинишься

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

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

И 44.1kHz (или чтобы там ни было) не торчит внутрь никак, от слова «совсем».

то сможешь получить шанс восстановить свою репутацию в моих глазах.

Я вам больше скажу - даже на самой карточке 44.1kHz наверняка нет: там 44.1 x 16 (примерно 1 мегагерц на канал), который «однобитный» ШИМ stream, который потом заводится на интегратор, и «вуаля». Отрезать 44.1 от 20 - не халява, и нелинейные искажения там были бы не детские (если делать «в лоб, по бумажке»)

а пока что, голубчик, ни о каком серьёзном отношении к твоим словам и речи быть не может.

Я правильно понял, вы из этих, «заднеприводных»? Это не ко мне. А то очень не хочется подтверждать тезис о том что «Россия удивительная страна - здесь ежегодно продают 10 тысяч бейсбольных бит, и всего сотню бейсбольных мячей».

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

Деанонимизируйтесь для начала.

Не вижу имени в профиле. Что один анонимное трепло, что второй.

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

Полное имя: bugfixer

Не повезло тебе с именем.

Как есть. Пока не жаловался.

Хорош меня с анонами ровнять…

«Равнять»

Что я не так написал?

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

Ваш английский очень сильно хромает, должен заметить. То как вы интерпретировали исходный текст ничего общего с оригинальным посылом не имеет.

Ну ладно, действительно, возможно слово «тактируется» не совсем удачное :) Но ты всё равно додик.

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