Linuxでシステム音声を録音する方法(PipeWire、PulseAudio)

Linuxのサウンドサーバーは、出力デバイスごとに録音できる「モニター」を用意しています。それを録るコマンドとアプリの設定、録音が無音になる理由、会議向けの選択肢を紹介します。

Reline Team読了目安 9 分
この記事の内容
  1. 録音するもの:モニター
  2. 選択肢の一覧
  3. 方法1:ターミナルでparecord
  4. 方法2:PipeWireでpw-record
  5. 方法3:Audacityとpavucontrol
  6. 方法4:両方の側をまとめて録るOBS Studio
  7. 録音が無音になるとき
  8. 会議を録る:Reline(Linuxベータ版)で両方の側とライブ文字起こし
  9. 録音することを伝える
  10. 出典

Linuxでシステム音声を録音するには、出力デバイスの「モニター」を録音します。モニターは、パソコンが再生する音すべてのコピーです。ターミナルで parecord -d @DEFAULT_MONITOR@ call.wav を実行します(PulseAudio、またはpipewire-pulseのあるPipeWire)。AudacityやOBSでも録れます。会議の文字起こしが必要なら、Reline(Linuxベータ版)がマイクとシステム音声を録音し、ライブで文字起こしします。

録音するもの:モニター

Linuxのサウンドサーバーは、出力デバイスごとにモニターを用意しています。その出力が再生している音を録音できるコピーです。モニターを録れば、通話相手の声を含むシステム音声が入りますが、自分のマイクは入りません。マイクを録れば、自分の側だけになります。両方を録るには、OBSやRelineのように2つのソースを同時に録音できるツールが必要です。

Linuxのデスクトップでは、たいていPipeWireか、それ以前からあるPulseAudioのどちらかのサウンドサーバーが動いています。PipeWireにはpipewire-pulseが含まれ、PipeWireのドキュメントはこれをPulseAudioデーモンの直接の代替と説明しています。そのため、このガイドのPulseAudio用ツール(parecord、pactl、pavucontrol)は、どちらでも動くことを前提に作られています。

選択肢の一覧

方法サウンドサーバー録音される音得られるもの
parecord(ターミナル)PulseAudio、またはpipewire-pulseのあるPipeWire既定の出力音声ファイル
pw-record(ターミナル)PipeWire既定の出力音声ファイル
Audacity+pavucontrolPulseAudio(Audacityのガイド)選んだ出力編集できる音声
OBS StudioALSAまたはPulseAudioのソース既定でデスクトップ音声とマイク録画・録音ファイル(文字起こしなし)
Relineデスクトップアプリ、Linux(ベータ版)PulseAudio、またはpipewire-pulseのあるPipeWireマイクと既定の出力ライブの文字起こし、AI要約、音声

方法1:ターミナルでparecord

parecordはPulseAudioのコマンドライン録音ツールです。マニュアルには@DEFAULT_SINK@、@DEFAULT_SOURCE@、@DEFAULT_MONITOR@という3つの特別なデバイス名があり、最後のものが既定の出力のモニターを指します。

  1. 録りたい音を既定の出力から流します。どれが既定の出力かは pactl get-default-sink で確認できます。このコマンドは既定の出力の名前を表示します。
  2. 録音を始めます:parecord -d @DEFAULT_MONITOR@ call.wav
  3. Ctrl+Cで止めます。ファイルはコマンドを実行したフォルダにできます。

これはパソコンが再生する音だけを録音します。マイクの音はファイルに入りません。

方法2:PipeWireでpw-record

pw-recordはPipeWire自身の録音ツールです。何も指定しないと入力、たいていはマイクから録音します。出力を録るには、ストリームのプロパティstream.capture.sinkを設定します。PipeWireのドキュメントによると、これでソースではなくシンクの出力を録ろうとします。pw-recordの-Pオプションは、追加のストリームプロパティをJSONオブジェクトで受け取ります。

  1. 既定の出力の録音を始めます:pw-record -P '{ "stream.capture.sink": true }' call.wav
  2. Ctrl+Cで止めます。

どちらのサウンドサーバーか分からない場合は、parecordから試してください。PulseAudioのツールですが、pipewire-pulseはまさにこうしたツールをPipeWireでも使えるようにするためのものです。

方法3:Audacityとpavucontrol

Audacityのマニュアルでは、AudacityをPulseAudioにつなぎ、PulseAudio音量調節(pavucontrol)でモニターを選ぶことで、Linuxのパソコンの再生音を録音します。pavucontrolはPulseAudio用のミキサーです。

  1. ディストリビューションのパッケージからpavucontrolをインストールします。
  2. AudacityのAudio Setupで、ホストをALSA、録音デバイスをpulseにします(システムによってはdefaultという名前です)。
  3. Start Monitoringをクリックして、Audacityの録音メーターを動かします。
  4. PulseAudio音量調節を開いてRecordingタブに移り、Audacityの行のCapture fromで、アプリが音を出している出力のMonitorを選びます。
  5. 音を流し、Audacityのメーターが0 dBを下回るようにスライダーを調整します。Audacityは-6 dB前後を勧めています。
  6. AudacityでRecordを押します。
  • PulseAudio音量調節のMuteボタンは押さないでください。Audacityのマニュアルによると、無音が録音されます。
  • 入力の音声モニタリング(Transportメニュー)はオフのままにします。
  • 通知音を含むデスクトップの音がすべて録音され、録れるのは出力だけです。マイクの音は入りません。

AudacityのページにはPipeWireの記載がありません。PipeWireのデスクトップでは、pavucontrolとpulseデバイスは、PipeWireに含まれるPulseAudioの代替であるpipewire-pulseを通じて動きます。

方法4:両方の側をまとめて録るOBS Studio

OBS Studioのクイックスタートガイドによると、OBSは既定でデスクトップ音声とマイクを取り込みます。通話の両方の側を1つのファイルにまとめる簡単な方法です。Linuxでは、OBSの音声ソースはALSAとPulseAudioのキャプチャデバイスです。

  1. OBS Studioをインストールして開きます。
  2. 音声メーターが動かない、または違うデバイスが取り込まれている場合は、Settings > Audioを開いてデバイスを自分で選びます。
  3. Settings > Outputを確認してから、ControlsドックのStart Recordingをクリックします。

録画・録音ファイルができますが、文字起こしはありません。

録音が無音になるとき

  • 出力がミュートになっている。ミュートした出力は、モニターに無音として届くことがあります。AudacityのマニュアルはMuteボタンに注意を促しており、私たちのLinuxでのテストでも、ミュートした出力からはデジタルの無音しか届きませんでした。
  • 音が別のデバイスから出ている。ヘッドセットが既定の出力でない場合、@DEFAULT_MONITOR@やstream.capture.sinkは別のデバイスを録音します。サウンド設定でヘッドセットを既定の出力にするか、pavucontrolでそのモニターを選びます。
  • まだ何も再生していなかった。Audacityのガイドは、先に音を流すよう勧めています。
  • PulseAudioもpipewire-pulseも動いていない。parecord、pavucontrol、Relineはどちらかを通じて動くため、どちらもなければパソコンの再生音を録音できず、Relineはマイクの音だけを録音します。

会議を録る:Reline(Linuxベータ版)で両方の側とライブ文字起こし

上のツールで残るのはファイルです。流れているのが会議なら、WAVではなく文字がほしいはずです。RelineにはLinux向けデスクトップアプリ(ベータ版)があり、マイクとシステム音声を録音し、話している間に通話をライブで文字起こしします。60以上の言語に対応しています。仕組みはparecordと同じで、PulseAudioまたはPipeWire(pipewire-pulse経由)を通じて既定の出力のモニターを録り、そこにマイクを加えます。この流れはUbuntu 24.04で確認しました。通話にボットは参加せず、アプリの全機能はブラウザでも使えます。

  1. RelineのLinux向けデスクトップアプリ(ベータ版、x64とArm64のAppImage)をダウンロードしてサインインします。Freeプランには10時間の文字起こしが含まれます。
  2. 通話にはそのアプリかブラウザのタブで参加し、音は既定の出力から、ミュートせずに流します。
  3. メモのために録音することを全員に伝え、全員が同意した場合だけ録音します。
  4. Relineで録音を押します。話している間に文字起こしが表示されます。
  5. 通話が終わったら止めます。文字起こし、その横のAI要約、保存された音声が残り、文字起こしの各行に再生ボタンがあります。

頼る前に限界を知っておいてください。Relineは録音しながらライブで文字起こしします。parecord、pw-record、Audacity、OBSで作ったファイルは文字起こしできず、ファイルのアップロード機能もありません。録るのは音声で、映像は録りません。parecordと同じく、既定の出力から流れる音はすべて録音されるので、音楽は止め、通知はオフにしてください。あなたの声と通話は、音がどのストリームから届いたかで「自分」と「相手」に分けられます。ベータの「話者を分ける」は通話側の声に番号を振り、名前はあなたが付けます。録音はパソコン上で行いますが、文字起こし、AI要約、保存はクラウドで行われます。

録音することを伝える

パソコン上の録音ツールは通話に何も加えません。parecord、pw-record、Audacity、OBS、Relineはアナウンスを流さず通知も出さないので、伝えるのはあなたの役目です。カリフォルニア州を含む米国のいくつかの州では、通話を録音する前に全員の同意が必要です。EUではGDPRに基づく法的根拠が必要で、録音の目的を伝えるべきです。ルールは国や州によって異なるため、参加者全員がいる場所のルールを確認してください。シンプルな習慣は、通話の最初にメモのために録音すると伝え、反対があればやめることです。音楽や動画については、著作権やウェブサイトの規約によって録音や配布ができない場合があると、Audacityのマニュアルも注意しています。

出典

  • PipeWire documentation, "pw-cat" manual page (pw-record): docs.pipewire.org
  • PipeWire documentation, "Key Names" (stream.capture.sink): docs.pipewire.org
  • PipeWire documentation, "pipewire-pulse" manual page: docs.pipewire.org
  • PulseAudio manual pages pacat(1) (parecord) and pactl(1): github.com/pulseaudio/pulseaudio (official mirror)
  • PulseAudio Volume Control (pavucontrol): freedesktop.org
  • Audacity Manual, "Tutorial - Recording Computer Playback on Linux": manual.audacityteam.org
  • Audacity Support, "Recording desktop audio": support.audacityteam.org
  • OBS Studio, "Quick Start Guide" and "Audio Sources": obsproject.com
よくある質問

よくあるご質問

Linuxでシステム音声を録音するには?
出力デバイスのモニターを録音します。ターミナルでは parecord -d @DEFAULT_MONITOR@ call.wav が、PulseAudio上、またはpipewire-pulse経由のPipeWire上で既定の出力を録音します。PipeWireでは、stream.capture.sinkプロパティを付けたpw-recordでも同じことができます。pavucontrolと組み合わせたAudacityやOBS Studioでも録れます。
LinuxでAudacityを使ってパソコンの音を録音するには?
AudacityのホストをALSA、録音デバイスをpulseにしてStart Monitoringをクリックし、PulseAudio音量調節のRecordingタブで、Capture fromをアプリが音を出している出力のMonitorにします。そこでMuteは押さないでください。Audacityのマニュアルによると、無音が録音されます。
Linuxでマイクとシステム音声を同時に録音するには?
parecord、pw-record、モニターを使うAudacityの設定は、パソコンが再生する音しか録りません。OBS Studioは既定でデスクトップ音声とマイクを取り込みます。会議なら、Reline(Linuxベータ版)が両方を録音し、通話をライブで文字起こしします。
Linuxでシステム音声の録音が無音になるのはなぜ?
多くの場合、出力がミュートになっている、音が既定の出力ではないデバイスから出ている、または録音開始時に何も再生していなかったのが原因です。ミュートを解除し、音を聞いているデバイスを既定の出力にして、録音の前に音を流してください。
Linuxで録音済みのファイルをRelineで文字起こしできますか?
できません。Relineは録音しながらライブで文字起こしし、ファイルのアップロード機能はないため、parecord、pw-record、Audacity、OBSのファイルは文字起こしできません。役に立つのは次の通話からです。
RelineはLinuxでシステム音声を録音できますか?
はい、Linux向けデスクトップアプリ(ベータ版)で録音できます。PulseAudioまたはPipeWire(pipewire-pulse経由)を通じてマイクと既定の出力を録音し、通話にボットは参加しません。文字起こし、AI要約、保存はクラウドで行われ、アプリの全機能はブラウザでも使えます。
準備ができたらいつでも

ノートを取るのをやめよう。成果を出し始めよう。

個人はずっと無料。インストールは5分。次の会議が自分でノートを書きます。