mbed+VS1002+☆Bord・OrangeでSDカード内のMP3ファイルを再生してみました。
プログラムはこれです↓
http://mbed.org/users/nameless129/programs/MP3_player_on_Orange/m6vq1p
Arduino MP3プレイヤーシールド向けのプログラムを利用しました。
MP3のデコードはmbed単体では不可能なのでVS1002を利用しています。
これは何かというと、MP3ファイルをデコードしてくれるICです。
SDカードのMP3ファイルのデータを転送するだけで勝手にオーディオ信号にデコードしてくれます。
今回は千石で購入したVS1033Dを利用していますが、VS1002と互換性があるので特にプログラムの
変更はありません。
(とはいえVS1002の勉強用にコードを集めただけなので詳しいことはしっかり理解できていません...
プログラムの動作としてはルートフォルダ内のMP3ファイルを最大25個まで連続で再生します。
半角英数のファイル名をつけたMP3で再生ができることを確認しています。
2バイト文字が含まれるMP3ファイルは実験していないので不明ですが、再生できない可能性があります。
2012年3月14日水曜日
2012年3月11日日曜日
mbed+☆board Orange+SDでwavファイル再生
ずっと放置してました。サーセン
PICでSDからデータ読みだしてwavファイル再生できるものを作成していたんですが、
昨日Pickit3が壊れてしまったのでmbedで遊んでました。
んで、日本語で書かれた解説があまりなかったのでwav再生に関するまとめです。
プロジェクト一式がこれ↓
http://mbed.org/users/nameless129/programs/wav_pleyer_on_Orange/m6p2a9
☆board Orangeの評価用プログラムとwave_playerを使わせてもらっています。
sdカードに保存されているtest.wavを再生するだけのプログラムですね。
ただ、wave_playerで対応しているwavファイルの形式がよくわからないです。
ソースコードを見るかぎり22kHzでサンプリングしているwavファイルなら再生できそう?
だったので実験してみました。
結果は以下のとおり
評価基準としては音楽のスピードが正しく再生されているかどうかです。
音質は基準にしていないです。
結果から考えると、どうやらデータ転送が間に合わなくなるみたいです。
音質はあまりよろしくないですね。
次はMP3デコードICも手元にあるので、MP3再生に挑戦するかもしれないです。
PICでSDからデータ読みだしてwavファイル再生できるものを作成していたんですが、
昨日Pickit3が壊れてしまったのでmbedで遊んでました。
んで、日本語で書かれた解説があまりなかったのでwav再生に関するまとめです。
プロジェクト一式がこれ↓
http://mbed.org/users/nameless129/programs/wav_pleyer_on_Orange/m6p2a9
☆board Orangeの評価用プログラムとwave_playerを使わせてもらっています。
sdカードに保存されているtest.wavを再生するだけのプログラムですね。
ただ、wave_playerで対応しているwavファイルの形式がよくわからないです。
ソースコードを見るかぎり22kHzでサンプリングしているwavファイルなら再生できそう?
だったので実験してみました。
結果は以下のとおり
ビット数 | ||||
8bit | 16bit | 32bit | ||
サンプ リ ング周波数 | 44.1kHz | × | - | - |
32kHz | ◯ | × | - | |
22kHz | ◯ | × | × | |
16kHz | ◯ | ◯ | × | |
8kHz | ◯ | ◯ | × |
音質は基準にしていないです。
結果から考えると、どうやらデータ転送が間に合わなくなるみたいです。
音質はあまりよろしくないですね。
次はMP3デコードICも手元にあるので、MP3再生に挑戦するかもしれないです。
登録:
投稿
(
Atom
)