rfriendsでラジオ録音

ラジコ、らじるらじる、タイムフリーのラジオ番組を録音

WindowsからLinuxにSSH接続して音を再生。

 SSH接続の場合、リモート側で音を再生してもローカル側では聞くことができません。しかし、PulseAudioを使うとローカル側で音を再生することができます。

RaspberryPi Zeroをラジオにするシリーズの一つです。
https://rfriends.hatenablog.com/entry/2022/05/01/154913

 

以下に設定方法を記述します。

0.はじめに

ここでは、 ローカル:Windows リモート:Linux として、ローカルからリモートへSSH接続した環境を想定して説明します。

1.リモート(Linux)側の設定

1)pulseaudioのインストール

$ sudo apt install pulseaudio

2)ローカル(Windows)側のIPアドレスを設定する。

localhostの設定を行う。

$ sudo vi /etc/pulse/client.conf
default-server = localhost

または、.bashrc(bashの場合)に記述し、再ログインする。

cd ~/
vi .bashrc
以下の1行を最後に追加
export PULSE_SERVER=localhost

以上でリモート(Linux)側の設定はおしまいです。

2.ローカル(Windows)側の設定

1)pulseaudioのダウンロード

以下のアドレスよりpulseaudioをダウンロードし、展開する。

ここでは、例としてc:\pulseaudio-1.1 に展開する。

http://www.freedesktop.org/wiki/Software/PulseAudio/Ports/Windows/Support/ http://bosmans.ch/pulseaudio/pulseaudio-1.1.zip

2022/04/30現在、上記からはダウンロードできないようです。

以下より入手してください。

http://rfriends.s1009.xrea.com/files/pulseaudio-1.1.zip

http://rfriends.s1009.xrea.com/files/pulseaudio-1.1x.zip (設定済)

2)pulseaudioの設定

以下の2つのファイルを設定する。

・c:\pulseaudio-1.1\etc\pulse\default.pa

load-module module-native-protocol-tcp auth-anonymous=1
load-module module-waveout sink_name=output source_name=input record=0

・c:\pulseaudio-1.1\etc\pulse\daemon.conf

exit-idle-time = -1

3)ファイアウォールの設定

管理者権限のコマンドプロンプトを開き、以下のコマンドを入力する。

netsh advfirewall firewall add rule name="PulseAudio" dir=in action=allow protocol=TCP localport=4713

4)PulseAudio の実行

コマンドプロンプトを開き、以下のコマンドを入力する。

cd c:\pulseaudio-1.1\bin
.\pulseaudio.exe --kill
.\pulseaudio.exe -F ..\etc\pulse\default.pa --exit-idle-time=600

アイドル状態が続くとpulseaudioは終了します。 その際は再度実行してください。

 以上でローカル(Windows)側の設定はおしまいです。

5)追加

以下に設定済みのものをアップロードしました。

http://rfriends.s1009.xrea.com/files/pulseaudio-1.1x.zip

  • ダウンロードした物を適当な場所に解凍
  • 中にある、painit.batをダブルクリックして実行 --> 3)相当
  • 中にある、pa.batをダブルクリックして実行 --> 4)相当

もしうまくいかなかったら再度実行してみてください。

3.SSHクライアントの設定

 SSH経由での再生設定を行います。リモートのport(ここでは4713)をローカルのport(ここでは4713)に転送して再生することを想定しています。

 使用するSSHツールにより設定場所が異なります。ツール自体の設定や自動化についてはそれぞれのマニュアルを参照ください。

1)teratermの場合

Setup -> SSH Forwarding -> Add

Forward remote server
port 4713 
to local machine 127.0.0.1 port 4713

2)Rloginの場合

ファイル -> サーバに接続 -> (Entry選択)-> 編集 -> プロトコル -> ポートフォワード-> 新規

Remote Host Name : リモート側のIPアドレス Port : 4713 
Connect Host Name : localhost Port : 4713

4.実行テスト

 設定がうまくいってるかどうかは、以下のコマンドで確認できます。Linux(RaspberryPi)側で、以下のコマンドを入力して、Windows側のスピーカから音が出たら成功です。

$ speaker-test -t wav

うまくいかない場合はWindows側のファイアウォールの再設定を行ってみてください。管理者権限のコマンドプロンプトを開き、解除、再設定。

netsh advfirewall firewall delete rule name="PulseAudio"
netsh advfirewall firewall add rule name="PulseAudio" dir=in action=allow protocol=TCP localport=4713

5.その他

 以上の設定が済めば、rfriendsでradiko/らじるらじるのリアルタイム再生が可能になります。お試しください。

 

注意事項

WAN経由の場合、約1.5mbpsの通信が発生するので、従量契約の方は気を付けてください。

 

 また、以下のサイト他を参考にしました、ありがとうございます。

 

LinuxサウンドをリモートのWindowsマシンで鳴らす

https://pcvogel.sarakura.net/2017/11/28/31784

以上