Raspberry Pi 4 raspios + jwm

当サイトのRaspberry Pi 4はLXPanelの不具合がなかなか解決しないので前回moOde audioで採用したウィンドウマネージャーJWMをRaspberry Pi 4に適用してみました。

ウィンドウマネージャーJWM

ベースとなるraspiosは64bit 2022-09-06-raspios-bullseye-arm64を新規インストール。主なパッケージをインストール、環境を設定しています。
jwmをインストール (.jwmrc jwm-menu作成)

$ sudo apt install jwm
$ mkdir ~/jwm
$ cp -r /etc/jwm ~/
$ cp ~/jwm/system.jwmrc ~/.jwmrc
$ cp ~/jwm/debian-menu ~/jwm/jwm-menu

ウィンドウマネージャーを変更
/etc/xdg/lxsession/LXDE-pi/desktop.conf 2行目mutter -> jwm

[Session]
window_manager=jwm

オートログイン /etc/lightdm/lightdm.conf(126行目)

autologin-user=pi

Xは.xsessionから実行することにします。
~/.xsession (chmod 755 .xsession)

#!/bin/sh
xrdb ~/.Xresources
xmodmap ~/.Xmodmap
fcitx &
sleep 1
exec /usr/bin/jwm

再起動
パネルは下部に表示、シンプルな画面。デフォルトのLXDEはそのまま。アプリケーションがdockに対応していればパネルに格納してくれます。fcitx可能

JWM設定
raspiosにインストールされているパッケージはLXDEの一部を除いて利用可能ですがjwmではLxpanelのプラグインやメニューへのアプリケーション自動追加などは利用できません。bluetooth設定などは別途アプリケーションをインストールします。
jwmのパネルやメニューを設定。パネルは上部にロゴ変更、ページャは右側に11個配置、LXPnelのページャと比べると若干視認性が悪いので2個増やして予備に中9個を今まで同様割り当てます。


サイズはパネルに合わせて縮小してくれます。

当サイトではよく使うアプリケーションはpythonメニューに大体登録済みです。jwmメニューはカテゴリを用意して新規インストールしたものや気がついたものをサクッと登録するようにします。

設定例
.jwmrc
jwm-menu
メニューのスタートは上記画像の幅を広げて新たにファイルを作成アイコンのみとしています。
アプリケーション、カテゴリアイコンは.jwmrcのアイコンパスを追加

カテゴリアイコンは視認性の良いHighContrastを設定、メジャーなアプリケーションはlabel=とicon=を同一名にすることでヒットする確率が高くなります。拡張子も必要ありません。表示しない時は適当なアイコンファイルをパスの通ったところにコピーファイル名を指定
.xsession再編集
jwmは起動時のアプリケーションスタートアップが無いので.xsessionの最後にスクリプトを走らせます。xdotiil,devilspie2を利用、位置、サイズ、ワークスペースを振り分けます。適当にsleepを入れて起動します。必要であればスクリプトファイルを複数用意してメインのスクリプトから呼び出します。最後は終わりの無いアプリケーションを実行。当サイトは最後にhtopを実行しています。htopを終了するとjwmが強制終了、ログイン画面になるので注意が必要です。

#!/bin/sh
xrdb ~/.Xresources
xmodmap ~/.Xmodmap
xbindkeys &
devilspie2 &
fcitx &
/usr/bin/jwm &
sleep 1
exec ~/bin/startup/work.sh

スクリプトファイルは起動したいアプリケーションを並べて行きます
後述するideskもこのスクリプトから実行(.xsessionに直接書くと何故か壁紙を適用しない)
(例 $ chmod 755 work.sh)

#!/bin/sh
/usr/bin/chromium-browser &
sleep 10
# idesk
idesk &
sleep 1
# htop
xterm -geometry 72x14+85+31 -e htop

今まで寸足らずのパネルも幅いっぱいになりました。メニューも登録したものだけなので非常にスッキリしています。

デスクトップアイコン、壁紙

デスクトップアイコンや壁紙は必須では無いですが全く無いと若干さみしいですね。デスクトップアイコンはpcmanfmが普通に動くので設定も可能かもしれませんがここはシンプルなideskを使うことにします。ideskは壁紙も設定可能です。

$ sudo apt install idesk

idesk
設定ファイル.ideskrcをコピー、デスクトップアイコン設定ファイル用のディレクトリ.idesktopまたideskは隠しディレクトリ(.dir)はidesk再起動時ファイルを読みに行かないのでアイコンファイル用のディレクトリidesktop(dot無し)を作成

$ mkdir ~/.idesktop
$ mkdir ~/idesktop
$ cp /usr/share/idesk/dot.ideskrc ~/.ideskrc
$ cp /usr/share/idesk/default.lnk ~/.idesktop/

Background.SourceとBackground.FileがNoneになっているので適当なファイル名を記載します。Background.Fileが優先するようです。またマウスleftクリックはシングルクリック設定。

  Background.Source: /usr/share/rpd-wallpaper/balloon.jpg
  Background.File: /usr/share/rpd-wallpaper/bridge.jpg

  Execute[0]: left singleClk

idesk デスクトップアイコン
~/.idesktop/default.lnkをコピーしてchromium.lnkを作成。アイコンは48pixを使用、サイズは調整可能
jwmメニューのrestartを実行すると画面を再描写するせいか壁紙も終了してしまいます。default.lnkは後述する壁紙ツールを実行します。
またidesk自体の起動は.xsessionから実行するスクリプトから起動

default.lnk
table Icon
  Caption: Idesk
  Command: ~/bin/wallpaper.py
  Icon: /usr/share/idesk/folder_home.xpm
  Width: 40
  Height: 40
  X: 25
  Y: 45
end

chromium.lnk
table Icon
  Caption: Chromium
  Command: chromium-browser
  Icon: /home/pi/idesktop/chromium.png
  Width: 40
  Height: 40
  X: 25
  Y: 115
end

Wallpaper Select Tool

raspberry piの壁紙はDebian 7 (Wheezy)の頃からほとんど変わっていない記憶があります。そろそろ飽きも来ていることからウィンドウマネージャをjwmにしたことでLXDEの外観設定が不可になったこの機会に壁紙設定ツールを作成してみました。画像ファイルは安全と思われるサイトからダウンロードするようにします。

wallpaper.py_20230110
リストはraspiosのデフォルト画像ディレクトリ(/usr/share/rpd-wallpaper/)とHomeディレクトリ(/home/pi/画像/wallpaper/)を選択できます。リストから画像ファイルを選択GET Wallpaperボタンをクリック(./.ideskrc Background.File)を書き換えideskを再起動して適用します。rangerは選択しているディレクトリで起動、画像を確認(rangerは予め画像を表示出来るよう設定)
ブラウザからダウンロードしたファイルはReloadでリストに反映。
jwm restartで壁紙が終了したらRestartボタンでideskを再起動。
ディレクトリの移動可(多少画像ファイル数多くても整理可)



こういうのもありです!
jwm restartを繰り返しているとsurf(moode player)がいつの間にか終了していることがあります。再起動は問題無いので特に影響は無いと思います。LXDEの一部機能は使えませんが特に問題になることは無いと考えています。しばらくJwm環境で使ってみようと思います。

moOde audio8.2.4 ウィンドウマネージャ JWM

これまでmoOde audioにウィンドウマネージャDWMをインストールしていましたが新たにスタック型のJWMを追加してみました。vncのxstartupで選択することが出来ます。dwmは気に入っていて今後も使い続けるつもりですがもう一つの選択肢としてjwmを設定してみます。特に問題なければPi4のウィンドウマネージャにする予定。


moOde audio8.2.4をダウンロード。通常通りカードを作成インストール。

主な追加パッケージ(ファイルマネージャrangerは外しています。導入する際はpulseaudioの制御設定が必須です(過去記事どっか)

echo "--- update ---"
apt update

apt -y install lv vim xterm tree rename
apt -y install tigervnc-standalone-server xbindkeys xdotool feh
apt -y install pulseaudio pavucontrol ncmpcpp
apt -y install mpv mplayer streamlink
apt -y remove youtube-dl
curl -L https://yt-dl.org/downloads/latest/youtube-dl -o /usr/local/bin/youtube-dl
chmod a+rx /usr/local/bin/youtube-dl

echo "--- jp ---"
apt -y install fonts-ipafont fonts-ricty-diminished
apt -y install uim uim-anthy uim-mozc uim-xim uim-gtk2.0

echo "--- themes ---"
apt -y install lxappearance gnome-accessibility-themes gnome-themes-extra

echo "--- autoremove ---"
apt -y autoremove

pulseaudio /etc/pulse/default.paは適宜設定追加

今までのmoode8.2.2からコピー

/etcのパスワード関連(コピーすることでwww-dataの設定不要)
/var/www/html (cp -Rp /var/www/html コピー先)
/home/pi (設定済のユーザーディレクトリ)
/etc/init.d/vncboot (# systemctl enable vncboot)
/usr/local/bin/dwm (使う場合)
/etc/fonts (インストールしたipafontなどの設定(過去記事参照)

JWM(新たにインストール、ユーザーディレクトリに.jwmrcをコピー)

$ sudo apt install jwm
$ cp /etc/jwm/system.jwmrc ~/.jwmrc

~/.vnc/tigervnc.conf

$geometry     = "1800x840";
$depth        = 24;
$desktopName  = "moOde audio";
$localhost    = "no";

~/.vnc/xstartup

#!/bin/sh
xrdb $HOME/.Xresources
export GTK_IM_MODULE='uim'
export QT_IM_MODULE='uim'
uim-xim &
export XMODIFIERS='@im=uim'
xbindkeys &
devilspie2 &
sleep 1
sudo killall -q pulseaudio
echo "" > /tmp/moode_id
echo "1" > /tmp/test_id
sleep 1
~/bin/radio_menu.py &
sleep 1
uim-toolbar-gtk &
sleep 3
#exec /usr/local/bin/dwm
exec /usr/bin/jwm

末尾のjwm( or dwm)を有効にすることで切り替えます。
dwmを有効 Pi4から接続(パスワードはコピーしてリネーム)いつもの画面

$ vncviewer -passwd /home/db650/.vnc/moode moode:1

jwmを有効にして接続。ラジオメニュー起動(xstartupで指定)
jwmの初期設定はパネル下部、右クリックメニューのターミナルはルート(/)起点(vncserver?)になるのでパネル上部(好み)及びユーザーディレクトリに取り敢えず変更。Pi4から実行するsurfのmoOde playerもY軸を小さくするとボリューム表示が隠れるようです。正確なボリューム値はncmpcppの右上に常にリアルタイムで表示されます。Simulラジオから実行する際は混乱が無くていいですね。
~/.jwmrc

8行目 "cd ; を追記" <Program icon="terminal.png" label="Terminal">cd ; xterm</Program>
37行目 "y= -1を1" <Tray x="0" y="1" height="25" autohide="off">

ラジオメニューから各アプリケーションを実行するだけですがサイズ変更や並び替えが地味に面倒です。dwmのタグはXの仮想デスクトップとは違いますがjwmはxdotoolやdevilspie2が使えます。

$ sudo apt install devilspie2

~/.config/devilspie2/applications.lua (ファイル名は任意)

----------------------------------------------------
-- devilspie2 - Lua-based window matching utility --
----------------------------------------------------
-- get_window_name()
-- get_application_name()
-- get_class_instance_name()
-- pin_window()
-- shade()
-- minimize()
-- make_always_on_top()
-- set_window_workspace(1)
-- undecorate_window()
-----------------------------------------------------
-- Simul Radio menu
if (get_window_name()=="moOde audio Simul Radio") then
  set_window_geometry2 (0,10,460,160)
  -- pin_window()
  -- undecorate_window()
end

-- htop
if (get_window_name()=="htop") then
  set_window_geometry2 (550,20,607,145)
  undecorate_window()
end

-- Simul moOde Radio
if (get_window_name()=="Simul moOde Radio") then
  set_window_geometry2 (550,170,607,583)
  undecorate_window()
end

-- Simul mms Radio
if (get_window_name()=="Simul mms Radio") then
  set_window_geometry2 (3,198,460,308)
  undecorate_window()
end

-- Radiko Player
if (get_window_name()=="Radiko Player") then
  set_window_geometry2 (3,512,460,286)
  undecorate_window()
end

-- CD MPlayer
if (get_window_name()=="CD MPlayer") then
  set_window_geometry2 (1270,80,458,135)
  undecorate_window()
end

-- pavucontrol
if (get_application_name()=="pavucontrol") then
  set_window_geometry2 (1220,515,560,250)
end

-- ncmpcpp
if (get_application_name()=="ncmpcpp 0.9.2") then
  set_window_geometry2 (1220,240,560,250)
end

起動はxstartupに記載しています。サイズ、位置はxwininfoでも確認できます。メニューから実行すると記載した位置、サイズで起動しますが最初は微妙にずれています。ラジオメニューのナチュレボタンを実行するとdevilspie2を再起動、記載した位置にピタリと行くはずです。但しncmpcppだけは1回目は認識しません。またmpd再生中も認識しません。停止中(タイトルバー ncmpcpp 0.9.2) のときのみ正常に認識動作します。
ラジオメニュー radio_menu.py

jwmは軽量、シンプルなウィンドウマネージャです。moode audio + raspberry pi2では問題無く動作すると思います。メニューは編集が必要ですが今回の用途ではほとんど必要ないと思います。編集次第ではかなり雰囲気も変わりそうです。
操作感としてはdwmがキビキビ動作しますが基本タイル型また設定はコンパイルが必要とあって敬遠する向きがあるかもしれません。いずれも非力なSBCのX環境+vncの特定用途、実験環境にはベストな選択と言えそうです。

moOde8.2.2 Raspberry Pi 1B(Rev2) + TDA1543

スピーカーユニット(FE87)のチェック、サブシステム用としてRaspberry Pi 1B(Rev2)にmoOde8.2.2をインストール、I2S-DAC(TDA1543)を組んでみました。

I2S-DAC(TDA1543)

当サイトにあるTDA1543を見るとなんか刻印が違います。約10年前に購入したものですがweb上では偽物が流通しているという情報があります。現在は生産終了ということもあってか高価なところもありますが当サイトで購入した金額は5個200円と値段から言えば偽物決定と言えそうです。以前作成したDACは現在も時々入れ替えて使用していますが特に問題ありません。今回も前回同様超簡単回路で作成してみます。


カップリングコンデンサはNPコン(ノンポーラコンデンサ)を使用しています。リファレンス抵抗は決め打ちです。


以前作成したベース基板を再利用していますがP5ヘッダーに直接取り付けることでコンパクト、且つ簡単に作成できます。

moOde8.2.2


Raspberry Pi 1BにmoOde8.2.2をインストール。スペック的にX環境などは厳しいのでpulseaudioのみ追加。
mpdはmoodeplayer本来の使い方になります。
音量は能率の違いから高めに設定。メインのmoodeと区別するため/etc/hostnameをmoode1bに変更


pulseaudioは外部からの接続のみとします。使い途はそれぞれですが当サイトでは当面FE-87のチェックを想定しています。以前 Pi Zeroで確認した際はwifiネットワークがネックになっていたようです。

またいつからかは不明ですが現在のpulseaudio(/etc/pulse/default.pa)はネットワークの範囲指定だけでいいようです。(当サイトのデバイス)
例(192.168.0.0/24 = 192.168.0.0〜192.168.0.255)

/etc/pulse/default.pa
load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1;192.168.0.0/24 auth-anonymous=1

Pi4から音声を送るためにはPi4の~/.config/pulse/client.conf defaultserverでPi2 or Pi1Bを指定します。

radiko playerのボタンを利用してsedで末行を書き換えています。
raspberry pi 2 192.168.0.113
raspberry pi 1B 192.168.0.13

radiko-streamlink.py

$ sed -i '$  s/192.168.*/192.168.0.13/g' ~/.config/pulse/client.conf


pulseaudioはアクセスが無いとオートキルしてしまいます。Pi2は内部でpavucontrolを起動していますがPi1Bは動かすことが出来ないのでclient.confを書き換えてからPi4からpavucontrolを起動します。ブラウザなどから動画などを切り替えながら見る際などに有効です。

本物のTDA1543は持ち合わせてないので真偽は不明ですがDACとして正常に認識、再生可能です。電源投入後最初のPLAYは比較的大きいポップ音が発生します。以降はほとんど気になりません。本物のTDA1543もオートミュート機能が無いため同様と思われます。

さて肝心のFE-87音質ですがエージングすると若干聞きやすくなりますがシ音が強調されるような傾向は変わりません。但し特定のラジオサイトまたはソースによってはかなり自然な再生音になります。やはりデジアンとSPユニットの関係と思われます。もうしばらくは遊べそうです。

GPIO7に接続しているLEDは/etc/rc.localから制御しています。点灯したら接続し頃です。

# raspi-gpio
raspi-gpio set 7 op ; sleep 45 ; raspi-gpio set 7 dh
exit 0

moOde8.2.2 TA1011B + UAC3552A

moOde8.2.2をインストール。今回は訳有で以前使用していた秋月のりんご基板(TA1011B + UAC3552A)を採用しています。

moOde8.2.2

カードは新規にインストール作成するのですが環境は以前に作成したファイルをコピーして作成しています。moOde8(bullseye)になってpulseaudio関連を設定している関係から初回起動時mpd errorが出てしまいます。

# systemctl status mpd

/var/lib/mpd/databaseが作成出来ないよと言っています。

ファイル・ディレクトリの所有者グループがpulse:audioになっています。mpd:audioに変更

# chown mpd:audio /var/lib/mpd
# chown mpd:audio /var/lib/mpd/playlists


/var/lib/mpd/databaseが作成されます。

TA1011B + UAC3552A

現在(2022/11)秋月にはまだ在庫があるようですが大分少なくなっていますね。このりんご基板を使うには何らかの改造が必要になるかと思います。当サイトでは以下のサイトを参考にしています。
ミュートの解除、アンプ及びUSB-DACのセパレート
秋月の10W+10WステレオD級アンプモジュール(USB I/F付き)を活用
USB-DACのレベル改善
秋月のUSBオーディオ UAC3552A を活用する
12V外部電源化
USBオーディオアンプ基板 改造その2

以前よりちょくちょく改造はしていたのですが今回再度見直してみます。I2S-DACは3個(ローコスト)あるのですが聴感上レベルはだいたい揃っています。UAC3552Aもレベルを揃えます。またTA1011Bの入力感度もPAM8403と比較確認してみます。以下当サイト現在の改造箇所

12V外部電源化 USB接続
AC Asaptorは古いノートパソコン(Fujitsu)の16V 2.2Aを再利用しています。昇圧回路を取り外してジャンパー、レギュレーター7812 (12V 1A)から元の5V供給ラインに接続。
USB接続はマイクロUSBコネクタを取り付け。UAC3552Aの5Vは内臓の78M05から供給されています。

TA1011B + UAC3552Aのセパレート化
DAC OUT〜AMP INのカップリングコン(チップコンデンサ)を取り外し間にAMP IN用ミニジャック、スライドSW、カップリングコンを新たに取り付け。通常はDAC OUT〜AMP INにSWが接続されています。SWを切り替えるとAMP DACが個別に使用可になります。DAC OUT〜AUX OUT(UAC3552A OUT)間には原回路のカップリングコンなどが噛んでいます。

ミュート回路

TA1101B内部でmuteピンはプルアップされていてDAC(UAC3552A)からミュートコントロールする仕様のようですがmuteピンをパターンショートする代わりにピンヘッダで引き出しジャンパーピンでGNDに落とします。ジャンパーピンを外すことでmuteが有効になりTA1101Bだけ利用したい場合など電源を落とすこと無くジャックの抜き差し時ノイズを抑えることが出来ます。

USB-DACのレベル

これまで15Kの抵抗を1.5Kまで落としてゲインを稼いでいたのですが今回更に1Kに変更。聴感上ですがほぼI2Sデバイスと同じくらいで音質などもそう大きな差は無いと思っています。
抵抗はロットによって種類(色)が違うようです。

moOde audio(Raspberry Pi)


改造が終わったらRaspberry Piに接続
Apple, Inc. Speakersとして認識します。


Output deviceでSpeakersを選択。Volume typeはHardwareまたはSoftwareでも動作可ですが下記のalsamixerの表示に違いがあります。
I2S-DACはSoftwareを選択


USB-DACはalsaからコントロールが可
I2S-DAC(MPD)はalsamixer不可
左記Volume typeはHardware Software時はPCMが100%に固定されソフト的に音量をコントロールするようです。


pulseaudioではUSB-DAC,USB-DAC共alsamixerで音量をコントロール

デフォルトサウンドカードの設定

raspberry pi 2
$ cat /proc/asound/cards
内臓のサウンドカードが見えています。またUSB-DACが#2で認識しています。内臓のサウンドカードを非表示にUSB-DACを先頭(#0)に並べ替えます。

/boot/config.txt #コメントアウト
#dtparam=audio=on
/etc/modprobe.d/alsa-base.conf #新規作成
options snd slots=snd_usb_audio,snd_bcm2835
options snd_usb_audio index=0
options snd_bcm2835 index=1

操作感はmpd,pulseaudio共I2S-DACと全く同じ。音質的にも何ら問題ないレベルと思います。I2S-DACに付け替える時はVolume typeをSoftwareにalsa-base.confをリネームしてバックアップしておくとか慣れるまでいろいろ設定に戸惑うかもしれません。

消費電力は16Vアダプタ出力電流を測定。16V x 195mA = 約3.2W 常時運用でもなんとか我慢できるレベルと思います。

FOSTEX FE-87

中央はOrangepi3ファイルサーバー(今回関係なし)
FE-87は10数年前でしょうか。ホムセンのワゴンセールで購入したものです。(値札は580円がついていました)冒頭に述べた訳有とはこのFE-87をなんとかうまく鳴らしてみたいと思いTA1011B + UAC3552Aを設定したのですが結果は大失敗でした。現状のメインスピーカーではI2S_DAC + PAM8403では問題無くむしろ良く鳴っていると思います。FE-87に接続すると中高域にピークが出るようで聞き苦しい再生音になります。TA1011B + UAC3552Aでは再生音がどうこう以前にmoOde audio(raspberry pi)のリソースを消費して反応が無くなってきます。メインスピーカーではI2S_DAC同様全く問題ありません。原因は不明ですがもう少しいろいろ調べてみようと思います。

moOde audio 8.1.2 CD-DA(CDプレーヤー)

CD-DA(Compact Disc Digital Audio)moOde audioにCDドライブを接続、いわゆるCDプレーヤーです。最近ではアルバム単位で聞くことも少なくなりましたが未リッピングのCDやまたリッピング済でも気まぐれにCDの音を直接聞きたいと思うことがあります。

CDドライブ


2台のドライブでテスト
IO DATA DVRP-U8NKA
IO DATA EX-BD03K
PiでUSBドライブなどを接続するにあたり問題になるのはUSBからの供給電流が不足するところにあります。実際に不足するしないはボード及びドライブによっても違います。


簡単な対策としてはスマホ充電器などからPiの空きポートに電圧(5V)を供給してやります。不要になったケーブルからUSB-Aオス-オスを作成。もう一つはUSB-AオスーマイクロBメスアダプタを作成、やはりAオス-オスとして接続。


Raspberry Pi2
電源供給なしではドライブとして認識してもCDが認識されません。モーター回転時内部の電圧降下が大きくなると思います。


Pi Zero 2W USBハブを介して接続
Zero2WではUSBポートに電圧を供給すると電源側にも廻り込みます。Pi2ではそのようなことは無くPi2が本来のUSB仕様と思います。電源側からUSBポートに供給されるため2.5インチUSB-HDD位は問題無くドライブ出来ると思います。但しドライブによってはやはり電圧降下が生じるため外部から供給が必要になるかもしれません。

CDドライブは/dev/sr0として認識。/dev/cdromはsr0へリンク
cddaの再生では/etc/udev/rules.d/*の設定は特に必要ないようです。

$ lsblk
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sr0          11:0    1 603.2M  0 rom  
$ ls -la /dev/sr0
brw-rw---- 1 root cdrom 11, 0  9月  5 18:15 /dev/sr0
$ ls -la /dev/cdrom
lrwxrwxrwx 1 root root 3  9月  5 18:15 /dev/cdrom -> sr0

プレーヤー(MPlayer)

mpd以外はmpv,mplayer,ffplay(ffmpeg)をインストールしています。cdda再生可能なプレーヤーはmpdとmplayerですが現バージョンのmpd(OS)では実用になりません(挙動怪しい)。mplayerの新規開発は停止、mpvに移行していますがデフォルトのmpvはcddaに対応していないようです。mplayerは今後もしばらくは新OSに対応していくものと思います。
mplayer 連続再生

$ mplayer cdda://:1 -cache 2048 -nolirc 1

トラックを指定して再生(トラック5)

$ mplayer cdda://5:1 -cache 2048 -nolirc 1

オプション
:1 で CDROM の速度が低くなり安定して回転してノイズが減ります。(see MPlayer-ArchWiki)
-cache 2048 :1024では不足
-nolirc 1 赤外線リモコンなし

CD-DA MPlayer

simul_cd.py.20220905
PLAYで連続再生、トラック番号を指定(トラック再生)のシンプルなプレーヤー
グリーンボタンはxterm上で実行、PLAY(黄色)はxtermなし静かに実行


CD-DA再生中はCD-DAロゴを表示
/var/www/html/img/cdda.jpg
pulse.php.20220905

トラックを指定して実行すると再生開始前に以下のメッセージを表示しますが問題ありません。
Cache empty, consider increasing -cache and/or -cache-min. [performance issue]
再生中に表示があるとキャッシュ不足で音が途切れます。(キャッシュ設定)

mpd(リッピング)とMPlayer(CD-DA Pulseaudio)音質の違いは気にしないでCDジャケット片手に旧来のスタイルで聴くのも風情があります。

Top