<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>仮想オーディオ on えやみぐさ</title>
    <link>https://blog.aoirint.com/tags/%E4%BB%AE%E6%83%B3%E3%82%AA%E3%83%BC%E3%83%87%E3%82%A3%E3%82%AA/</link>
    <description>Recent content in 仮想オーディオ on えやみぐさ</description>
    <generator>Hugo -- 0.164.0</generator>
    <language>ja</language>
    <lastBuildDate>Mon, 09 Nov 2020 06:00:00 +0900</lastBuildDate>
    <atom:link href="https://blog.aoirint.com/tags/%E4%BB%AE%E6%83%B3%E3%82%AA%E3%83%BC%E3%83%87%E3%82%A3%E3%82%AA/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>PulseAudioで特定のアプリケーションからの音声出力だけを分離する</title>
      <link>https://blog.aoirint.com/entry/2020/pulseaudio_split_output/</link>
      <pubDate>Mon, 09 Nov 2020 06:00:00 +0900</pubDate>
      <guid>https://blog.aoirint.com/entry/2020/pulseaudio_split_output/</guid>
      <description>&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/Modules/#module-loopback&#34;&gt;https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/Modules/#module-loopback&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;以下のコマンドで仮想出力デバイス&lt;code&gt;DummyOutput0&lt;/code&gt;と、そのループバック&lt;code&gt;Loopback from Monitor of DummyOutput0&lt;/code&gt;が追加される。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pacmd load-module module-null-sink sink_name&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;DummyOutput0 sink_properties&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;device.description&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;DummyOutput0
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pacmd load-module module-loopback source&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;DummyOutput0.monitor source_dont_move&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;true
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;pavucontrol&lt;/code&gt;または&lt;code&gt;PulseAudio Volume Control&lt;/code&gt;の&lt;code&gt;Playback&lt;/code&gt;から
目的のアプリケーションの出力先を&lt;code&gt;DummyOutput0&lt;/code&gt;にする。
また、&lt;code&gt;Loopback from Monitor of DummyOutput0&lt;/code&gt;の出力先を
希望のスピーカーにすることで音声出力を分離しつつ同時に視聴できる。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;source_dont_move=true&lt;/code&gt;は、デフォルトの入力デバイス変更時にLoopbackの入力デバイスも変更されてしまうのを防ぐオプション。
&lt;code&gt;pavucontrol&lt;/code&gt;からも変更できなくなる。&lt;/p&gt;
&lt;p&gt;仮想出力デバイスとループバックを削除するには、以下のコマンドを実行する。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pacmd unload-module module-loopback
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pacmd unload-module module-null-sink
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;ログイン時に自動作成する&#34;&gt;ログイン時に自動作成する&lt;/h2&gt;
&lt;h3 id=&#34;ログイン時自動作成-etcpulsedefaultpa&#34;&gt;ログイン時自動作成 /etc/pulse/default.pa&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-pulseaudio&#34; data-lang=&#34;pulseaudio&#34;&gt;# Custom
load-module module-null-sink sink_name=DummyOutputApp sink_properties=device.description=&amp;#34;DummyOutputApp&amp;#34;
load-module module-loopback source=DummyOutputApp.monitor source_dont_move=true

load-module module-null-sink sink_name=DummyOutputVoiceChat sink_properties=device.description=&amp;#34;DummyOutputVoiceChat&amp;#34;
load-module module-loopback source=DummyOutputVoiceChat.monitor source_dont_move=true

load-module module-null-sink sink_name=DummyOutputGeneral0 sink_properties=device.description=&amp;#34;DummyOutputGeneral0&amp;#34;
load-module module-loopback source=DummyOutputGeneral0.monitor source_dont_move=true

load-module module-null-sink sink_name=DummyOutputGeneral1 sink_properties=device.description=&amp;#34;DummyOutputGeneral1&amp;#34;
load-module module-loopback source=DummyOutputGeneral1.monitor source_dont_move=true
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;ログイン時自動作成-pulseaudioの再起動&#34;&gt;ログイン時自動作成 PulseAudioの再起動&lt;/h3&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pulseaudio --kill
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pulseaudio --start
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;デバイス接続時の入出力デバイス自動切り替えを無効化する&#34;&gt;デバイス接続時の入出力デバイス自動切り替えを無効化する&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://askubuntu.com/questions/1061414/how-to-disable-pulseaudio-automatic-device-switch&#34;&gt;https://askubuntu.com/questions/1061414/how-to-disable-pulseaudio-automatic-device-switch&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;新しい出力デバイスが検出されたとき、デフォルト出力デバイスが切り替わるのを防ぐ。&lt;/p&gt;</description>
    </item>
    <item>
      <title>PulseAudioでマイク入力をスピーカから出力する</title>
      <link>https://blog.aoirint.com/entry/2020/pulseaudio_mic_input_to_speaker_output/</link>
      <pubDate>Sun, 04 Oct 2020 03:40:00 +0900</pubDate>
      <guid>https://blog.aoirint.com/entry/2020/pulseaudio_mic_input_to_speaker_output/</guid>
      <description>&lt;p&gt;まずはPCに接続されている音声入力デバイスのIDを確認する。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pactl list short sources
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# pactl list sources&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-plain&#34; data-lang=&#34;plain&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;3 alsa_output.pci-0000_00_1f.3.analog-stereo.monitor module-alsa-card.c s16le 2ch 44100Hz RUNNING
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;4 alsa_output.pci-0000_01_00.1.hdmi-stereo.monitor module-alsa-card.c s16le 2ch 44100Hz RUNNING
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;5 alsa_output.usb-GeneralPlus_USB_Audio_Device-00.iec958-stereo.monitor module-alsa-card.c s16le 2ch 44100Hz RUNNING
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;6 alsa_input.usb-GeneralPlus_USB_Audio_Device-00.analog-mono module-alsa-card.c s16le 1ch 44100Hz RUNNING
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;ここでは、以下のようになっている。&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th style=&#34;text-align: left&#34;&gt;ID&lt;/th&gt;
					&lt;th style=&#34;text-align: left&#34;&gt;種類&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td style=&#34;text-align: left&#34;&gt;3&lt;/td&gt;
					&lt;td style=&#34;text-align: left&#34;&gt;本体のヘッドホン端子&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td style=&#34;text-align: left&#34;&gt;4&lt;/td&gt;
					&lt;td style=&#34;text-align: left&#34;&gt;HDMI&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td style=&#34;text-align: left&#34;&gt;5&lt;/td&gt;
					&lt;td style=&#34;text-align: left&#34;&gt;USBサウンドカードのヘッドホン端子&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td style=&#34;text-align: left&#34;&gt;6&lt;/td&gt;
					&lt;td style=&#34;text-align: left&#34;&gt;USBサウンドカードのマイク端子&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;以下のコマンドで、ID=6のUSBサウンドカードのマイク端子に入力されている音声をスピーカにループバックするモジュールがロードされる。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pacmd load-module module-loopback source&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;6&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;名前を使って指定することもできる。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pacmd load-module module-loopback source&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;alsa_input.usb-GeneralPlus_USB_Audio_Device-00.analog-mono
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;必要に応じて、&lt;code&gt;pavucontrol&lt;/code&gt;を開いて出力先デバイスを設定する。&lt;/p&gt;
&lt;p&gt;以下のコマンドで、ループバックモジュールをアンロードする。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pacmd unload-module module-loopback
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description>
    </item>
  </channel>
</rss>
