Ubuntu Weekly Recipe

第137回 PulseAudioを活用する

この記事を読むのに必要な時間:およそ 4 分

みなさま,はじめまして。坂本と申します。普段はUbuntu日本コミュニティのフォーラムで,サウンド関係のサポート活動をしています。今回から,本連載の執筆に参加させていただくことになりました。Linuxデスクトップ環境は使い始めて1年半くらいの若輩者ですが,よろしくお願いします。

今回は,PulseAudioに関するRecipeをご紹介します。PulseAudioに関しては,本連載の第106回でリモートスピーカを使う方法を説明しましたが,この他にも便利な使い方があります。

なお,筆者はUbuntuのマルチメディア編集環境であるUbuntu Studioを常用しています。そのため,スクリーンショットが通常のUbuntuとデザインが異なる点,ご了承ください。

録音ソフトウェアをPulseAudioで,より便利に使う

例えば「ネットラジオを録音したい」「Ustreamによるビデオストリーミングから音声だけを録音したい」など,音声の出るウェブサービスを利用していると,私的複製をしたいときがあります。それとは別に,手持ちのラジオやレコードプレーヤーの音声をPCのサウンドデバイスに出力し,PCをデジタルサウンドレコーダーにして,デジタルのデータとして残したいときもあります。

そんなときにPulseAudioが役に立ちます。ここでは,サウンドデバイスとPulseAudio,録音ソフトウェアを使った,デジタル録音の仕方について説明します。

今回は録音のためのソフトウェアとして,Ubuntu標準装備のサウンドレコーダー(以下,gnome-sound-recorder)と,筆者が好んで使っている波形編集ソフトAudacity注1を使います。そして,GUIアプリケーションであるPulseAudio Volume Control(以下,pavucontrol)を使って,PulseAudioの入出力を制御していきます注2)。

pavucontrolはUbuntuでは標準状態でインストールされていないため,パッケージ名「pavucontrol」をSynapticなどでインストールします。同じように,Audacityもパッケージ名「audacity」でインストールできます。

起動方法は,Ubuntuのアプリケーション→サウンドとたどり,「PulseAudio Volume Control」「サウンド・レコーダー」「Audacity」をそれぞれクリックします。

注1
Audacityはフリーのサウンド編集ソフトウェア。ライセンスはGPLバージョン2以降。さらにGNU/Linuxのみならず,Microsoft WindowsやMac OS X,UNIX向けにもリリースされており,ユーザも相当数いる。日本語にも翻訳されているためサポート情報が得られやすく,初心者にはおすすめ。
注2
PulseAudioへの入出力状態をコントロールするには,GNOMEデスクトップ環境の「サウンドの設定」(以下,gnome-volume-control)もいいが,PulseAudio Volume Controlはより細かく制御できる。

PulseAudioを通したFlash音声の再生と,その仕組み

PulseAudioを利用して録音する前に,Flash音声の再生方法とその仕組みを確認しておきましょう。

インターネット上の動画共有サイトや動画配信サービスのほとんどは,Adobe Flashが利用されています。ユーザーの手元では,ウェブブラウザにプラグインとして組み込まれたAdobe Flash Playerが,サーバからFlashファイルをロードし,最終的に「音」「映像」として出力します。

詳しく見てみると,まず,Adobe Flash PlayerはALSAサブシステムに音声ストリームを出力します注3)。UbuntuではALSAのPCMデバイスとしてPulseAudioが登録されているため注4),結果としてALSAに送られた音声ストリームはPulseAudioに流れ込みます。そして,PulseAudioから実際のサウンドデバイスのドライバにPCMが流れ,サウンドデバイスのデジタル/アナログコンバーター(DAC)を経由して,最終的にはスピーカーやヘッドフォン上に音声が出力されます。

PulseAudioに流れている音声ストリームは,pavucontrolでコントロールすることができます。pavucontrolを表示してPlaybackタブを見ると,現在再生されている音声を見ることができます。音声はほとんどの場合マザーボードに搭載されているサウンドデバイスに出力されていると思いますので,「ALSA Playback on Internal Audio Analog Stereo」が表示されているはずです。

図1 PulseAudio Volume ControlでのALSA Plug-in

図1 PulseAudio Volume ControlでのALSA Plug-in

マザーボードに搭載されているサウンドデバイスではないものを使っていたり,サウンドデバイスのプロファイルでデジタル出力や7.1チャンネルサラウンドを選択しいる場合は,「ALSA Playback on Internal Audio Analog Stereo」ではないものが表示されます。このような環境であれば,これ以降の「Internal Audio Analog Stereo」を適宜読み替えてください。

また,複数のサウンドデバイスを使える環境であれば,PulseAudioで音声の出力先デバイスを自由に変更することができます。たとえば,AMD (ATi) のHDMI音声出力内蔵のGPUを利用している場合,「R*** Digital Stereo (HDMI)」などといったデバイスが選択肢に表示されます。筆者はCreativeのEMU 0404 USBというUSB外付けオーディオインターフェースを使っていますが,「E-Mu 0404 Analog Stereo」が選択肢に表示されます。アプリケーションの音声出力先をこれらに指定すると,そちらから音声を出力するようになります。

注3
正確には,Adobe Flash Playerからの音声出力は,Netscape 4 Plugin APIのラッパーであるnpviewer.bin(パッケージ「nspluginwrapper」に含まれている)を経由してALSAに出力される。そのため,pavucontrolではnpviewer.binとして見えている。
注4
PulseAudioウェブサイトにあるThe Perfect SetupのALSA Applicationを参照。Ubuntu 10.10 においては「/usr/share/alsa/pulse-alsa.conf」で設定されている。

著者プロフィール

坂本貴史(さかもとたかし)

Ubuntuのマルチメディア編集環境であるUbuntu Studioのユーザ。主にUbuntu日本コミュニティとUbuntu Studioコミュニティで活動。いつかユーザ同士で合作するのが夢。

コメント

コメントの記入