Existe uma maneira de nivelar / comprimir o sistema de som?

14

Como usuário de laptop, tenho certeza de que muitas pessoas, mesmo as que usam Netbooks, já teriam passado por esse problema. Especialmente ao ouvir podcasts, e usá-lo como exemplo, o som pode ter momentos altos e momentos tranquilos, uma pessoa falando alto e a outra falando muito quieta no mesmo episódio. Assim, eu sempre quis que o som fosse comprimido em todo o sistema, e eu notei no outro dia, que no Windows, alguns drivers Realtek já oferecem essa função.

Já temos um plug-in pulseaudio para equalização em todo o sistema e, embora ainda tenha problemas, como não nos permitir mudar seus valores e ouvir a mudança em tempo real, ou quebrar o som enquanto mudamos o volume do pulso, eu adoro isso e use-o. Agora eu só estou perdendo algo para manter o som em torno de 0db (ou perto do nível de volume que você está usando) como um plugin nivelador para pulseaudio.

Alguma sugestão?

    
por JethroDawnfine 23.03.2011 / 00:14

3 respostas

14

Eu tive sucesso com o exemplo mostrado em esta resposta .

Instale plugins LADSPA de Steve Harris e, em seguida, execute o seguinte em pacmd :

load-module module-ladspa-sink sink_name=compressor plugin=sc4m_1916 label=sc4m control=1,1.5,401,-30,20,5,12
set-default-sink compressor

Os parâmetros (a parte control=1,1.5,401,-30,20,5,12 acima) para este compressor estão descritos em Documentos do Plugin LADSPA de Steve Harris :

  
  1. RMS / pico: o equilíbrio entre o RMS e os seguidores de envelope de pico.   geralmente melhor para sutil, musical   compressão e pico é melhor para   compressão mais pesada e rápida   percussão.
  2.   
  3. Tempo de ataque (ms): o tempo de ataque em milissegundos.
  4.   
  5. Tempo de liberação (ms): o tempo de liberação em milissegundos.
  6.   
  7. Nível de limite (dB): O ponto no qual o compressor começará a   chute.
  8.   Relação
  9. (1: n): A taxa de redução de ganho usada quando o nível do sinal   excede o limite.
  10.   
  11. Raio do joelho (dB): a distância do limiar onde o joelho   curva começa.
  12.   
  13. Ganho de maquiagem (dB): Controla o ganho do sinal de entrada de composição em   dB's.
  14.   
  15. Amplitude (dB): O nível do sinal de entrada, em decibéis.
  16.   
  17. Redução de ganho (dB): o grau de redução de ganho aplicado à entrada   sinal, em decibéis.
  18.   

Devido a uma limitação do PulseAudio, não é possível ajustá-los em tempo real.

Para testar diferentes parâmetros, também carreguei o compressor como um plugin ALSA ajustável em tempo real por Alsaequal criando o seguinte ~/.asoundrc :

ctl.compressor {
  type equal;
  library "/usr/lib/ladspa/sc4m_1916.so";
  module "sc4m";
}

pcm.plugcompressor {
  type equal;
  slave.pcm "plug:pulse";
  library "/usr/lib/ladspa/sc4m_1916.so";
  module "sc4m";
}

pcm.compressor {
  type plug;
  slave.pcm plugcompressor;
}

Um exemplo de arquivo MP3 pode ser reproduzido através do compressor usando mpg321 ,

mpg321 -a hw:compressor "04 - Love Song for Yoshimi.mp3"

enquanto alsamixer -D compressor pode ser usado para ajustar parâmetros em tempo real.

Esta resposta explica como carregar o plugin permanentemente.

    
por ændrük 20.05.2011 / 07:39
2

Estes foram extremamente úteis. Obrigado pela inspiração. Embora seja imperfeito no momento, eu tenho um pouco para contribuir de volta. Eu olhei na documentação do Steve Harris para descobrir que existem vários sabores do compressor, e optei por usar o estéreo. Isso complicou o uso do Pulse Audio Volume Control para colocar o compressor em vários aplicativos, como Chrome e VLC, mas eu gosto do resultado. Minha motivação para usar um compressor é colocar um limite de volume mais baixo e mais alto. A fim de não acordar ninguém em casa tarde da noite, eu não queria estar constantemente aumentando o volume para ouvir os personagens falando na mídia, apenas apressando-me a abaixá-lo sempre que uma ação de super-herói acontecesse ou um comercial aparecesse . Eu segui a inspiração aqui e ajustei os valores em tempo real. Então peguei meus valores desejados e os coloquei de volta no código de amostra. Em suma, o código de exemplo que estou contribuindo descaradamente toma emprestado do exemplo acima, mas apresenta o compressor estéreo com um limite de volume superior e inferior bastante restrito. Por fim, coloco isso na forma de um script, que não está funcionando totalmente. Não gosta da linha set_default. Espero que isso seja útil para a comunidade.

#!/bin/sh
#ComperssorScript.sh
#Script to start PulseAudio Compressor with desired settings
#Original: 2016 September 17

pacmd load-module module-ladspa-sink sink_name=compressor plugin=sc4_1882 label=sc4 control=9,5,63,-6,15,3,49
set-default-sink compressor

#The parameters (the control=1,1.5,401,-30,20,5,12 for example) for this #compressor are described in Steve Harris' LADSPA Plugin Docs:
#RMS/peak: The balance between the RMS and peak envelope followers. RMS #is generally better for subtle, musical compression and peak is better #for heavier, fast compression and #percussion.
#9,
#Attack time (ms): The attack time in milliseconds.
#5,
#Release time (ms): The release time in milliseconds.
#63,
#Threshold level (dB): The point at which the compressor will start to #kick in.
#6,
#Ratio (1:n): The gain reduction ratio used when the signal level exceeds #the threshold.
#-15,
#Knee radius (dB): The distance from the threshold where the knee curve #starts.
#3,
#Makeup gain (dB): Controls the gain of the makeup input signal in dB's.
#49,
#Amplitude (dB): The level of the input signal, in decibels.
#no value was placed here
#Gain reduction (dB): The degree of gain reduction applied to the input #signal, in decibels.
#Due to a limitation of PulseAudio, it is not possible to adjust them in #real time.
#no value was placed here

    
por ShoNuff 18.09.2016 / 07:47
0

Aqui está o plugin estéreo com melhores configurações de controle (Muito menos clipping) seguindo a resposta do ændrük que usa o exemplo do mono plugin .

load-module module-ladspa-sink sink_name=compressor plugin=sc4_1882 label=sc4 control=1,1.5,300,-20,3,1,10
    
por RootCookie 17.11.2017 / 11:37