som intermitente no ubuntu 16.04

1

Sou novo no Ubuntu e no Linux em geral. Eu tenho alguns problemas de som, quando eu ouço música, especialmente no Firefox, eu pego esses sons "soluços" - o que significa que a cada 10 a 30 segundos o som para por uma fração de segundo e depois retorna.

Também acontece quando ouço músicas off-line através dos players pré-instalados, mas em menor grau.

Tentei desmarcar a opção "Usar aceleração de hardware quando disponível" no Firefox, mas o problema ainda ocorre.

Obrigado!

    
por Jake 16.09.2017 / 14:52

1 resposta

0

Ok, então encontrei uma solução para o meu problema.

Eu segui as instruções deste tutorial: link

Se você estiver interessado na lógica por trás da solução, sinta-se à vontade para verificar o link por conta própria. Esta resposta será puramente técnica.

em resumo, eu corri primeiro:

sudo gedit /etc/pulse/default.pa

e adicionou tsched=0 à linha existente - load-module module-udev-detect . significando que o resultado final deve ser: load-module module-udev-detect tsched=0

de acordo com o tutorial, ele desativa algo chamado "agendamento de áudio baseado em cronômetro".

depois eu executei o comando: pactl list sinks e obtive uma saída longa de informações e parâmetros.

Sink #0
State: RUNNING
Name: alsa_output.pci-0000_00_1f.3.analog-stereo
Description: Built-in Audio Analog Stereo
Driver: module-alsa-card.c
Sample Specification: s16le 2ch 48000Hz
Channel Map: front-left,front-right
Owner Module: 6
Mute: no
Volume: front-left: 47842 /  73% / -8.20 dB,   front-right: 47842 /  73% / -8.20 dB
        balance 0.00
Base Volume: 65536 / 100% / 0.00 dB
Monitor Source: alsa_output.pci-0000_00_1f.3.analog-stereo.monitor
Latency: 92790 usec, configured 99954 usec
Flags: HARDWARE HW_MUTE_CTRL HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY 
Properties:
    alsa.resolution_bits = "16"
    device.api = "alsa"
    device.class = "sound"
    alsa.class = "generic"
    alsa.subclass = "generic-mix"
    alsa.name = "Generic Analog"
    alsa.id = "Generic Analog"
    alsa.subdevice = "0"
    alsa.subdevice_name = "subdevice #0"
    alsa.device = "0"
    alsa.card = "0"
    alsa.card_name = "HDA Intel PCH"
    alsa.long_card_name = "HDA Intel PCH at 0xef328000 irq 131"
    alsa.driver_name = "snd_hda_intel"
    device.bus_path = "pci-0000:00:1f.3"
    sysfs.path = "/devices/pci0000:00/0000:00:1f.3/sound/card0"
    device.bus = "pci"
    device.vendor.id = "8086"
    device.vendor.name = "Intel Corporation"
    device.product.id = "9d71"
    device.form_factor = "internal"
    device.string = "front:0"
    device.buffering.buffer_size = "17632"
    device.buffering.fragment_size = "4408"
    device.access_mode = "mmap"
    device.profile.name = "analog-stereo"
    device.profile.description = "Analog Stereo"
    device.description = "Built-in Audio Analog Stereo"
    alsa.mixer_name = "Conexant Generic"
    alsa.components = "HDA:14f11f72,104311b0,00100000 HDA:8086280b,80860101,00100000"
    module-udev-detect.discovered = "1"
    device.icon_name = "audio-card-pci"
Ports:
    analog-output-speaker: Speakers (priority: 10000)
    analog-output-headphones: Headphones (priority: 9000, not available)
Active Port: analog-output-speaker
Formats:
    pcm

você deve se concentrar apenas nessas 4 linhas:

  • % bl0ck_qu0te%
  • % bl0ck_qu0te%
  • % bl0ck_qu0te%
  • % bl0ck_qu0te%

usando as informações dessas 4 linhas, você calculará 2 valores:

valor 1:

(em matemática simples: link ):

Na primeira linha eu tenho 2ch 48000Hz e na segunda linha eu tenho o valor "16" então eu simplesmente fiz 2*48000*16=1536000 .

agora divida o valor da quarta linha (para mim, "4408" ) pelo resultado que você acabou de calcular (para mim, 1536000 ) e multiplique-o por mil.

significa que para mim: valor 1 = 2.86979 .

valor 2: simplesmente divida o valor da primeira linha pelo valor da quarta linha.

significa que para mim: valor 2 = 17632/4408 = 4 .

-

Por fim, execute o comando: sudo gedit /etc/pulse/daemon.conf

procure as linhas:

; default-fragments = ---
; default-fragment-size-msec = ---

e insira os valores assim:

; default-fragments = value 1
; default-fragment-size-msec = value 2

Agora tudo o que resta a fazer é reiniciar o pulseaudio. executar:

killall pulseaudio
pulseaudio --check

e depois iniciar o pulseaudio a partir do diálogo de execução (Alt + F2 por padrão)

Espero que tenha sido útil:)

    
por Jake 16.09.2017 / 19:52