Звук вина звучит слишком быстро и ужасно потрескивает

14

Звуки в моих приложениях воспроизводятся на суперскорости и ужасно потрескивают. В Spotify песни на самом деле воспроизводятся с трехкратной скоростью. Я немного погуглил, и все, что я могу придумать, - это отчет об ошибке за январь 2012 года, который помечен как закрытый.

Я протестировал Spotify и Hearthstone, используя PlayOnLinux с Wine версий 1.5.0, 1.6, 1.6.0, 1.7.0, 1.7.8, а также систему Wine, которая является версией 1.4.1. Все они имеют одинаковую ужасную трескучую проблему. Это заставляет меня предположить, что это не ошибка в Wine.

Шаги для воспроизведения из отчета об ошибке:

Действия по воспроизведению:
1. winecfg
2. перейти на вкладку Аудио
3. Тест звука

Фактические результаты:
потрескивающие звуки

Ожидаемые результаты:
нормальный выход

Также я слышу потрескивающие шумы. При этом winecfg выводит на терминал следующее:

p11-kit: не удалось загрузить модуль: /usr/lib/i386-linux-gnu/pkcs11/p11-kit-trust.so: / usr / lib / i386-linux-gnu / pkcs11 / p11-kit-trust. поэтому: не удается открыть общий объектный файл: нет такого файла или каталога
err: ole: CoInitializeEx Попытка изменить многопоточную модель этой квартиры с многопоточной на квартиру многопоточной
ALSA lib pcm.c: 7843: (snd_pcm_recover) произошло переполнение
ALSA lib pcm.c: 7843: (snd_pcm_recover) произошло переполнение
ALSA lib pcm.c: 7843: (snd_pcm_recover) произошло переполнение
ALSA lib pcm.c: 7843: (snd_pcm_recover) произошло переполнение

(Первая строка отображалась, когда я открывал winecfg, последние 5 отображались, когда я нажимал Test Sound)

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


pulseaudio 1: 4.0-0ubuntu6 amd64
Hubro
источник
Может быть связан или дублирован: askubuntu.com/questions/124602/…
donquixote

Ответы:

24

Так как это первый результат, возвращенный Google, я решил поделиться своим опытом здесь. Для тех, кто ищет быстрое решение, внесите следующее в ваш ~ / .bashrc или / etc / profile для общесистемных изменений:

alias wine='PULSE_LATENCY_MSEC=60 wine'

Это то же самое исправление, которое используется для Skype и PulseAudio 4.0 и выше, которое ведет себя так же, как Wine. Надеюсь это поможет!

Изменить (12.01.2016) :

Вы можете включить эту переменную глобально, добавив эту строку в ~ / .bashrc и выйдя из системы / перезагрузки

export PULSE_LATENCY_MSEC=60

Если после этого у вас возникают проблемы со звуком в других приложениях, просто удалите строку и выйдите из системы или перезагрузите компьютер. Если вы хотите временно проверить его, откройте новый терминал и вставьте эту строку. Теперь каждое приложение, которое вы вызываете из этого терминала, будет иметь установленную переменную, а PulseAudio будет устанавливать задержку.

Более подробная информация об этой проблеме и ее устранении: http://arunraghavan.net/2013/08/pulseaudio-4-0-and-skype/

Iskren
источник
Работает ли это также при запуске Wine из PlayOnLinux и подобных приложений? Я бы
проверил
1
Понятия не имею, никогда не запускал PlayOnLinux. Вы можете проверить это, набрав вышеупомянутую команду в терминале и запустить что-нибудь из PlayOnLinux. Если у вас хороший звук, значит, он работает. Если это не так, вы можете попробовать установить переменную напрямую, запустив «export PULSE_LATENCY_MSEC = 60» в терминале, а затем запустив PlayOnLinux с того же терминала. Он «наследует» переменную и должен работать.
Искрен
Спас мой бекон. У меня была эта проблема в течение многих лет, это единственное, что сработало. Мне любопытно, вы помните, откуда у вас это решение? Знаем ли мы, почему это работает?
Доктор Ганнибал Лектер
У меня были проблемы с PA4 и Skype некоторое время назад, и я искал решение. Чуть позже вино начало делать то же самое, так что я просто попробовал скайп исправить, и это сработало. Это сообщение объясняет довольно хорошо , в чем проблема и как эта переменная фиксирует это: arunraghavan.net/2013/08/pulseaudio-4-0-and-skype
Iskren
Боюсь, это решение не работает в POL. Хотя, поначалу так и казалось.
Тамсин Михаил
7

Запустите терминал (Ctrl + Alt + T)

Команда выдачи pulseaudio -k

Попробуйте воссоздать проблему. Больше не должен играть в ускоренной перемотке.

Что касается потрескивания, то журнал говорит вам просто и ясно, что у вас переполнение буфера. Измените качество выборки ... Пожертвуйте качеством ради скорости и посмотрите, решит ли это вашу неудачу.

DeeJayh
источник
Я встал сегодня утром и не смог воссоздать проблему. Звучит теперь идеально. Единственное, что я сделал со вчерашнего дня, это переключил вывод звука с моей гарнитуры на HDMI. Сегодня я вернулся и потрескивание исчезло. Возможно, это скоро случится снова, тогда я постараюсь убить pulseaudio.
Hubro
Проблема вернулась. Я попробовал, pulseaudio -kи все звуки исчезли. Ползунок звука в Ubuntu недоступен, и в настройках звука нет звуковых устройств. Пришлось перезагрузить, чтобы вернуть звук.
Hubro
Импульсное аудио должно перезапускаться sudo alsa force-reload
само
Также, просто введя команду, вы pulseaudioдолжны начать ее резервное копирование, когда она сама по себе не работает.
ДиДжей Джей
Это не узкое место процессора. У меня такая же проблема на 4790k с World of Warcraft, я никогда не превышаю 30% CPU, и у меня niceна WoW и Pulseaudio установлено значение -20. Что-то в программном обеспечении мешает pulseaudio фактически заполнять буферы.
Джонатан Болдуин
3

В некоторых играх, если вы используете PlayOnLinux, вы можете открыть панель запуска в текстовом редакторе и изменить Exec=строку следующим образом:

Exec=env PULSE_LATENCY_MSEC=60 /usr/share/playonlinux/playonlinux --run "GameName" %F
Skitz
источник
1

Попробуйте это решение . В основном это было связано с PulseAudio, лично я удалил его и попробовал снова, и опустошение исчезло, но я потерял способность перемещать аудиовыход в другие приемники. Это руководство по поддержанию pulseaudio и ALSA прекрасно взаимодействует друг с другом, не позволяя pulseaudio напрямую задействовать аппаратное обеспечение.

allenskd
источник
3
Хотя это может теоретически ответить на вопрос, было бы предпочтительным включить сюда основные части ответа и предоставить ссылку для справки.
Stormvirux
Это не решение для тех, кому нужна запись звука, поступающего из приложения Wine, или которое вообще мало заботится о задержке (Pulse играет быстро и достаточно свободно с задержкой, как есть, но добавляя туда и dmix ...)
Джонатан Болдуин
0

Добавлено обновленное решение, как указано выше

http://tux-is-gaming.blogspot.com.au/2014/02/fixing-alsa-lib-pcmc7843sndpcmrecover.html?showComment=1394964710443#c3501258764752400662

Аарон Уильямс
источник
2
Добро пожаловать в Спросите Ubuntu! Хотя это может теоретически ответить на вопрос, было бы предпочтительным включить сюда основные части ответа и предоставить ссылку для справки.
Stormvirux
1
Согласен, но это всего лишь небольшой твик, который я добавил (см. Комментарий внизу) к довольно хорошо описанному исправлению по предоставленной ссылке
Аарон Уильямс
0

После запуска просто отлично приложение portaudio стало ошибочно звучать при съемке ошибок

ALSA lib pcm.c:7963:(snd_pcm_recover) underrun occurred
ALSA lib pcm.c:7963:(snd_pcm_recover) underrun occurred

РЕШЕНИЕ - сначала нужно убить существующий процесс ... выпустить эти команды

    pulseaudio --kill

    jack_control start

Как только вы закончите с вышеупомянутым, тогда выполните эти команды:

    jack_control exit

    pulseaudio --start

Теперь то же приложение затем воспроизводил аудио через portaudio просто отлично

cat /etc/lsb-release 
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.1 LTS"

dpkg -l|grep portaudio
ii  libportaudio2:amd64                         19+svn20140130-1build1                               amd64        Portable audio I/O - shared library
ii  libportaudiocpp0:amd64                      19+svn20140130-1build1                               amd64        Portable audio I/O C++ bindings - shared library
ii  portaudio19-dev                             19+svn20140130-1build1                               amd64        Portable audio I/O - development files
Скотт Стенсленд
источник
0

У меня была похожая проблема со Skyrim в Linux через. Steam Play. Я пробовал все виды вещей; это были единственные вещи, которые действительно работали, поэтому они должны быть важными.


Чтобы заставить музыку и голоса работать, вот что сработало для меня:

  1. включить Steam Beta клиент, перезапустить
  2. Настройки> Steam Play> Включить Steam Play для всех игр
  3. установить Skyrim через Steam
  4. установить winetricks(т.е.apt install winetricks )
  5. найдите каталог steamapps/compatdata/489830и убедитесь, что у него есть pfxкаталог. cdвнутрь.
  6. выполнять WINEPREFIX=$PWD/pfx winetricks --force xact
  7. выполнять WINEPREFIX=$PWD/pfx winecfg
  8. на вкладке «Библиотеки» создайте переопределения для свойств xaudio2_6и xaudio2_7, задав для обоихnative

Вы узнаете, что это работает, если услышите вводную музыку на титульном экране.

Источник: https://www.reddit.com/r/linux_gaming/comments/99i4se/skyrim_on_linux_steam_play_no_voiceno_music_audio/

-------------------------------------------------- --------------------------------------------------

У меня также был какой-то треск, треск или искажение звука после того, как я заработал музыку и голоса. Вот что сработало для меня:

Запаздывающий звук

Эта проблема связана с неправильным размером буфера. Сначала убедитесь, что переменные default-fragmentsи default-fragment-size-msecне установлены в файл значения не по умолчанию /etc/pulse/daemon.conf. Если проблема сохраняется, попробуйте установить для них следующие значения:

/etc/pulse/daemon.conf

default-fragments = 5

default-fragment-size-msec = 2

-------------------------------------------------- --------------------------------------------------

Прерывистый / искаженный звук

Это может произойти из-за неправильно установленной частоты дискретизации. Попробуйте следующую настройку:

/etc/pulse/daemon.conf

avoid-resampling = yes #(Needs PA11 or higher)

default-sample-rate = 48000

и перезапустите сервер PulseAudio.


Если в приложениях, использующих OpenAL, слышен прерывистый звук, измените частоту дискретизации в /etc/openal/alsoft.conf:

/etc/openal/alsoft.conf

frequency = 48000


Установка громкости PCM выше 0 дБ может вызвать ограничение. Запуск alsamixerпозволит вам увидеть, если это проблема, и если так, то исправить ее. Обратите внимание, что ALSA может неправильно экспортировать информацию дБ в PulseAudio. Попробуйте следующее:

/etc/pulse/default.pa

load-module module-udev-detect ignore_dB=1

и перезапустите сервер PulseAudio.

Источник: https://wiki.archlinux.org/index.php/PulseAudio/Troublesho##Laggy_sound

Андрей
источник