「PulseAudio」の版間の差分
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]] は [[ |
+ | [[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}} |
||
− | * 任意の |
+ | * 任意の 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 - |
+ | $ pulseaudio --kill |
== イコライザー == |
== イコライザー == |
||
50行目: | 59行目: | ||
=== GUI フロントエンドをインストールして実行する === |
=== GUI フロントエンドをインストールして実行する === |
||
− | {{Pkg| |
+ | {{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}} パッケージをインストールして |
+ | {{Pkg|ossp}} パッケージをインストールして {{ic|osspd.service}} を起動してください。 |
− | ==== padsp ラッパー |
+ | ==== 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]] は 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 設定] してください。[[ |
+ | PulseAudio を使うように [[Music Player Daemon|MPD]] を [http://mpd.wikia.com/wiki/PulseAudio 設定] してください。[[Music Player Daemon/Tips and tricks#PulseAudio]] を参照。 |
=== MPlayer === |
=== MPlayer === |
||
− | [[ |
+ | [[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}} を使用すると[[ |
+ | 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時点における版
PulseAudio は GNOME や KDE などのデスクトップ環境で一般的に使われているサウンドサーバーです。ALSA や OSS などの既存のカーネルサウンドコンポーネントを使うサウンドアプリケーションに対して代理として動作します。ALSA が Arch Linux にデフォルトで含まれているため、基本的には ALSA に PulseAudio を含めることになります。
インストール
- 必要なパッケージ: pulseaudio
- 任意の GTK の GUI: paprefs と pavucontrol
- キーボードを使う任意のボリュームコントロール: pulseaudio-ctlAUR
- 任意のコンソール (CLI) ミキサー: ponymix と pamixer-gitAUR
- 任意のコンソール (curses) ミキサー: pulsemixer-gitAUR
- 任意のウェブボリュームコントロール: PaWebControl
- 任意のシステムトレイアイコン: pasystray-gitAUR
- 任意の KDE4 plasma アプレット: kdemultimedia-kmix と kdeplasma-applets-veromixAUR (起動時に KMix/Veromix が PulseAudio に接続されない場合
/etc/pulse/client.conf
を編集してautospawn = no
をautospawn = yes
に置き換えて下さい) - 任意の KF5 plasma アプレット: kmix
- Bluetooth ヘッドセットなどの Bluetooth のオーディオデバイスを PulseAudio で使いたい場合 Bluetooth ヘッドセットの記事を見て下さい。
PulseAudio モジュール
PulseAudio のモジュールの中にはメインのパッケージと 分割 されているものがあり、必要に応じてインストールする必要があります。
実行
バージョン 6.0 から、PulseAudio はオートスポーン/ソケットアクティベーションを利用します。ソケットアクティベーションを使うには、systemd/ユーザーインスタンスで pulseaudio.socket
を有効化してください。
もしくは、オートスポーンアクティベーションを使いたい場合は /etc/pulse/client.conf
または ~/.pulse/client.conf
で autospawn=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
起動時に イコライザーと dbus モジュールをロードする
お好みのエディタで /etc/pulse/default.pa
を開き、以下の行を追記します。
### Load the integrated pulseaudio equalizer and dbus module load-module module-equalizer-sink load-module module-dbus-protocol
バックエンドの設定
ALSA
- 推奨パッケージ: pulseaudio-alsa
- 追加選択パッケージ: lib32-libpulse および lib32-alsa-plugins
PulseAudio をサポートせず ALSA をサポートするアプリケーションのためには、ALSA のための PulseAudio プラグインをインストールすることが推奨されます。このパッケージは、ALSA に PulseAudio を利用させるために必要なファイル /etc/asound.conf
も含んでいます。
アプリケーションに ALSA の OSS エミュレーションをやめさせ PulseAudio を迂回させない(そうして、他のアプリケーションの音声出力を防ぐ)ためには、起動時に snd_pcm_oss
モジュールがロードされないようにします。このモジュールが現在ロードされていたら (lsmod | grep oss
で確認可能)、以下を実行してモジュールを無効にしましょう:
# rmmod snd_pcm_oss
ALSA/dmix でハードウェアデバイスを占有しない
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-good か gstreamer0.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 の名前・番号を指定してください。
ESD
PulseAudio は enlightened sound daemon (ESD) を完全に置き換えます。PulseAudio が動作している時、ESD クライアントは PulseAudio に何もしなくても出力できるはずです。
デスクトップ環境
X11
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/トラブルシューティングを見て下さい。
参照
- http://www.alsa-project.org/main/index.php/Asoundrc - Alsa wiki on .asoundrc
- http://www.pulseaudio.org/ - PulseAudio 公式サイト
- http://www.pulseaudio.org/wiki/FAQ - PulseAudio FAQ