LoginSignup
1
1

More than 1 year has passed since last update.

Linuxのサウンドのテーマの構造、作り方

Last updated at Posted at 2021-06-27

Linuxのサウンドのテーマの構造と作り方を紹介します。
Ubuntu、Ubuntu MATEをベースに説明しているので、他のディストリビューションでは違う可能性があります。

Linuxのサウンドのテーマの構造

  • (フォルダー名)
    • stereo
      • (サウンド名).ogaか(サウンド名).ogg、(サウンド名).wav
    • index.theme

サウンドのテーマは(フォルダー名)フォルダーの中にstereoフォルダーとindex.themeがあり、
stereoフォルダーの中に(サウンド名).ogaか(サウンド名).ogg、(サウンド名).wavファイルが入っています。

index.theme

index.themeは次のような書式です。

index.theme
[Sound Theme]
Name=(サウンドのテーマ名)
Directories=stereo

[stereo]
OutputProfile=stereo

サウンド一覧

こちらを参考にまとめました(英語ですが)。
Sound Naming Specification

グループ名とは、(グループ名).ogaか(グループ名).ogg、(グループ名).wavを用意すると、(サウンド名).ogaか(サウンド名).ogg、(サウンド名).wavの代わりに鳴ります(bell.ogaがbell-window-system.ogaの代わりに鳴るので)。
対応するWindowsの音と簡単な説明は、僕が思ったものです(間違っている可能性があります)。
全部使われるわけではありません。

アラート

サウンド名 グループ名 対応するWindowsの音 簡単な説明
network-connectivity-lost - - ネットワークが切断された
network-connectivity-error - - ネットワークの接続に失敗した
dialog-error - システム エラー 「-」(Windowsでは「×」)のダイアログが表示された
battery-low - バッテリ低下アラーム バッテリーが低下した
suspend-error - プログラム エラー※1 サスペンドに失敗した
software-update-urgent - - 緊急のソフトウェアアップデートが利用可能
power-unplug-battery-low - - バッテリーが低下しているときに電源ケーブルが抜かれた

※1:名前が似ていたので、対応させました。

通知

サウンド名 グループ名 対応するWindowsの音 簡単な説明
message-new-instant message インスタント メッセージの通知
新着テキスト メッセージの通知
インスタントメッセージが届いた
message-new-email message デスクトップ メールの通知
新着メールの通知
メールが届いた
complete-media-burn complete 印刷完了※1 光ディスクの書き込みが完了した
complete-media-burn-test complete 印刷完了※1 光ディスクのテスト書き込みが完了した
complete-media-rip complete 印刷完了※1 光ディスクのリッピングが完了した
complete-media-format complete 印刷完了※1 光ディスクの消去が完了した
complete-download complete 印刷完了※1 ファイルのダウンロードが完了した
complete-copy complete 印刷完了※1 ファイルのコピーが完了した
complete-scan complete 印刷完了※1 スキャナーのスキャンが完了した
phone-incoming-call - 着信呼の通知 1~10 電話を着信した
phone-outgoing-busy - - 相手が電話に出なかった
phone-hangup - - 電話を切った
phone-failure - - 電話でエラーが発生した
network-connectivity-established - - ネットワークに接続した
system-bootup - - コンピューターが起動した
system-ready - - コンピューターが起動し、ログイン画面が表示された
system-shutdown - - コンピューターがシャットダウンした
search-results - - 検索結果が表示された
search-results-empty - - 検索結果が表示されたが、見つからなかった
desktop-login - Windows の起動 システムにログインした
desktop-logout - Windows の終了 システムからログアウトした
desktop-screen-lock - - システムをロックした
service-login - Windows ログオン※2 サービスにログインした
service-logout - Windows ログオフ※2 サービスからログアウトした
battery-caution - バッテリ切れアラーム バッテリーが切れそうになった
battery-full - NFP 完了※3 バッテリーの充電が完了した
dialog-warning - メッセージ (警告) 「!」のメッセージが表示された
dialog-information - メッセージ (情報) 「i」のメッセージが表示された
dialog-question - メッセージ (問い合わせ) 「?」のメッセージが表示された
software-update-available - - ソフトウェアアップデートが利用可能
device-added - デバイスの接続 デバイスがつながれた
device-added-audio - - オーディオデバイスがつながれた
device-added-media - - ディスク/メディアがつながれた
device-removed - デバイスの切断 デバイスが取り外された
device-removed-media - - ディスク/メディアが取り外された
device-removed-audio - - オーディオデバイスが取り外された
window-new - プログラムの起動 新しいウィンドウが開いた
power-plug - NFP 接続※4 電源ケーブルが差し込まれた
power-unplug - - 電源ケーブルが抜かれた
suspend-start - - サスペンドした
suspend-resume - - サスペンドから復帰した
lid-open - - ノートパソコンのふたを開いた
lid-close - - ノートパソコンのふたを閉じた
alarm-clock-elapsed - アラーム 1~10 アラーム時計のアラームが鳴った
window-attention-active - - アクティブウィンドウの注意を引いた
window-attention-inactive - - 非アクティブウィンドウの注意を引いた

※1:完了音ということで、対応させました。
※2:システムの中のログイン、ログアウトということで、対応させました。
※3:バッテリ充電完了アラームとして使う場合。
※4:バッテリ充電開始音として使う場合。

アクション

サウンド名 グループ名 対応するWindowsの音 簡単な説明
phone-outgoing-calling - - 電話を発信した
message-sent-instant - - インスタントメッセージを送った
message-sent-email - - メールを送った
bell-terminal bell 一般の警告音 端末のベル
bell-window-system bell 一般の警告音 ウィンドウシステムのベル
trash-empty - ごみ箱を空にする ゴミ箱を空にした
item-deleted - - ファイルをゴミ箱に入れずに削除した
file-trash - - ファイルをゴミ箱に入れた
camera-shutter - - 写真を撮った
camera-focus - - カメラを焦点に合わせた
screen-capture - - スクリーンショットを撮った
count-down - - 毎秒繰り返される写真撮影などのカウントダウン音
completion-sucess※1 - - テキストの補完に成功した
completion-fail - - テキストの補完に失敗した
completion-partial - - テキストの補完が部分的に成功した
completion-rotation - - テキストの補完がリストの最後に到達し、最初から開始した
audio-volume-change - 一般の警告音※2 音量を変更した
audio-channel-left - - 左スピーカーのテスト音
audio-channel-right - - 右スピーカーのテスト音
audio-channel-front-left - - 左フロントスピーカーのテスト音
audio-channel-front-right - - 右フロントスピーカーのテスト音
audio-channel-front-center - - 中フロントスピーカーのテスト音
audio-channel-rear-left - - 左リアスピーカーのテスト音
audio-channel-rear-right - - 右リアスピーカーのテスト音
audio-channel-rear-center - - 中リアスピーカーのテスト音
audio-channel-lfe - - サブウーファースピーカーのテスト音
audio-channel-side-left - - 左サイドスピーカーのテスト音
audio-channel-side-right - - 右サイドスピーカーのテスト音
audio-test-signal - - テスト音
theme-demo - Windows テーマの変更※3 テーマの代表音

※1:completion-successの間違い?
※2:Windowsでは音量を変更するときに一般の警告音が鳴るということで、対応させました。
※3:テーマの代表音ということで、対応させました。

入力フィードバック

サウンド名 グループ名 対応するWindowsの音 簡単な説明
window-close - プログラムの終了 ウィンドウを閉じた
window-slide-in - - ウィンドウをスライドインした
window-slide-out - - ウィンドウをスライドアウトした
window-minimized - 最小化 ウィンドウを最小化した
window-unminimized - 元に戻す (拡大) ウィンドウを最小化から復帰した
window-maximized - 最大化 ウィンドウを最大化した
window-unmaximized - 元に戻す (縮小) ウィンドウを最大化から復帰した
window-inactive-click - - 非アクティブウィンドウをクリックした
window-move-start - - ウィンドウの移動が始まった
window-move-end - - ウィンドウの移動が終わった
window-resize-start - - ウィンドウのサイズ変更が始まった
window-resize-end - - ウィンドウのサイズ変更が終わった
desktop-switch-left - - 左側のデスクトップに切り替えた
desktop-switch-right - - 右側のデスクトップに切り替えた
window-switch - - ウィンドウを切り替えた
notebook-tab-changed - - ノートのタブを変更した
scroll-up - - 上にスクロールした
scroll-down - - 下にスクロールした
scroll-left - - 左にスクロールした
scroll-right - - 右にスクロールした
scroll-up-end - - 上にスクロールし、スクロールバーの端に着いた
scroll-down-end - - 下にスクロールし、スクロールバーの端に着いた
scroll-left-end - - 左にスクロールし、スクロールバーの端に着いた
scroll-right-end - - 右にスクロールし、スクロールバーの端に着いた
dialog-ok - - ダイアログのOKをクリックした
dialog-cancel - - ダイアログのキャンセルをクリックした
drag-start - - ファイル/アイテムのドラッグが始まった
drag-accept - - ファイル/アイテムのドラッグが受け入れられた
drag-fail - - ファイル/アイテムのドラッグが受け入れられなかった
link-pressed - - リンクを押した
link-released - - リンクを離した
button-pressed - - ボタンを押した
button-released - - ボタンを離した
menu-click - メニュー コマンド メニューをクリックした
button-toggle-on - - トグルボタン/チェックボックス/ラジオボタンをオンにした
button-toggle-off - - トグルボタン/チェックボックス/ラジオボタンをオフにした
expander-toggle-on - - エキスパンダーをオンにした
expander-toggle-off - - エキスパンダーをオフにした
menu-popup - メニュー ポップアップ ポップアップメニューを開いた
menu-popdown - - ポップアップメニューを閉じた
menu-replace - - メニューを別のメニューに置き換えた
tooltip-popup - - ツールチップが表示された
tooltip-popdown - - ツールチップが消えた
item-selected - 選択 アイテムを選択した

ゲーム

サウンド名 グループ名 対応するWindowsの音 簡単な説明
game-over-winner - - ゲームに勝った
game-over-loser - - ゲームに負けた
game-card-shuffle - - カードゲームのカードがシャッフルされた
game-human-move - - ユーザーが動いた
game-computer-move - - コンピューターが動いた

作り方の例

Windows XPの音のLinuxのサウンドのテーマを作るには、次のようにします。
フォルダー名:WinXP

index.theme
[Sound Theme]
Name=Windows XP
Directories=stereo

[stereo]
OutputProfile=stereo
サウンド名 元ファイル名
dialog-error.wav Windows XP Critical Stop.wav
battery-low.wav Windows XP Battery Low.wav
message-new-instant.wav (message-new-email.wavへのシンボリックリンク)※1
message-new-email.wav Windows XP Notify.wav
phone-incoming-call.wav Windows XP Ringin.wav
phone-outgoing-busy.wav (phone-outgoing-calling.wavへのシンボリックリンク)※1
desktop-login.wav Windows XP Startup.wav
desktop-logout.wav Windows XP Shutdown.wav
service-login.wav Windows XP Logon Sound.wav
service-logout.wav Windows XP Logoff Sound.wav
battery-caution.wav Windows XP Battery Critical.wav
battery-full.wav tada.wav※2
dialog-warning.wav Windows XP Exclamation.wav
dialog-information.wav Windows XP Error.wav
device-added.wav Windows XP Hardware Insert.wav
device-removed.wav Windows XP Hardware Remove.wav
power-plug.wav chimes.wav※3
phone-outgoing-calling.wav Windows XP Ringout.wav
bell.wav Windows XP Ding.wav
trash-empty.wav Windows XP Recycle.wav
audio-volume-change.wav (bell.wavへのシンボリックリンク)※1
theme-demo.wav (service-login.wavへのシンボリックリンク)※1

※1:次のコマンドで作れます。

ln -s message-new-email.wav message-new-instant.wav
ln -s phone-outgoing-calling.wav phone-outgoing-busy.wav
ln -s bell.wav audio-volume-change.wav
ln -s service-login.wav theme-demo.wav

※2:もしもWindows XPにバッテリ充電完了アラームがあれば、tada.wavが鳴ると思いました。
※3:もしもWindows XPにバッテリ充電開始音があれば、chimes.wavが鳴ると思いました。

さらに音にこだわる人は、

サウンド名 元ファイル名
complete.wav Windows XP Print Complete.wav
message-new-instant.wav Windows Messengerのtype.wav
message-new-email.wav Windows Messengerのnewemail.wav
dialog-question.wav chord.wav※1
window-minimized.wav Windows XP Minimize.wav
window-unminimized.wav Windows XP Restore.wav
menu-click.wav Windows XP Menu Command.wav

※1:もしもメッセージ (問い合わせ)に音があれば、chord.wavが鳴ると思いました。

サウンドのテーマの登録方法

/usr/share/soundsフォルダーに(フォルダー名)フォルダーを入れれば、登録できます。
そのためには、次のコマンドを入力します。
sudo cp -r ((フォルダー名)のパス) /usr/share/sounds

サウンドのテーマの設定方法

Ubuntu

Ubuntuサウンドのテーマを設定するには、次のコマンドを入力します。
gsettings set org.gnome.desktop.sound theme-name "(フォルダー名)"

Ubuntu MATE

Ubuntu MATEでサウンドのテーマを設定する方法は、2つあります。

  1. サウンドの設定を使う
    メニュー→コントロールセンター→サウンドを開き、サウンドのテーマ(T)から設定したいサウンドのテーマを選びます。

  2. コマンドを使う
    次のコマンドを入力します。
    gsettings set org.mate.sound theme-name "(フォルダー名)"

サウンドのテーマに設定した音を任意に鳴らす方法

シェルスクリプトに次の記述を書けば、任意のサウンドが鳴ります。

Ubuntu

sound_theme=`gsettings get org.gnome.desktop.sound theme-name | sed -e "s/'//g"`
sound="/usr/share/sounds/${sound_theme}/stereo/(サウンド名)."
if [ -e "${sound}oga" ]; then
    paplay "${sound}oga"
elif [ -e "${sound}ogg" ]; then
    paplay "${sound}ogg"
elif [ -e "${sound}wav" ]; then
    paplay "${sound}wav"
fi

Ubuntu MATE

sound_theme=`gsettings get org.mate.sound theme-name | sed -e "s/'//g"`
sound="/usr/share/sounds/${sound_theme}/stereo/(サウンド名)."
if [ -e "${sound}oga" ]; then
    paplay "${sound}oga"
elif [ -e "${sound}ogg" ]; then
    paplay "${sound}ogg"
elif [ -e "${sound}wav" ]; then
    paplay "${sound}wav"
fi

Linuxでサウンドファイルを再生するには、paplayコマンドを使います。
例:paplay test.wav→test.wavを再生する

Linuxのサウンドは/usr/share/sounds/(フォルダー名)/stereoに入っているので、gsettingsコマンドで現在のサウンドのテーマのフォルダー名を取得し、変数sound_themeに代入して、サウンドのパスを取得し、変数soundに代入して、paplayコマンドで再生すればOKです。
サウンドファイルは(サウンド名).ogaか(サウンド名).ogg、(サウンド名).wavなので、(サウンド名).ogaが見つかれば再生し、見つからなければ(サウンド名).oggを再生し、oggも見つからなければ(サウンド名).wavを再生します。

ただし、この方法ではサウンドがないときにデフォルトの音が鳴る事はありません。
グループ名があるサウンド名を指定したときは、グループ名の音が鳴りません。

もしくは、関数にしてまとめることもできます。

Ubuntu

PlaySound() {
    sound_theme=`gsettings get org.gnome.desktop.sound theme-name | sed -e "s/'//g"`
    sound="/usr/share/sounds/${sound_theme}/stereo/$1."
    if [ -e "${sound}oga" ]; then
        paplay "${sound}oga"
    elif [ -e "${sound}ogg" ]; then
        paplay "${sound}ogg"
    elif [ -e "${sound}wav" ]; then
        paplay "${sound}wav"
    fi
}

Ubuntu MATE

PlaySound() {
    sound_theme=`gsettings get org.mate.sound theme-name | sed -e "s/'//g"`
    sound="/usr/share/sounds/${sound_theme}/stereo/$1."
    if [ -e "${sound}oga" ]; then
        paplay "${sound}oga"
    elif [ -e "${sound}ogg" ]; then
        paplay "${sound}ogg"
    elif [ -e "${sound}wav" ]; then
        paplay "${sound}wav"
    fi
}

シェルスクリプトの中にPlaySound関数を定義して、鳴らしたいところでPlaySound "(サウンド名)"と記述すれば、任意のサウンドが鳴ります。

(2021/10/21追記)
もっと簡単な方法がありました。
canberra-gtk-playコマンドを使えば、簡単に鳴らすことができます。

canberra-gtk-play -i "(サウンド名)"

このコマンドを使うと、サウンドがないときにデフォルトの音が鳴ります。
サウンド名を指定したときにグループ名の音を鳴らすことができます。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1