rfriendsでラジオ録音

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

rfriendsの状況

f:id:rfriends:20170512091958j:plain  rfriends (Windows, Linux, Raspberry Pi OS,OSX,termux対応)

ラジコ、タイムフリー、らじるらじる、聞き逃し、ゴガク対応録音サーバ。メール送信、GoogleDrive、オンラインアップデート,再生機能


・ ここでは詳細な技術情報を発信します。
・ wiki   : ダウンロード、マニュアルはwikiにまとめました。(ほかに移行予定)
・ twitter : リリース情報、TIPS等をtwitterで発信します。
・ 掲示板 : 質問、要望などは掲示板のほうにおねがいします。


なお、このブログに表示される広告は当方とは全く関係ありません。

ubuntu/debianにrfriendsをインストールする

ubuntu/debianにrfriendsをインストールする

初版:2021/06/20


1.はじめに

ここではホームディレクトリにインストールする例を記述しています。

 

2.1 インストールスクリプトを取得する。

$ cd ~/
$ rm ./rfriends2_ubuntu.sh
$ wget http://rfriends.s1009.xrea.com/files/rfriends2_ubuntu.sh

 

--2021-06-20 02:31:34--  http://rfriends.s1009.xrea.com/files/rfriends2_ubuntu.sh
rfriends.s1009.xrea.com (rfriends.s1009.xrea.com) をDNSに問いあわせています... 150.95.9.229
rfriends.s1009.xrea.com (rfriends.s1009.xrea.com)|150.95.9.229|:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 3028 (3.0K) [application/x-sh]
`rfriends2_ubuntu.sh' に保存中

rfriends2_ubuntu.sh 100%[================>]   2.96K  --.-KB/s    in 0s      

2021-06-20 02:31:34 (472 MB/s) - `rfriends2_ubuntu.sh' へ保存完了 [3028/3028]

 

$ ls rfriends2_ubuntu.sh
rfriends2_ubuntu.sh

rfriends2_ubuntu.shがただしく取得できていることを確認してください。


2.2 スクリプトの実行

$ sh rfriends2_ubuntu.sh

詳細はスクリプトの中身を見てください。
php,tool,等をインストール
・最新のffmepg等をインストール
・rfriendsをインストール

 

1)この時、新規の場合はrfriendsをインストールして終了します。

2)すでにrfriendsがインストールされている場合は

  a) 新規インストール

  "すでにrfriendsがインストールされていますが、削除しますか?"
  に対して、yと応答すると、rfriendsを削除して新規インストールします。


       b) 更新

  "すでにrfriendsがインストールされていますが、削除しますか?"
  に対して、nと応答、

  "rfriends(安定版)を上書きインストールしますか?"
  に対して、yと応答すると、rfriendsを更新します。
  nと応答すると、rfriendsを更新せずに終了します。


3.起動

$ cd rfriends2/
$ sh rfriends2.sh

 Rfriends2 P 2.7.4.5 [21/06/20(Sun) 02:35:58]
  radiko: JP13,東京都,tokyo Japan  radiru: tokyo
 
 1. 管理 [残 21.6 GB / 29 GB]
 2. ラジコ (0)
 3. ラジコタイムフリー
 4. らじる (0)
 5. らじる聞き逃し
 6. らじるゴガク
 7. キーワード
 8. 設定
 9. rfriends2について 
 
 [user-vm] メニューを選択(1-9,end=x) : 

 

この画面が表示されればインストールは成功です。


4.その他

 

このスクリプトは、ubuntu 16/18/20 および debian stretch/busterで確認しています。

ほかのディストリビューションでも若干の修正で動作すると思います。


以上

 

windowsにrfriendsをインストールする。

初版 2021/06/22

1.rfriendsのダウンロード

 

1)GoogleDriveのサイトを開く。

2.7 - Google ドライブ

2)rfriends2をダウンロードする。

下記の①②③のいづれかのrfriendsをダウンロードする。
① 新規(x64) 最近のwindows10ならこれ
② 新規(x86) 主に古い機種用
③ アップデート

アップデートの方でも①または②を選択すれば、バイナリが最新になります。

録音実行中でないことを確認して行ってください。バイナリの上書きができません。
また、以前の設定は保持されます。


f:id:rfriends:20210615001245p:plain

ダウンロー方法は、
ダウンロードするファイルをクリック(ダブルクリックではない)して選択する。
右クリックしてメニューを表示させ、[ダウンロード] をクリックする。

2.rfriendsをインストールする。

1)解凍する。

通常「ダウンロード」にダウンロードされる。
ZIP形式で圧縮されているので、これをダブルクリックして解凍する。

f:id:rfriends:20210615001312p:plain

rfriends2フォルダが表示される。

f:id:rfriends:20210615001508p:plain

2)コピーする。

解凍したファイルをフォルダ毎インストールしたいディレクトリにコピーする。
例ではCドライブにコピーしている。

f:id:rfriends:20210615001616p:plain

アップデートの場合,ファイルを置き換えるか尋ねられるので、置き換えるをクリックする。

f:id:rfriends:20210615001603p:plain

3.rfriendsを起動する。

rfriends2ディレクトリをダブルクリックして開く。

f:id:rfriends:20210615001732p:plain

rfriends2.batをダブルクリックして起動する。

f:id:rfriends:20210615001742p:plain

rfriends2.batのショートカットをデスクトップに作成しておくと便利。

 

以上

rfriendsのインストールディレクトリを変更されたかたへ(改定)

インストールディレクトリを変更されてない方は以下の操作は不要です。

訂正:2021/06/12 wget でサイズが0になるため、zipファイルに変更しました。


--------------------------------------------------------------------
rfriend2.3.7.4.2 (安定板)
rfriend2.3.7.5-a6 (開発版)
までのバージョンをお使いの方は、インストールディレクトリを変更すると
オンラインアップデートができません。

以下の操作を行い、
rfriend2.3.7.4.3 (安定板)
rfriend2.3.7.5-a7 (開発版)
以降にアップデートしてください。
--------------------------------------------------------------------

Linuxユーザを例にとり説明します。

通常は、~/rfriends2 以下にインストールされますが
例えば、~/rfriends2_test に変更した場合

一時的に以下のファイルをダウンロードして変更する必要があります。

 

cd ~/
wget http://rfriends.s1009.xrea.com/files/rf_gateway_ext.php

wget http://rfriends.s1009.xrea.com/files/rf_gateway_ext.zip

unzip rf_gateway_ext.zip
mv rf_gateway_ext.php rfriends2_test/script/.

 

あとは通常通りrfriends2を起動してupdateしてください。
以降はこの操作は不要です。

正常/異常の報告は掲示板のほうにお願いします。

以上

らじるらじるの語学番組って再放送が多いよね(改訂版4)

これは以前に書いたものの改訂版(4)です。https://rfriends.hatenablog.com/entry/2019/11/09/202819

 

 例えば、キーワードに”基礎英語”などと入れると、同じ番組がたくさん録音されて整理がちょっと面倒になります。以前紹介した方法で同一番組を消すというのもいいのですが、できれば最初から同一番組は録音しないというのがいいですね。ということで、同一番組は録音しないというスイッチを設けました。

 

1.重複録音の仕様(3.7.5-a9以降)

新規や初期化した場合は、この行は追加されています。

double_rec_swは廃止しました。


[8-1]パラメータ

*_double_rec
 * : radiko, radiru, timefree, radiru_vod, radiru_gogaku

通常は、1で問題ないと思います。
; ; [番組名] ; program ; [ファイル名] ; station_program_20191101_1630_1800.m4a ; 2:する ; 常に録音する。ただし上書き。 ; 1:しない[番組名] ; 番組名が一致するものは局、日時が異なっても録音しない。 ; 0:しない[ファイル名] ; ファイル名が一致するものは録音しない。

2.動作

2-1 *_double_rec = 0または2の場合

 放送局、日付、時間を含めた同一番組名のものを録音するかしないかです。リアルタイム録音(radiko,radiru)の場合日付、時間は必ず異なるので、0と2は常に録音することになります。

 

2-2 *_double_rec = 1 の場合

放送局、日付、時間を除いた同一番組名のものを録音するかしないかを判断します。

らじるを例にとって説明します。

 

1)[8-2]パラメータ

radiru_double_rec = 1

2)[7-4]らじるのキーワード

まいにちイタリア語,応用編

3)[7-10]番組名キーワード

まいにちイタリア語

4)番組予約

らじるのキーワード「まいにちイタリア語,応用編」にヒットしたものが予約されます。

例えば

JOAB_まいにちイタリア語-応用編-しっかり学ぶ中級文法(18)_20210611_1115_1130.m4a

5)予約実行

上記プログラムを録音しようとする前に番組名キーワードに該当するものがあるか調べます。(部分一致)

6)番組名キーワードにない場合

通常どおり録音を行います。

7)番組名キーワードにある場合

番組名と同じものがradiruディレクトリすでに録音されているかどうか調べます。

この場合、「まいにちイタリア語-応用編-しっかり学ぶ中級文法(18)」

8)すでにある場合

録音を中止します。

9)ない場合

録音を行います。

 

 

 

3.キーワード

3.7.5-a9より、キーワードファイルを共通から番組名に変更しました。

記述方法に変更はありません。


 [7-10]番組名キーワードの例です。

# -----------------------------------------------
# 同一番組名チェックを行う番組名定義
# 部分一致
# -----------------------------------------------
:target_program
#
中高生の基礎英語
まいにちフランス語
まいにちイタリア語

4.その他

ゴガクを録音するもっとスマートな方法は
[7-8]らじるゴガク
に録音したいゴガク番組を記入して、[6-6]一括録音、またはデイリー処理に任せれば、先週の番組が自動で録音されます。なお、番組が更新されるのは月曜の10時以降です。午後か翌日のデイリー処理のほうが確実ですね。
[7-10-8]キーワード初期化をすれば、今年度のゴガク番組が設定されるので、ほしい番組のコメントを外すだけです。

 

以上

配信遅れの調整方法について

[8-1-2]パラメータ設定

 

ラジコ/ラジコプレミアム・らじるらじるの配信は
実際の放送よりも遅れて配信されます。


以下の方法で調整できます。
XXXXX_delay 配信遅れ(秒)
XXXXX_pre_margin 放送前の余裕(秒)
XXXXX_post_margin 放送後の余裕(秒)

XXXXXはそれぞれ以下のようになっています。
premium ラジコプレミアム
radiko ラジコ
radiru らじるらじる

 

この3つを調整することによりより正確な録音が可能になります。
rfriendsを古いバージョンから使用している人は、設定があっていない可能性があります。
ぜひ、見直してみてください。

 

XXXXX_post_marginは簡単です。とりあえず25秒くらいに設定しておけばいいでしょう。

以下の1から3を、ラジコプレミアム、ラジコ、らじるらじるについて行ってください。

1.録音する。

XXXXX_delay = 0
XXXXX_pre_margin = 0

にして、適当な番組を録音してみる。
例えば、定時のニュースが適しています。

2.再生する。

録音した番組を再生して、何秒後に開始されるかを確認する。
再生はwindowsならmpc-beがおすすめ。再生しているときに秒数が確認できるものなら何でもいいです。

例えば30秒後に番組開始されたら、配信遅れは30秒ということになります。

3.設定する。

配信遅れは30秒だったので、
XXXXX_delay = 30

放送前の余裕は25秒くらいでいいでしょう。
XXXXX_pre_margin = 25

注) このテストは予約がない時間帯に行うのがいいでしょう。

以上です。

 

rfriends2 2.7.4-a15(開発版)

修正内容

・録音領域不足に対処

領域が不足しているときはタグ、イメージの付加をしない。

 

raspberry pi zeroの場合、録音領域を384MBとしているため、長時間番組を複数同時に録音すると、領域不足が発生します。
ただし大抵の場合最大2,3時間なのでこの問題は起きにくいと思います。唯一NHKの三昧が7時間弱と長時間です。
他の機種は録音領域が大きいので、以下のことはあてはまりません。

 

raspberry pi zeroで三昧の聞き逃しをダウンロードしてみました。
なお、録音領域不足に対処したバージョン(2.7.4-a15)で行いました。

[5-1-3]録音
今日は一日〇〇三昧

JOAK-FM_今日は一日“スポーツアニメ”三昧-▽前半_20210503_1215_1850
JOAK-FM_今日は一日“大黒摩季”三昧-▽前半_20210501_1215_1850

上記2つを別々に選択してほぼ同時に録音開始させました。
録音サイズは132MBになりました。

結果、タグ、イメージは付加されていませんが、データ自体は正常でした。
たぶん、旧バージョンですとエラーになると思います。

 

今回の対処は完璧な対処ではありません。注意事項としては以下のとおり。
・三昧のような長時間番組を複数同時録音しない。
・三昧のような長時間番組は実時間録音はやめて、聞き逃しをひとつづつダウンロードする。

とはいえ、実使用では意識する必要はあまりないと思います。

 

なお、不具合等がありましたら、掲示板のほうにお願いします。
https://mb2.whocares.jp/mbb/u/rfriends/

 

以上

Raspberry Pi Zero でLチカ

以前に書いたような気もしますが、zeroのLED制御方法です。

 

1.状態表示
$ cat /sys/class/leds/led0/trigger

電源状態の表示になっているので、[actpwr] と表示されます。。

 

2.制御解除
表示をコントロールするには制御を解除する必要があります。

$ sudo sh -c " echo none > /sys/class/leds/led0/trigger"

LEDが消灯します。

1)LED点灯
sudo sh -c " echo 1 > /sys/class/leds/led0/brightness"
2)LED消灯
sudo sh -c " echo 0 > /sys/class/leds/led0/brightness"

 

3.ハートビート
sudo sh -c " echo heartbeat > /sys/class/leds/led0/trigger"

LEDが点滅を始めます。

 

4.初期状態
sudo sh -c " echo actpwr > /sys/class/leds/led0/trigger"

テストを終了する場合は、これにより元に戻ります。

LEDが点灯します。

 

5.サンプルシェル

以下をlchika.shにコピペして実行(sh lchika.sh)すると、5回点滅します。

#!/bin/sh
sudo sh -c " echo none > /sys/class/leds/led0/trigger"

for i in `seq 5`
do
 sudo sh -c " echo 1 > /sys/class/leds/led0/brightness"
 sleep 1
 sudo sh -c " echo 0 > /sys/class/leds/led0/brightness"
 sleep 1
done

sudo sh -c " echo actpwr > /sys/class/leds/led0/trigger"

 

以上です。