その昔、PC-9801用に'GAR SOUND SYSTEM'というFM音源ドライバを作ったことがありました。タイマ割り込みを利用してMMLで記述された曲を鳴らすというものでした。遅くてリアルタイムゲームの使い物にならなかったので、ASCII-netに発表したものの、御蔵入りにしました。linux用に改良版を又作りたかったのですが、Linuxのサウンドシステムは難しいので、pulseaudioで、音声ファイルを鳴らす方法を書いておきます。
僕のパソコンはラップトップで、物理的にbeep音が鳴らないので、paplay
で代用します。
paplay /usr/share/sounds/freedesktop/stereo/complete.oga
物理的にbeepが付いている場合は、以下の方法で、udevルールを変更すると鳴るようになると思います。
まず、beepをインストールします。
sudo pacman -S beep
/etc/udev/rules.d/70-pcspkr-beep.rulesというファイルを作成し、以下の内容を記述します
ACTION=="add", SUBSYSTEM=="input", ATTRS{name}=="PC Speaker", ENV{DEVNAME}!="", TAG+="uaccess"
設定を反映させます
sudo udevadm control --reload
再度モジュールをリロードします
sudo rmmod pcspkr && sudo modprobe pcspkr
beepを鳴らします。
beep