|
CAT724_sound †CAT724で音を鳴らす。 応用としてネットラジオプレイヤを作る。 CAT724は Linux標準のALSAサウンドシステムを搭載できる。.wav形式、.mp3形式といった標準の音声データの再生は簡単にできる。 準備 †debian SH4環境の構築 †USBメモリもしくはSDカードに debian squeeze をインストールし起動できるようにする。(組み込みLinuxガイド等を参考の事) (メモリの読み書き速度は USBメモリのほうが早く、SDカードのほうが遅いのでUSBメモリを推奨する。ただSDであれば本体に収まるので持ち運びには便利) bootloader で USBメモリまたはSDメモリの第二パーティションをrootパーティションに指定するには次のようにする。(第1パーティションはFAT推奨) bootloaderのコマンドライン >> admin password: #> setparam -u (root=USBメモリの第2パーティション) #> setparam -s (root=SDメモリの第2パーティション) #> boot debian sh が起動したら
deb https://www.si-linux.co.jp/pub/debian-sh/squeeze-sh4 squeeze main deb-src http://ftp.jp.debian.org/debian/ squeeze main contrib non-free deb-src http://security.debian.org/ squeeze/updates main deb-src http://ftp.jp.debian.org/debian/ squeeze-updates main alsaplayerをインストール # apt-get install alsaplayer-text alsa-utils mpg123 この状態で .wav や .mp3 形式の音ファイルを再生することができる # mpg123 適当な.mp3 # alsaplayer 適当な.wav # alsaplayer 適当な.mp3 ネットラジオの再生 †などのネットラジオ局のURLを指定する。skyfmのURLの取り方 Hardware PlayerGood (96k MP3) を指定する(ただし簡単な無料登録が必要になった) # alsaplayer -r http://u12.sky.fm:80/sky_smoothjazz247?xxxxxxxx または # mpg123 http://u12.sky.fm:80/sky_smoothjazz247?xxxxxxxxxx で音が出るはずである。debian ベースでのネットラジオ再生装置ができた 内蔵FLASH ROMへの組み込み †mpg123を内蔵ROMへ組み込み、電源即断対応の専用機とする bootloader で内蔵ROMをrootファイルシステムとして起動するように変更する(出荷時の状態に戻す) bootloaderのコマンドライン >> admin password: #> setparam -d (root=内蔵flash rom) #> boot 先ほど作った debian+mpg123がインストールされているメディアを /media/sd にマウントする # mount /dev/sda2 /media/sd -o ro (USBメモリの場合) # mount /dev/mmcblk0p2 /media/sd -o ro (SDカードの場合) オプション -o ro はリードオンリの指定 必用コマンドとライブラリのコピー †alsaplayerを debainからコピーする # rommode rw # cp -a /media/sd/usr/bin/alsaplayer /usr/bin/ # alsaplayer を実行するとライブラリが不足しているというエラーが出る エラーが出なくなるまでライブラリをコピーする # cp -a /media/sd/usr/lib/alsaplayer/ /usr/lib/ # cp -a /media/sd/lib/libglib-2.0.so.0* /lib/ # cp -a /media/sd/lib/libpcre.so.3* /lib/ # cp -a /media/sd/usr/lib/libmad.so.0* /usr/lib/ # cp -a /media/sd/usr/lib/libFLAC.so.8* /usr/lib/ # cp -a /media/sd/usr/lib/libsndfile.so.1* /usr/lib/ # cp -a /media/sd/usr/lib/libvorbis.so.0* /usr/lib/ # cp -a /media/sd/usr/lib/libvorbisfile.so.3* /usr/lib/ # cp -a /media/sd/usr/lib/libasound.so.2* /usr/lib/ # cp -a /media/sd/usr/lib/libmikmod.so.2* /usr/lib/ # cp -a /media/sd/usr/share/alsa/ /usr/share/ # rommode ro # umount /media/sd 「ラジコ」や「ラジル」 †圧縮を解答しながらのストリーミング再生ソフトが必要になる。先ほどと同じように、いったん debian sh で起動して必要な追加ソフトをインストールする # apt-get install rtmpdump ffmpeg 次に root=内蔵FLASH ROM に戻して再起動してから # mount /dev/sda2 /media/sd -o ro (USBメモリの場合) # mount /dev/mmcblk0p2 /media/sd -o ro (SDカードの場合) オプション -o ro はリードオンリの指定 ffmpegコマンドのコピー # rommode rw # cp /media/sd/usr/bin/ffmpeg /usr/bin/ # ffmpeg を実行するとライブラリが不足しているというエラーが出る。 エラーが出なくなるまでライブラリをコピーする # cp -a /media/sd/usr/lib/libavfilter.so.0* /usr/lib/ # cp -a /media/sd/usr/lib/libpostproc.so.51* /usr/lib/ # cp -a /media/sd/usr/lib/libswscale.so.0* /usr/lib/ # cp -a /media/sd/usr/lib/libavdevice.so.52* /usr/lib/ # cp -a /media/sd/usr/lib/libavformat.so.52* /usr/lib/ # cp -a /media/sd/usr/lib/libavcodec.so.52* /usr/lib/ # cp -a /media/sd/usr/lib/libavutil.so.49* /usr/lib/ # cp -a /media/sd/usr/lib/libdc1394.so.22* /usr/lib/ # cp -a /media/sd/usr/lib/libX11.so.6* /usr/lib/ # cp -a /media/sd/usr/lib/libXext.so.6* /usr/lib/ # cp -a /media/sd/lib/libbz2.so.1* /lib/ # cp -a /media/sd/usr/lib/libdirac_encoder.so.0* /usr/lib/ # cp -a /media/sd/usr/lib/libfaad.so.2* /usr/lib/ # cp -a /media/sd/usr/lib/libgsm.so.1* /usr/lib/ # cp -a /media/sd/usr/lib/libopenjpeg.so.2 /usr/lib/ # cp -a /media/sd/usr/lib/libopenjpeg-2.1.3.0.so /usr/lib/ # cp -a /media/sd/usr/lib/libschroedinger-1.0.so.0* /usr/lib/ # cp -a /media/sd/usr/lib/libspeex.so.1* /usr/lib/ # cp -a /media/sd/usr/lib/libtheora.so.0* /usr/lib/ # cp -a /media/sd/usr/lib/libraw1394.so.11* /usr/lib/ # cp -a /media/sd/lib/libusb-1.0.so.0* /lib/ # cp -a /media/sd/usr/lib/libxcb.so.1* /usr/lib/ # cp -a /media/sd/usr/lib/liborc-0.4.so.0* /usr/lib/ # cp -a /media/sd/usr/lib/libXau.so.6* /usr/lib/ # cp -a /media/sd/usr/lib/libXdmcp.so.6* /usr/lib/ rtmpdump コマンドのコピー # cp -a /media/sd/usr/bin/rtmpdump /usr/bin/ # rtmpdump を実行するとライブラリが不足しているというエラーが出る。 エラーが出なくなるまでライブラリをコピーする # cp -a /media/sd/usr/lib/librtmp.so.0 /usr/lib/ # cp -a /media/sd/usr/lib/libgnutls.so.26* /usr/lib/ # cp -a /media/sd/usr/lib/libgcrypt.so.11* /usr/lib/ # cp -a /media/sd/usr/lib/libtasn1.so.3* /usr/lib/ # cp -a /media/sd/usr/lib/libgpg-error.so.0* /usr/lib/ # rommode ro # umount /media/sd 関連 †
|