がじぇるね(7)
 「GR RL78ボードプロデューサー最終発表会」で発表


 ◆◇◆GR RL78ボードベータ版プロデューサー最終発表会のご案内◆◇◆  で発表しました。
 開催場所は、「ルネサスソリューションズ軽子坂MNビル」と「ルネサスソリューションズアクロス新大阪ビル」の2都市での同時開催で、
私は新大阪で参加しました。
 ここでは、私が発表した内容を記録します。

●発表した「MP3を使った、2音再生機」の概要

 展示場や展示会等で、展示品を楽しく紹介したい要望が多い。
 ここでは、一つの音では得られない音響効果を得る目的で2つの音を組み合わせて再生するものを、GrKurumiを使って作りました。
 2つの音をプログラマブルに再生することにより、エコー効果、個体音の集団音化、背景音とナレーション等が可能になります。
 音データは、コンパクトに圧縮したMP3で、ランダムアクセス可能なROMに記憶させて、再生テーブルに従ってポータブルAudio機器に使われているAudio Codecを使って再生した後ミキシングします。

 例へば、次の様な展示物に付けたらと考えています。




 次に、ハードウエア構成と制作したものを示します。 ハードウエア構成と制作品の位置関係はほぼ同じです。

 ハードウエア構成の左下は、GrKurumiマイコンです。
 GrKurumiのSPI機能を使って、SpiSRam, uSD Card. 4MByteのSpi Flash Rom, 2つのAudio CodecとAudio Ampです。









●「MP3を使った、2音再生機」の動作とプログラムの概要

 2音の再生は、演奏テーブルに記録されている順にFlash ROMに記憶している音データを演奏します。
 次のプログラムから抜粋した演奏用データを見ると、
 「音1」は、byte gPlyTblCh1[] に示すように音データを{3, 4, 5, 6, 7, 8, 3, 4, 5, 6, 7, 8, 0xFF} の順に演奏します。
 「音2」は、byte gPlyTblCh2[] に示すように音データを{0, 1, 2, 0, 1, 2, 0, 1, 2, 0xFF} の順に演奏します。
 FFhは、演奏終了コードです。

 



 音データは、0、1、2、・・・と順番にFlashROMに格納しています。その、FlashROMの格納管理管理テーブルは、先頭番地を管理する   gSoundTblRomAdrs[] と、データの長さを管理する gSoundTblRomNum[] が有ります。
 図示すると次の様になります。









●Gr_Kurumiは、2音再生する能力は有るか?

 2音分の、FlaheROMからMP3データを読出してAudio Codecに転送する動作をGr_Kurumiが取りこぼさずに実行できるか? 気になる点です。
 そこで、MP3のデータ消費量をMP3のデータを再生しながら測って見たら、次のことが判りました。

   データ量   演奏時間   データ量/s
   1400kB      80s     17.7kB/s
   282.5kB      18s     15.7kB/s
   234.7kB      15s     15.6kB/s

・余裕を見て、20kB/sとすると。  1kB/50mS, 100B/5mS,32B/1.66mS
・VS1053の入口に、2kBのFifoが有る。   2kBに満杯なら、100mSの演奏ができる。

 動作時の信号をシンクロスコープで測定します。

 上の写真は2音同時再生時の波形、下の写真は1音のみ再生時の波形です。
 2チャンネルのシンクロスコープで測定しました。
 上の波形は、Audio Codec1のチップセレクト。下の波形は、SPIのクロックです。
 
 Audio Codec2のチップセレクトが同時に観測出来たら判り易いのですが、仕方がありません。
 チップセレクトの波形が有るところが、FlaheROMからMP3データを読出してAudio Codecに転送しています。
 チップセレクトの波形に切れ間が有ります。これは、動作時間に余裕があることを示しています。









 次の写真は、上の写真の一部を拡大したものです。乱れもなく、正しく動作していることを示しています。















ホームへ戻る