|
CAT760でUSBサウンド演奏 †歌うCAT760(略して唄猫) CAT760にはUSBポートがあります。市販のUSBスピーカを接続して音楽を演奏してみました。 ハード工作不要なので、誰でも再現できるとおもいます。 実験機材 †
ソフトウェア環境 †カーネルコンフィグレーション †以下のコンフィグレーションでカーネルをコンパイルする。
$ tar xzfv linux-2.6.15-cat_20060718.tgz $ cd linux-2.6.15-cat $ make cat760_defconfig $ make menuconfig Device Drivers ---> Sound ---> <M> Sound card support Advanced Linux Sound Architecture ---> Open Sound System ---> <M> Advanced Linux Sound Architecture <M> Sequencer support < > Sequencer dummy client (NEW) <M> OSS Mixer API <M> OSS PCM (digital audio) API [*] OSS Sequencer API USB devices ---> <M> USB Audio/MIDI driver
詳細略
演奏ソフト(mpg123)の組み込み †mpg123 は mp3プレイヤーです。Debian SH4用バイナリを aptサーバ からダウンロードし、CAT760の rootfs に組み込みます。 以下の作業は全てCAT760で行います。
結果 †鳴ります。唄います。 音楽演奏だけではなく、CATは組み込みボードですから、例えば接点入力を受けたら「おはようございます」としゃべらせたりの組み込み向け音声指示装置など応用が考えられますね。 応用 †電源を入れたら自動的に USBメモリに格納された mp3 ファイルをランダム演奏するスクリプト。
#! /bin/sh set -e PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin DEVICE=/dev/sda1 # USBメモリのデバイス名 MNT=/mnt d_start() { mount $DEVICE $MNT -t vfat -o ro sleep 2 mpg123 -b 512 -Z $MNT/mp3/*.mp3 & # mp3/*.mp3 のランダム演奏 } d_stop() { killall mpg123 sleep 1 umount $MNT } case "$1" in start) d_start ;; stop) d_stop ;; restart|force-reload) d_stop sleep 1 d_start echo "." ;; esac 私の環境では mpg123 のオプションに -b 512 (バッファリング512Kbyte)を付けたところプツプツ途切れなくなりました。 # rommode rw # cd /etc/rc2.d # ln -s ../init.d/mp3play S90mp3play # rommode ro 関連 †
|