SteamDeckでMIDIを再生する
パッケージのインストール
Yayのセットアップや、システムの変更の許可ができてない場合は先にそちらを完了させよう 公式のパッケージレジストリやAURにいくつか公開されているものがあるのでそれを使うと良い パッケージ名に soundfont- を含むものはだいたいサウンドフォントのパッケージ
ここでは soundfont-fatboy をインストールしてみる。
code:sh
yay -S timidity++ soundfont-fatboy
コマンドを実行し、必要に応じて sudo パスワードを入力しつつパッケージのインストールを完了させる
ユーザーの設定
SteamDeckのデフォルトユーザーに audio グループを付与する
code:sh
# ログイン中のIDを確認する (多分 deck)
id
# deck を audio グループに追加
gpasswd -a deck audio
サウンドフォントの設定
設定ファイルが /etc/timidity/timidity.cfg にあるので以下を追記する。
code:sh
soundfont /usr/share/soundfonts/FatBoy.sf2
他のサウンドフォントを使用する場合は、使用するサウンドフォントファイルのパスを選択する
パッケージとしてインストールされるもののほとんどは /usr/share/soundfonts 配下に配置される
デーモンの設定
~/.config/systemd/user/timidity.service に以下の内容をユニットファイルとして記載する
code:sh
Description=TiMidity++ Daemon
After=sound.target
ExecStart=/usr/bin/timidity -iA -Os
WantedBy=default.target
ユニットファイルの設置が終わったら以下のコマンドでサービスを有効化しよう
code:sh
# 登録
systemctl --user enable timidity.service
# 起動 (初回のみ)
systemctl --user start timidity.service
# 確認
systemctl --user status timidity.service
サウンドフォントの切り替え
音色が思ったものと違ったときや、意図的に変えたい場合サウンドフォントを入れ替えると良い。
/etc/timidity/timidity.cfg に記載した soundfont のパスを変更し、以下のコマンドでサービスを再起動すると新たな設定でMIDIを再生できるようになる。
code:sh
# 再起動
systemctl --user restart timidity.service
関連