LINUX.ORG.RU

Как сделать звук микрофона на линуксе лучше?

 , ,


0

1

Здравствуйте. Уже достаточно продолжительное время пользуюсь линукс системами и всегла возникает одна и та же проблема - очень плохое исходное кач-во звука с микрофона. Я пользовался дискордом на виндовс и пользуюсь сейчас на линукс, но звук отличается очень сильно. Это связанно с тем, что на линукс версии нет тех встроенных плагинов и кодеков, что есть на видовс версии. Так вот вопрос заключается в том - как можно повысить качество звука иными путями? Не советуйте покупку нового микрофона, так как звук был нормального кач-ва когда я сидел на виндовс. Всем заранее спасибо за ответы.

Качества звука на Linux — очень больная тема… приготовься увидеть Бездну…

Если вкратце, то готового и общепринятого решения для хорошего звука из коробки на Linux нет, руками всё приходится делать.

По умолчанию во многих дистрибутивах используют PulseAudio (надстройка над ALSA для простоты и звука по сети), можешь попробовать её настроить (там есть рецепты): https://wiki.archlinux.org/title/PulseAudio https://wiki.archlinux.org/title/PulseAudio/Troubleshooting

И многое ПО в Linux принципиально работает только с PulseAudio, так что если будешь использовать что-то иное, придется работать через прослойки, вроде pipewire-pulse для PipeWire или apulse для ALSA (кстати автор последней — ЛОРовец).

Но её же многие ругают за то, что по архитектуре она принципиально плоха, старожили рекомендуют использовать голую ALSA безо всяких надстроек: https://wiki.archlinux.org/title/ALSA https://wiki.archlinux.org/title/Advanced_Linux_Sound_Architecture/Troubleshooting

Ещё большие старожилы говорят, что ALSA — это само по себе плохо, и что лучше использовать OSSv4: https://wiki.archlinux.org/title/Open_Sound_System

Если мы же вернемся в лагерь более современных нам пользователей, у тех, кто профессионально занимается звуком под Linux популярен JACK и JACK2: https://wiki.archlinux.org/title/JACK

И самое модное и молодежное решение — это, конечно, PipeWire: https://wiki.archlinux.org/title/PipeWire

PulseAudio, JACK, PipeWire — надстройки над ALSA, насколько я помню. А OSSv4 — вообще отдельная звуковая подсистема.

Кроме того, многие считают, что realtime или lowlatency ядро улучшает звук, например в Ubuntu Studio такое используется по умолчанию.

Про свой личный опыт — сейчас я сижу на обычном ядре под Debian 11 на голой ALSA, до того использовал PulseAudio на Ubuntu с linux-lowlatency или linux-image-rt-amd64 на Debian.

Но я не пробовал добиваться реально хорошего звука… просто чтобы не было заиканий.

К слову, однажды мне удалось починить звук на Debian 9 на обычном ядре и PulseAudio… но я там столько модификаций всего навертел, что так и не понял, как это у меня вышло.

Я бы на твоем месте начал с установки realtime или lowlatency ядра из репозитория своего дистрибутива (если не используешь виртуальные машины, с ними на этих ядрах могут быть проблемы), а если не помогло, то начал бы подкручивать по этому гайду: https://wiki.archlinux.org/title/PulseAudio/Troubleshooting

Но я не профи в Linux по звуку, увы… просто не очень привередливый пользователь.

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

очень плохое исходное кач-во звука с микрофона

"Очень плохое" это очень размытое описание.

Что за микрофон, как подключен?

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

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

micronekodesu ★★★
()
Ответ на: комментарий от Vsevolod-linuxoid

я там столько модификаций всего навертел, что так и не понял, как это у меня вышло.

Если не понимаешь в вопросе, зачем флудить в каждой ветке?

старожили рекомендуют

Демагогия. Кучка ретроградов, поверхностно разбирающихся в вопросе - никак не сторожилы.

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

попробовать сделать «тише»

Или громче. Возможно дискорд пытается делать нормализацию, а у ТС громкость на уровне шума.

Но вообще согласен, нужно более конкретное описание, что «плохо».

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

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

Удобно одновременно крутить ползунки в alsamixer и запускать

arecord -d 5 test-mic.wav && aplay test-mic.wav

проверяя результат. Но это касается только проблемы трещащего микро, сложно что-либо посоветовать, не зная конкретно твоей проблемы.

x86-
()
Ответ на: комментарий от Vsevolod-linuxoid

Спасибо за развернутый ответ. Попробую сделать как написано в предпоследнем абзаце, надеюсь звук хоть немного станет чище.

И самое модное и молодежное решение — это, конечно, PipeWire: https://wiki.archlinux.org/title/PipeWire

Думаю, что сначала попробую этот вариант, мне кажется что я уже где то слышал о его способности в улучшение кач-ва звука, хоть и без доказательств. Спасибо.

Garivado
() автор топика
Ответ на: комментарий от micronekodesu

«Очень плохое» это очень размытое описание.

Если бы у меня был второй жёсткий диск, я бы установил и показал в сравнении. Но к сожалению его нет, так что я попробую описать словами. Самая больная проблема - заикания. Звук постоянно обрывается на полуслове, а если буду говорить тише так вообще, половину слов просто не слышно, хоть и голос достаточно басовитый. По сути логичным решением проблемы было бы увеличение громкости микрофона, но это только даёт больше шипения и иногда все равно звук пропадает. Вторая по важности проблема - шипение. Такое чувство что я не в дискорде общаюсь, а в какой то сурс игре нулевых, по типу кс. Я изначально думал, что это проблема отсутствия в дискорде шумоподавления «Krisp», но как позже показала практика, в обычном сравнении в другой программе для связи результат примерно одинаковый.

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

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

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

Но вообще согласен, нужно более конкретное описание, что «плохо».

Более корректное описание выше. Насчёт тише/громче - думаю проблема не в этом. Сам по себе микрофон не совсем дотягивает до нормального уровня громкости, но поднимаю я эту громкость совсем чуть чуть. Опять же, под виндовс я чуть ли не все уровни на максимум крутил и звук оставался нормальным. Спасибо за ответ.

Garivado
() автор топика

Noise Torch поставь. Он создает виртуальный микрофон, в который заворачивается выход из выбранного тобой реального микро.

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

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

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

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

Garivado
() автор топика
Ответ на: комментарий от SR_team

Очень интересно, а есть ли какие-либо минусы такого подхода? Большая задержка к примеру. Спасибо за ответ.

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

На PulseAudio возможны задержки (примерно 200мс по ощущениям), но я к нему не через NoiseTorch прикручивал RNNoise - так что возможно дело в моих руках.

На PipeWire задержек не заметно, если не пустить на наушники одновременно выход с реального микро и отфильтрованого, но задержка очень маленькая - речь практически одновременно звучит.

P.S. Это без rt/lowlatency ядер

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

проблема с заикиванием

Из-за шумов ДС мог выставить слишком высокий порог срабатывания, попробуй снизить его - должны пройти заикания

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

Очень интересно. Я уже слышал про RNNoise, но никогда не думал прикручивать его к PulseAudio или использовать решения подобные NoiseTorch. Как приеду домой обязательно попробую, спасибо за совет.

Garivado
() автор топика
Ответ на: комментарий от SR_team

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

Garivado
() автор топика

как можно повысить качество звука иными путями?

Можно добавить к микрофону платку АРУ max9814 ©.

Самая больная проблема - заикания.

Глянь в Csound:
Realtime I/O on Linux Using ALSA ©.
Optimizing Audio I/O Latency ©.

Вторая по важности проблема - шипение.

PulseAudio diagram © – «чу́дище о́бло, озо́рно, огро́мно, стозе́вно и ла́яй» © – оно не может не шипеть :)

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

Один вопрос - у тебя часом не комбинированый микрофон и наушники на одном Bluetooth? ;)

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

Комбинированый с наушниками, но без Bluetooth

Garivado
() автор топика

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

Нет.

Так вот вопрос заключается в том - как можно повысить качество звука иными путями?

Сначала нужно понять в чем разница и из-за чего она присутствует. Звук под линуксом идет без обработки. Под виндой зависит от драйвера, если используется не asio. У меня под виндой на 0404 usb какой-то компрессор и нормализация звука для микрофона.

Пробовать всякие OSSv4, пайпвайры, голую алсу или еще что бессмысленно. Там нигде нет влияющих на звук эффектов.

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

пробовал понизить чуствительность

В каком положении ползунки громкости микрофона в pulseaudio (можно глянуть в pavucontrol) и в alsamixer?

Возможно в pavucontrol стоит низкая чувствительность.

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

Прикольная тема, спасибо, но есть небольшая задержка, даже если threshold убрать в 0, слышно что съедается маленькая часть первого слога после паузы в разговоре. (У меня пульса, rhel 8)

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