「PulseAudio」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
9行目: 9行目:
 
[[ru:PulseAudio]]
 
[[ru:PulseAudio]]
 
[[tr:PulseAudio]]
 
[[tr:PulseAudio]]
  +
[[zh-CN:PulseAudio]]
 
{{Related articles start}}
 
{{Related articles start}}
 
{{Related|PulseAudio/サンプル}}
 
{{Related|PulseAudio/サンプル}}
 
{{Related|PulseAudio/トラブルシューティング}}
 
{{Related|PulseAudio/トラブルシューティング}}
 
{{Related articles end}}
 
{{Related articles end}}
[[Wikipedia:ja:PulseAudio|PulseAudio]] は [[GNOME|GNOME]] や [[KDE|KDE]] などのデスクトップ環境で一般的に使われているサウンドサーバーです。[[Advanced Linux Sound Architecture|ALSA]] や [[OSS|OSS]] などの既存のカーネルサウンドコンポーネントを使うサウンドアプリケーションに対して代理として動作します。[[Advanced Linux Sound Architecture|ALSA]] が Arch Linux にデフォルトで含まれているため、基本的には [[Advanced Linux Sound Architecture|ALSA]] に PulseAudio を含めることになります。
+
[[Wikipedia:ja:PulseAudio|PulseAudio]] は [[GNOME]] や [[KDE]] などのデスクトップ環境で一般的に使われているサウンドサーバーです。[[ALSA]] や [[OSS]] などの既存のカーネルサウンドコンポーネントを使うサウンドアプリケーションに対して代理として動作します。[[ALSA]] が Arch Linux にデフォルトで含まれているため、基本的には [[ALSA]] に PulseAudio を含めることになります。
   
 
== インストール ==
 
== インストール ==
21行目: 22行目:
 
* キーボードを使う任意のボリュームコントロール: {{AUR|pulseaudio-ctl}}
 
* キーボードを使う任意のボリュームコントロール: {{AUR|pulseaudio-ctl}}
 
* 任意のコンソール (CLI) ミキサー: {{Pkg|ponymix}} と {{AUR|pamixer-git}}
 
* 任意のコンソール (CLI) ミキサー: {{Pkg|ponymix}} と {{AUR|pamixer-git}}
  +
* 任意のコンソール (curses) ミキサー: {{AUR|pulsemixer-git}}
 
* 任意のウェブボリュームコントロール: [https://github.com/Siot/PaWebControl PaWebControl]
 
* 任意のウェブボリュームコントロール: [https://github.com/Siot/PaWebControl PaWebControl]
 
* 任意のシステムトレイアイコン: {{AUR|pasystray-git}}
 
* 任意のシステムトレイアイコン: {{AUR|pasystray-git}}
* 任意の KDE plasma アプレット: {{Pkg|kdemultimedia-kmix}} と {{AUR|kdeplasma-applets-veromix}}
+
* 任意の KDE4 plasma アプレット: {{Pkg|kdemultimedia-kmix}} と {{AUR|kdeplasma-applets-veromix}} (起動時に KMix/Veromix が PulseAudio に接続されない場合 {{ic|/etc/pulse/client.conf}} を編集して {{ic|autospawn = no}} を {{ic|autospawn = yes}} に置き換えて下さい)
  +
* 任意の KF5 plasma アプレット: {{Pkg|kmix}}
  +
* Bluetooth ヘッドセットなどの Bluetooth のオーディオデバイスを PulseAudio で使いたい場合 [[Bluetooth ヘッドセット]]の記事を見て下さい。
  +
  +
=== PulseAudio モジュール ===
  +
  +
PulseAudio のモジュールの中にはメインのパッケージと [https://www.archlinuxjp.org/news/pulseaudio-split/ 分割] されているものがあり、必要に応じてインストールする必要があります。
   
 
== 実行 ==
 
== 実行 ==
  +
{{Note|ほとんどの[[デスクトップ環境]]では {{ic|/etc/xdg/autostart/}} ディレクトリにある[[デスクトップエントリ#自動起動|デスクトップファイル]]によってプログラムを自動で起動します。デスクトップ環境を使っている場合、以下のオートスポーン/ソケットアクティベーションとは無関係に PulseAudio は自動で起動します。}}
{{Warning|もし、ユーザーごとに設定ファイル (例えば {{ic|client.conf}} や {{ic|daemon.conf}} や {{ic|default.pa}}のような)を {{ic|~/.config/pulse/}} または {{ic|~/.pulse/}} にコピーしたのならば、パッケージで提供される {{ic|/etc/pulse/}} 内のファイルの変更にも追随するようにしてください。そうしなければ、PulseAudio は設定エラーで起動しなくなるかもしれません。}}
 
   
  +
[http://www.freedesktop.org/wiki/Software/PulseAudio/Notes/6.0/ バージョン 6.0] から、PulseAudio はオートスポーン/ソケットアクティベーションを利用します。ソケットアクティベーションを使うには、[[systemd/ユーザー]]インスタンスで {{ic|pulseaudio.socket}} を[[有効化]]してください。
{{Note|
 
  +
* PulseAudio の動作には [[D-Bus|D-Bus]] が必要です。
 
  +
もしくは、オートスポーンアクティベーションを使いたい場合は {{ic|/etc/pulse/client.conf}} または {{ic|~/.pulse/client.conf}} で {{ic|1=autospawn=yes}} と設定してください。詳しくは [http://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/Running/ PulseAudio: Running] を参照。
* およその X11 環境では、X11 セッションの起動時に pulseaudio が自動的に起動されます。
 
  +
}}
 
  +
=== 手動で起動 ===
   
 
X を起動した時に pulseaudio が自動で立ち上がらない場合は、次のコマンドで実行できます:
 
X を起動した時に pulseaudio が自動で立ち上がらない場合は、次のコマンドで実行できます:
37行目: 46行目:
   
 
次のコマンドで PulseAudio を停止できます:
 
次のコマンドで PulseAudio を停止できます:
$ pulseaudio -k
+
$ pulseaudio --kill
   
 
== イコライザー ==
 
== イコライザー ==
50行目: 59行目:
 
=== GUI フロントエンドをインストールして実行する ===
 
=== GUI フロントエンドをインストールして実行する ===
   
{{Pkg|python-pyqt4}} をインストールし、以下を実行します。
+
{{Pkg|pulseaudio-equalizer}} をインストールし、以下を実行します。
   
 
$ qpaeq
 
$ qpaeq
   
{{Note|もし qpaeq が動作しなければ、 {{pkg|pavucontrol}} をインストールして、メディアプレイヤーの動作中に "ALSA Playback on" を "FFT based equalizer on ..."へ変更するとよいでしょう。}}
+
{{Note|もし qpaeq が動作しなければ、 {{pkg|pavucontrol}} をインストールして、メディアプレイヤーの動作中に "ALSA Playback on" を "FFT based equalizer on ..." へ変更するとよいでしょう。}}
   
 
=== 起動時に イコライザーと dbus モジュールをロードする ===
 
=== 起動時に イコライザーと dbus モジュールをロードする ===
106行目: 115行目:
 
==== ossp ====
 
==== ossp ====
   
{{Pkg|ossp}} パッケージをインストールして '''osspd''' サービスを起動してください。
+
{{Pkg|ossp}} パッケージをインストールして {{ic|osspd.service}} を起動してください。
   
==== padsp ラッパー (PulseAudio の一部) ====
+
==== padsp ラッパー ====
   
OSS を使うプログラムは padsp を使って起動することで PulseAudio で動作するようにできます:
+
OSS を使うプログラムは (PulseAudio に含まれている) padsp を使って起動することで PulseAudio で動作するようにできます:
   
 
$ padsp OSSprogram
 
$ padsp OSSprogram
191行目: 200行目:
   
 
さらに、KMix や pavucontrol の KDE 代替として [[Arch User Repository|AUR]] から {{AUR|kdeplasma-applets-veromix}} が利用できます。
 
さらに、KMix や pavucontrol の KDE 代替として [[Arch User Repository|AUR]] から {{AUR|kdeplasma-applets-veromix}} が利用できます。
 
KMix/Veromix が起動時に PulseAudio への接続に失敗する場合は {{ic|/etc/pulse/client.conf}} を編集して {{ic|autospawn = no}} を {{ic|autospawn = yes}} に置き換える必要があるかもしれません。
 
   
 
=== Xfce ===
 
=== Xfce ===
202行目: 209行目:
 
=== Audacious ===
 
=== Audacious ===
   
[[Audacious|Audacious]] は PulseAudio にもとから対応しています。利用するためには、Audacious で 設定→オーディオ→出力プラグイン で「PulseAudio 出力」に設定しましょう。
+
[[Audacious]] は PulseAudio にもとから対応しています。利用するためには、Audacious で 設定→オーディオ→出力プラグイン で「PulseAudio 出力」に設定しましょう。
   
 
=== Java/OpenJDK 6 ===
 
=== Java/OpenJDK 6 ===
210行目: 217行目:
 
=== Music Player Daemon (MPD) ===
 
=== Music Player Daemon (MPD) ===
   
PulseAudio を使うように [[Music Player Daemon|MPD]] を [http://mpd.wikia.com/wiki/PulseAudio 設定] してください。[[MPD/Tips and Tricks#PulseAudio]] を参照。
+
PulseAudio を使うように [[Music Player Daemon|MPD]] を [http://mpd.wikia.com/wiki/PulseAudio 設定] してください。[[Music Player Daemon/Tips and tricks#PulseAudio]] を参照。
   
 
=== MPlayer ===
 
=== MPlayer ===
   
[[MPlayer|MPlayer]] はネイティブで PulseAudio 出力をサポートしており "{{ic|-ao pulse}}" オプションを使います。PulseAudio への出力をデフォルトに設定することも可能で、ユーザー別の設定には {{ic|~/.mplayer/config}} で、システム全体では {{ic|/etc/mplayer/mplayer.conf}} で設定します:
+
[[MPlayer]] はネイティブで PulseAudio 出力をサポートしており "{{ic|-ao pulse}}" オプションを使います。PulseAudio への出力をデフォルトに設定することも可能で、ユーザー別の設定には {{ic|~/.mplayer/config}} で、システム全体では {{ic|/etc/mplayer/mplayer.conf}} で設定します:
 
{{hc|/etc/mplayer/mplayer.conf|2=ao=pulse}}
 
{{hc|/etc/mplayer/mplayer.conf|2=ao=pulse}}
   
223行目: 230行目:
 
=== guvcview ===
 
=== guvcview ===
   
PulseAudio で {{Pkg|guvcview}} を使用すると[[Webcam Setup|ウェブカメラ]]からの入力で音声入力が中止され音声が記録されないことがあります。次を実行して確認できます:
+
PulseAudio で {{Pkg|guvcview}} を使用すると[[ウェブカメラ設定|ウェブカメラ]]からの入力で音声入力が中止され音声が記録されないことがあります。次を実行して確認できます:
 
$ pactl list sources
 
$ pactl list sources
 
音声ソースが "suspended" になっている場合 {{ic|/etc/pulse/default.pa}} の以下の行を:
 
音声ソースが "suspended" になっている場合 {{ic|/etc/pulse/default.pa}} の以下の行を:
230行目: 237行目:
 
#load-module module-suspend-on-idle
 
#load-module module-suspend-on-idle
 
PulseAudio を再起動すれば音声ソースが中止される代わりにアイドル状態になるようになります。これで guvcview でデバイスから音声を正しく記録できるようになるはずです。
 
PulseAudio を再起動すれば音声ソースが中止される代わりにアイドル状態になるようになります。これで guvcview でデバイスから音声を正しく記録できるようになるはずです。
  +
  +
== Tips and tricks ==
  +
  +
=== キーボードのボリュームコントロール ===
  +
  +
以下のコマンドをボリュームキーにマッピングしてください: {{ic|XF86AudioRaiseVolume}}, {{ic|XF86AudioLowerVolume}}, {{ic|XF86AudioMute}}
  +
  +
ボリュームを上げるには:
  +
sh -c "pactl set-sink-mute 0 false ; pactl set-sink-volume 0 +5%"
  +
  +
ボリュームを下げるには:
  +
sh -c "pactl set-sink-mute 0 false ; pactl -- set-sink-volume 0 -5%"
  +
  +
ボリュームをミュート(解除)するには:
  +
pactl set-sink-mute 0 toggle
   
 
== トラブルシューティング ==
 
== トラブルシューティング ==

2015年8月25日 (火) 02:58時点における版

関連記事

PulseAudioGNOMEKDE などのデスクトップ環境で一般的に使われているサウンドサーバーです。ALSAOSS などの既存のカーネルサウンドコンポーネントを使うサウンドアプリケーションに対して代理として動作します。ALSA が Arch Linux にデフォルトで含まれているため、基本的には ALSA に PulseAudio を含めることになります。

インストール

  • 必要なパッケージ: pulseaudio
  • 任意の GTK の GUI: paprefspavucontrol
  • キーボードを使う任意のボリュームコントロール: pulseaudio-ctlAUR
  • 任意のコンソール (CLI) ミキサー: ponymixpamixer-gitAUR
  • 任意のコンソール (curses) ミキサー: pulsemixer-gitAUR
  • 任意のウェブボリュームコントロール: PaWebControl
  • 任意のシステムトレイアイコン: pasystray-gitAUR
  • 任意の KDE4 plasma アプレット: kdemultimedia-kmixkdeplasma-applets-veromixAUR (起動時に KMix/Veromix が PulseAudio に接続されない場合 /etc/pulse/client.conf を編集して autospawn = noautospawn = yes に置き換えて下さい)
  • 任意の KF5 plasma アプレット: kmix
  • Bluetooth ヘッドセットなどの Bluetooth のオーディオデバイスを PulseAudio で使いたい場合 Bluetooth ヘッドセットの記事を見て下さい。

PulseAudio モジュール

PulseAudio のモジュールの中にはメインのパッケージと 分割 されているものがあり、必要に応じてインストールする必要があります。

実行

ノート: ほとんどのデスクトップ環境では /etc/xdg/autostart/ ディレクトリにあるデスクトップファイルによってプログラムを自動で起動します。デスクトップ環境を使っている場合、以下のオートスポーン/ソケットアクティベーションとは無関係に PulseAudio は自動で起動します。

バージョン 6.0 から、PulseAudio はオートスポーン/ソケットアクティベーションを利用します。ソケットアクティベーションを使うには、systemd/ユーザーインスタンスで pulseaudio.socket有効化してください。

もしくは、オートスポーンアクティベーションを使いたい場合は /etc/pulse/client.conf または ~/.pulse/client.confautospawn=yes と設定してください。詳しくは PulseAudio: Running を参照。

手動で起動

X を起動した時に pulseaudio が自動で立ち上がらない場合は、次のコマンドで実行できます:

$ pulseaudio --start

次のコマンドで PulseAudio を停止できます:

$ pulseaudio --kill

イコライザー

pulseaudio の比較的新しいバージョンでは、統合された10帯域のイコライザーシステムが搭載されています。このイコライザーを有効にするためには、以下の作業が必要です。

equalizer sink と dbus-protocol モジュールをロードする

$ pactl load-module module-equalizer-sink
$ pactl load-module module-dbus-protocol

GUI フロントエンドをインストールして実行する

pulseaudio-equalizer をインストールし、以下を実行します。

$ qpaeq
ノート: もし qpaeq が動作しなければ、 pavucontrol をインストールして、メディアプレイヤーの動作中に "ALSA Playback on" を "FFT based equalizer on ..." へ変更するとよいでしょう。

起動時に イコライザーと dbus モジュールをロードする

お好みのエディタで /etc/pulse/default.pa を開き、以下の行を追記します。

### Load the integrated pulseaudio equalizer and dbus module
load-module module-equalizer-sink
load-module module-dbus-protocol

バックエンドの設定

ALSA

ノート: この追加選択パッケージは、x86_64 環境で動作させる場合で、(Wineのような) 32 ビットプログラムでも音を鳴らすときには必要なものです。

PulseAudio をサポートせず ALSA をサポートするアプリケーションのためには、ALSA のための PulseAudio プラグインをインストールすることが推奨されます。このパッケージは、ALSA に PulseAudio を利用させるために必要なファイル /etc/asound.conf も含んでいます。

アプリケーションに ALSA の OSS エミュレーションをやめさせ PulseAudio を迂回させない(そうして、他のアプリケーションの音声出力を防ぐ)ためには、起動時に snd_pcm_oss モジュールがロードされないようにします。このモジュールが現在ロードされていたら (lsmod | grep oss で確認可能)、以下を実行してモジュールを無効にしましょう:

# rmmod snd_pcm_oss

ALSA/dmix でハードウェアデバイスを占有しない

ノート: This section describes alternative configuration, which is generally not recommended.

ALSA を直接アプリケーションで使って他のアプリケーションも使えるようにしたいと思っているならば、同時に PulseAudio も必要になります。以下の手順で PulseAudio が ALSA のハードウェアデバイスの代わりに dmix を使うようにできます。

  • pulseaudio-alsa パッケージを削除してください、ALSA アプリケーションと PulseAudio の互換レイヤーが含まれています。削除した後、ALSA アプリは Pulse につかまることなく ALSA を直接使うようになります。
  • /etc/pulse/default.pa を編集してください。
バックエンドドライバーをロードする行を探してアンコメントしてください。以下のように device パラメータを追加してください。それから autodetect モジュールをロードする行をコメントアウトしてください。
load-module module-alsa-sink device=dmix
load-module module-alsa-source device=dsnoop
# load-module module-udev-detect
# load-module module-detect
  • 任意: kdemultimedia-kmix を使っていてPulseAudio ボリュームのかわりに ALSA ボリュームを操作したい場合:
$ echo export KMIX_PULSEAUDIO_DISABLE=1 > ~/.kde4/env/kmix_disable_pulse.sh
$ chmod +x ~/.kde4/env/kmix_disable_pulse.sh
  • コンピュータを再起動して、alsa と pulseaudio のアプリケーションを同時に実行して見て下さい。同時に音声を鳴らすことができるはずです。
PulseAudio ボリュームの操作が必要なときは pavucontrol を使って下さい。

OSS

OSS にしか対応していないプログラムを PulseAudio に出力させる方法は複数存在します:

ossp

ossp パッケージをインストールして osspd.service を起動してください。

padsp ラッパー

OSS を使うプログラムは (PulseAudio に含まれている) padsp を使って起動することで PulseAudio で動作するようにできます:

$ padsp OSSprogram

例:

$ padsp aumix
$ padsp sox foo.wav -t ossdsp /dev/dsp

以下のようなカスタムラッパースクリプトも使えます:

/usr/local/bin/OSSProgram
#!/bin/sh
exec padsp /usr/bin/OSSprogram "$@"

PATH/usr/bin よりも先に /usr/local/bin が来るようにしてください。

GStreamer

GStreamer で PulseAudio を使うには、gst-plugins-goodgstreamer0.10-good-plugins をインストールする必要があります。

OpenAL

OpenAL Soft はデフォルトで PulseAudio を使いますが、明示的に設定することもできます:

/etc/openal/alsoft.conf
drivers=pulse,alsa

libao

libao の設定ファイルを編集してください:

# /etc/libao.conf
default_driver=pulse

alsa ドライバーの dev=default オプションを削除するか特定の Pulse の sink の名前・番号を指定してください。

ノート: You could possibly also keep the libao standard of outputting to the alsa driver and its default device if you install pulseaudio-alsa since the ALSA default device then is PulseAudio.

ESD

PulseAudio は enlightened sound daemon (ESD) を完全に置き換えます。PulseAudio が動作している時、ESD クライアントは PulseAudio に何もしなくても出力できるはずです。

デスクトップ環境

X11

ノート: 前に述べた通り、もし DE をインストールしているのならば、/etc/X11/xinit/xinitrc.d/pulseaudio/etc/xdg/autostart/ のファイルによって PulseAudio は自動的に起動するはずです。

PulseAudio が動作しているかどうか確認してください:

$ ps aux | grep pulse
 facade   1794  0.0  0.0 360464  6532 ?        S<l  15:33   0:00 /usr/bin/pulseaudio --start
 facade   1827  0.0  0.0  68888  2608 ?        S    15:33   0:00 /usr/lib/pulse/gconf-helper

PulseAudio が動いておらず X を使っている場合は、以下で PulseAudio と必要な X11 のプラグインを手動で起動できます:

$ start-pulseaudio-x11

Gnome, KDE, Xfce を使ってないために ~/.xinitrc/etc/X11/xinit/xinitrc.d のスクリプトを (サンプルファイル /etc/skel/.xinitrc のように) 読み込まないときは、次のコマンドでブート時に PulseAudio を起動できます:

~/.xinitrc
/usr/bin/start-pulseaudio-x11

GNOME

GNOME 3 から、GNOME は PulseAudio と完全に統合したため特に設定は必要ありません。

KDE 3

PulseAudio は aRts との完全な互換性はありません。KDE 3 のユーザーは PulseAudio を使えません。ただし最近のバージョンの PulseAudio では障害が取り除けるかもしれません:

参照: http://www.pulseaudio.org/wiki/PerfectSetup KDE 3 はデフォルトで artsd サウンドサーバを使っています。しかしながら、artsd は Esound バックエンドを使うように設定することが可能です。kcmartsrc (グローバルな設定は /etc/kde または /usr/share/config、ユーザー別の設定は .kde/share/config にあります) を以下のように編集してください:

[Arts]
Arguments=\s-F 10 -S 4096 -a esd -n -s 1 -m artsmessage -c drkonqi -l 3 -f
NetworkTransparent=true
SuspendTime=1

KDE Plasma ワークスペースと Qt4

PulseAudio は KDE/Qt4 アプリケーションによって使われます。詳しくは PulseAudio wiki の KDE のページ を見て下さい。

PulseAudio サポートはデフォルトの KDE サウンドミキサーである KMix にマージされています。

phonon-gstreamer バックエンドを Phonon に使っている場合、gstreamer0.10-good-plugins をインストールして GStreamer も PulseAudio を使うように設定してください。

load-module module-device-manager/etc/pulse/default.pa に追加するのが有用です。

さらに、KMix や pavucontrol の KDE 代替として AUR から kdeplasma-applets-veromixAUR が利用できます。

Xfce

Xfce で動いているアプリケーションは PulseAudio を使うことができます。PulseAudio の設定を管理するには pavucontrol を使います。

アプリケーション

Audacious

Audacious は PulseAudio にもとから対応しています。利用するためには、Audacious で 設定→オーディオ→出力プラグイン で「PulseAudio 出力」に設定しましょう。

Java/OpenJDK 6

Pulseaudio と Java のサウンドに書かれているように padsp を使って java のラッパーを作成してください。

Music Player Daemon (MPD)

PulseAudio を使うように MPD設定 してください。Music Player Daemon/Tips and tricks#PulseAudio を参照。

MPlayer

MPlayer はネイティブで PulseAudio 出力をサポートしており "-ao pulse" オプションを使います。PulseAudio への出力をデフォルトに設定することも可能で、ユーザー別の設定には ~/.mplayer/config で、システム全体では /etc/mplayer/mplayer.conf で設定します:

/etc/mplayer/mplayer.conf
ao=pulse

Skype (x86_64)

lib32-libpulse をインストールしてください。そうしないと通話をしようとした時に次のエラーが発生します: "Problem with Audio Playback"。

guvcview

PulseAudio で guvcview を使用するとウェブカメラからの入力で音声入力が中止され音声が記録されないことがあります。次を実行して確認できます:

$ pactl list sources

音声ソースが "suspended" になっている場合 /etc/pulse/default.pa の以下の行を:

load-module module-suspend-on-idle

次のように修正してください:

#load-module module-suspend-on-idle

PulseAudio を再起動すれば音声ソースが中止される代わりにアイドル状態になるようになります。これで guvcview でデバイスから音声を正しく記録できるようになるはずです。

Tips and tricks

キーボードのボリュームコントロール

以下のコマンドをボリュームキーにマッピングしてください: XF86AudioRaiseVolume, XF86AudioLowerVolume, XF86AudioMute

ボリュームを上げるには:

sh -c "pactl set-sink-mute 0 false ; pactl set-sink-volume 0 +5%"

ボリュームを下げるには:

sh -c "pactl set-sink-mute 0 false ; pactl -- set-sink-volume 0 -5%"

ボリュームをミュート(解除)するには:

pactl set-sink-mute 0 toggle

トラブルシューティング

PulseAudio/トラブルシューティングを見て下さい。

参照