Tag: Sound

Linux PluseAudio で マイクをスピーカーにつなぐ

概要

NeosVRをUbuntu 20.04上のSteam上で動作させた。 ほぼ問題なく動作するが、マイクの音声が読み込まれない。 スピーカーをマイクとして設定するとNeosVR上のインジゲーターが振れる。

マイク自体が壊れていない事は、マイクの音をAudacityで録音できる事で確認した。

LinuxのProton(Wine)で動作させているため、あまりマイク関連の設定項目はないので、 「LinuxのPulseAudio側でマイクとスピーカーを接続」して、 スピーカーをNeosVRに接続することにする。

環境

  • Ubuntu Studio 21.04
  • Jack ではなく PluseAudio を利用

手順

手動で下記を実行して動作を確認した。

$ pacmd load-module module-null-sink sink_name=null.mic sink_properties=device.description='Null_Mic'
$ pacmd load-module module-loopback source=alsa_input.pci-0000_00_1b.0.analog-stereo  sink=null.mic

~/.config/pulse/default.pa には下記を追記

# マイク
# http://itline.jp/~svx/diary/?date=20200421#p22
load-module module-null-sink sink_name=null.mic sink_properties=device.description='Null_Mic'
load-module module-loopback source=alsa_input.pci-0000_00_1b.0.analog-stereo sink=null.mic

意図

PulseAudioにはヌルデバイスと呼ばれる「最初は物理デバイスが何も紐付かないデバイス」を作れる。

$ pacmd load-module module-null-sink sink_name=null.mic sink_properties=device.description='Null_Mic'

上記を実行し、pavucontrolでオーディオ関連を確認すると、物理的なデバイスが紐付いていない下記の2つが追加されている。

更にループバックモジュールを使いながら、下記のように物理デバイスをスピーカーに紐付ける。

$ pacmd load-module module-loopback source=alsa_input.pci-0000_00_1b.0.analog-stereo  sink=null.mic

このようにすると「マイクからの入力をスピーカーに紐付ける」ということができる。

参考

PulseAudioでBGM付きリモート呑み会に

Read more...

Ubuntu で イコライザーで手軽に重低音を強くしたい

概要

手元のオーディオの特性もあるが手軽に重低音を強くしたかった。

環境
  • Ubuntu Studio 21.04
  • Jack ではなく PluseAudio を利用
手順
  1. PulseAudio の module-equalizer-sink , module-dbus-protocol モジュールをロード、
pactl load-module module-equalizer-sink
pactl load-module module-equalizer-sink
  1. qpaeq をインストール
$ sudo apt install pulseaudio-equalizer
  1. pavucontrol の「再生」タブで、アプリの出力先をプルダウンメニューから「FFT based equalizer on Simultaneous output to hoge , hogege 」に変える

  2. Equalized Stream の出力先を、音声を出したいものに変更

エラーが出ることがあったが、ファイルを削除すると治る

下記エラーが出たが、

rm /home/kaoru/.config/pulse/equalizer-*

で解消した。

I: [pulseaudio] sink-input.c: Created input 7 "Equalized Stream" on alsa_output.usb-BurrBrown_from_Texas_Instruments_USB_AUDIO_DAC-00.analog-stereo with sample spec float32le 2ch 44100Hz and channel map front-left,front-right
I: [pulseaudio] sink-input.c:     media.name = "Equalized Stream"
I: [pulseaudio] sink-input.c:     media.role = "filter"
I: [pulseaudio] sink-input.c:     module-stream-restore.id = "sink-input-by-media-role:filter"
D: [pulseaudio] protocol-dbus.c: Interface org.PulseAudio.Ext.Equalizing1.Equalizer added for object /org/pulseaudio/core1/sink5
D: [pulseaudio] database-tdb.c: Opened TDB database '/home/kaoru/.config/pulse/equalizer-presets.tdb'
I: [pulseaudio] database.c: Successfully opened 'equalizer-presets' database file '/home/kaoru/.config/pulse/equalizer-presets.tdb'.
D: [pulseaudio] protocol-dbus.c: Interface org.PulseAudio.Ext.Equalizing1.Manager added for object /org/pulseaudio/equalizing1
D: [pulseaudio] database-tdb.c: Opened TDB database '/home/kaoru/.config/pulse/equalizer-state.tdb'
I: [pulseaudio] database.c: Successfully opened 'equalizer-state' database file '/home/kaoru/.config/pulse/equalizer-state.tdb'.
E: [pulseaudio] xmalloc.c: Assertion 'size > 0' failed at pulse/xmalloc.c:60, function pa_xmalloc(). Aborting.
fish: 'pulseaudio -vvvvv' terminated by signal SIGABRT (Abort)
Read more...

Linux PluseAudio で 複数スピーカーから同時に音を出す

概要

デスクトップ Linux のデフォルトの状態で複数のスピーカー、音声の出力先があった場合、 「出力先の選択はできる」が「複数の出力先を同時に使えない」という状況だった。 PluseAudio の module-combine-sink モジュールを読み込み、仮想的な出力先を作り pavucontrol でアプリケーションごとにある音声出力先を仮想的な出力先に切り替えることで、 複数の出力先で同時に音がなるようになった。

課題

  • ウーファーとイヤフォン両方で聞けるようになったので、概ね満足しているが bluetooth イヤフォンでの遅延が気になった。 現在はケーブルのイヤフォンを使って聞いている。
  • MIDI キーボードからの遅延が大きい。この用途の場合は Jack を試したい。

環境

  • Ubuntu Studio 21.04
  • Jack ではなく PluseAudio を利用

手順

$ pactl load-module module-combine-sink
$ pavucontrol

pavucontrol 起動後、複数スピーカーから出力したいアプリの「出力先」を、 「Simultaneous output to hoge , hogege , hogegege( サウンドカード名 )」に変更する。

ウーファー

pulseaudio --dump-conf でエラー確認できるが、 ~/.config/pulse/daemon.conf に

enable-lfe-remixing = yes

と追加していると

E: [pulseaudio] daemon-conf.c: [/home/kaoru/.config/pulse//daemon.conf:1] Deprecated option 'enable-lfe-remixing' found.
E: [pulseaudio] daemon-conf.c: [/home/kaoru/.config/pulse//daemon.conf:1] Please migrate to 'remixing-produce-lfe' and 'remixing-consume-lfe', set both to 'yes'.

というエラーが出た。古い設定のようなので、オススメされている設定 remixing-consume-lfe = yes を追加した。

Read more...