web-dev-qa-db-ja.com

システム全体でサウンドを平準化/圧縮する方法はありますか?

ラップトップユーザーとしては、ネットブックを使用している人でさえ、この問題をすでに経験しているはずです。特に、ポッドキャストを聞いて、例としてそれを使用するとき、同じエピソードで音が大きい瞬間と静かな瞬間を持ち、一人が大声で話し、もう一人が非常に静かに話します。それにより、サウンドをシステム全体で圧縮することを常に望んでいました。先日、Windowsでは一部のRealtekドライバーが既にこの機能を提供していることに注意しました。

システム全体のイコライゼーション用のpulseaudioプラグインは既にありますが、値を変更してリアルタイムで変更を聞かせたり、Pulseボリュームを変更しながらサウンドをクラックしたりしないなどの問題がまだありますが、私はそれを愛して使用しています。今、pulseaudioのレベラープラグインとして、音を0db(または使用している音量レベルの近く)に保つための何かが不足しています。

なにか提案を?

23
JethroDawnfine

this answer に示されている例で成功しました。

  1. インストール Steve HarrisのLADSPAプラグインInstall swh-plugins

    Sudo apt install swh-plugins
    
  2. 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
    

この回答 プラグインを永続的にロードする方法を説明しています。


このコンプレッサーのパラメーター(上記のcontrol=1,1.5,401,-30,20,5,12部分)は Steve HarrisのLADSPAプラグインドキュメント で説明されています。

  1. RMS/peak:RMSとピークエンベロープフォロワーのバランス。RMSは一般に微妙な音楽的コンプレッションとピークに適しています。重くて速い圧縮とパーカッションに適しています。
  2. 攻撃時間(ms):攻撃時間(ミリ秒)。
  3. リリース時間(ms):ミリ秒単位のリリース時間。
  4. しきい値レベル(dB):コンプレッサーが作動を開始するポイント。
  5. Ratio(1:n):信号レベルがしきい値を超えたときに使用されるゲインリダクション比。
  6. 膝の半径(dB):膝の曲線が始まる閾値からの距離。
  7. メイクアップゲイン(dB):メイクアップ入力信号のゲインをdB単位で制御します。
  8. 振幅(dB):入力信号のレベル(デシベル単位)。
  9. ゲインリダクション(dB):入力信号に適用されるゲインリダクションの度合い(デシベル単位)。

PulseAudioの制限により、リアルタイムで調整することはできません。

さまざまなパラメーターを試すために、 Alsaequalを使用して、コンプレッサーをリアルタイムで調整可能なALSAプラグインとしてロードしましたInstall libasound2-plugin-equal 次の~/.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;
}

サンプルMP3ファイルは、 mpg321Install mpg321

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

alsamixer -D compressorは、リアルタイムでパラメータを調整するために使用できます。

16
ændrük

Pulse Effects をお勧めします。これは、システム全体でサウンドを操作するための多くのツール(コンプレッサーを含む)があるアプリケーションです。とても使いやすいです。

私にとって、この設定は映画で最もよく機能します: enter image description here

インストール手順

パルス効果は、 PPA (Ubuntu> = 18.04)または flatpak からインストールできます。フラットパックは自己完結型でシステム構成に影響しないため、最初にflatpakを試すことを強くお勧めします。一方、PPAバージョンは18.04の18.10からPulse Audio 12のバックポートをインストールします。

フラットパック

システムにflatpakがまだインストールされていない場合は、次のコマンドを使用して端末にインストールします。

Sudo apt install flatpak

次に、flathubリポジトリを追加します。

flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

...そして、パルス効果をインストールします:

flatpak install flathub com.github.wwmm.pulseeffects

または、 公式クイックセットアップガイド に従い、 flathubページ からPulseEffectsをインストールできます。

PPA

Flatpakバージョンが機能しない場合、またはPPAを使用する場合は、ターミナルで次のコマンドを実行します。

Sudo add-apt-repository ppa:mikhailnov/pulseeffects -y
Sudo apt install pulseeffects pulseaudio --install-recommends

インストール後、システムを再起動します。

5
kujaw

これらは非常に役に立ちました。インスピレーションをありがとう。現時点では不完全ですが、私は少し貢献する必要があります。 The Steve Harris Documentationを見て、コンプレッサーにはいくつかのフレーバーがあることを発見し、ステレオのものを使用することにしました。 Pulse Audio Volume Controlを使用してChromeやVLCなどの複数のアプリケーションにコンプレッサーを配置することは複雑でしたが、結果は気に入っています。コンプレッサーを使用する動機は、ボリュームに非常に厳しい下限と上限を設定することです。夜遅くに家の誰も起こさないために、私は常にメディアで話しているキャラクターの声を聞くために音量を上げたくありませんでした。 。ここでのインスピレーションに従い、値をリアルタイムで調整しました。次に、目的の値を取得して、サンプルコードに戻しました。要するに、私が提供しているサンプルコードは、上記の例から恥知らずに借りていますが、かなり厳密な上限と下限のステレオコンプレッサーを備えています。最後に、スクリプトの形式にしましたが、完全には機能していません。 set_default行は好きではありません。これがコミュニティに役立つことを願っています。

#!/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
3
ShoNuff

ændrük's answer に続く、モノラルプラグインの例を使用した、より優れた制御設定(クリッピングがはるかに少ない)を備えたステレオプラグインです。

load-module module-ladspa-sink sink_name=compressor plugin=sc4_1882 label=sc4 control=1,1.5,300,-20,3,1,10
0
RootCookie