2009年 1月28日(水) 初版
2009年 1月31日(土) サンプリングレート自動認識
■エレキジャック NO10 しゃべる豚さん について
エレキジャック NO10」、特集の「しゃべる豚さん」の回路の正体はPICマイコンと
シリアルフラッシュメモリーで構成された8ワードが発音できる音声再生ユニットです。
録音機能はありませんが、パソコンで加工したWAVファイルをヘキサデータに変換
して、ROMに書き込むことで、色々な音声や音を再生する事ができます。
音声を変更すれば、色々な用途に応用が可能です。
音声再生用途だけではなく、正弦波、三角波などを発生させることもできます。
詳細はエレキジャック NO10をご覧ください。
エレキジャック 「http://www.eleki-jack.com/」
初期バージョンのしゃべる豚さんのマイコンファームでは音声ROM内にある複数
の発音ワードの先頭アドレスとデータサイズをMCUのプログラム内部に設定して
おりました。この先頭アドレスとデータサイズを元に指定の1ワードが再生できます
しかしながら、音声ROMの内容を変更する度に、複雑なデータ位置の調査、
アドレスの計算とプログラムの変更が必要になります。
■新ファームウェア
新しいファームウェアでは音声ROM内に格納されている各発音ワードの先頭位置
とデータサイズ、サンプリングレート(再生速度)を自動認識してマイコン内の
EEPROMに登録しますので、簡単に音声ROMの変更が可能になります。
尚、記録されたアドレスマップはプログラム内から番号(1〜8)での呼び出しが
可能になります。
又、サンプリングレート(再生速度)の認識が出来るようになりましたので、8Khzで
収録しますと、最大18秒の再生が可能になります。
使い方としては音声ROMの内容を変更した後、音声ROMを基板に装着します。
再生ユニットのプッシュスイッチ SW1,SW2,SW3 を押しながら電源を投入します。
これにより、マイコンがROM内のワードを調査し、各ワードの先頭アドレス、データ
サイズを認識してMCUのEEPROMに登録します。
これにより、プログラム内部からは 再生番号を指定して、PCM_PLAYをコールする
だけで目的のワードを再生する事が可能になります。
MPASMのソースコードを公開しますので、あとは皆様で自由に活用ください。
■音声ROMの作り方
@サウンドレコーダーで音声を録音します。
Windowsの標準ソフト、サウンドレコーダーで録音します。
保存フォーマットは必ず次の設定でお願いします。
ファイル → プロパティ → 変換の所で設定します。
・分解能 : 8ビット 固定
・チャンネル : モノラル 固定
・サンプリングレート 次の5種類をサポート。
8000Khz 11.025Khz 12.000Khz 16.000Khz 22.050Khz
Aファイルの連結
複数のファイルを1つのファイルに連結します。
●次からはフォルダー内のすべてのファイルを連結する方法を解説します。
フォルダーを作り、この中に結合するファイルをすべて、コピーします。
※8ワード版では8ファイルまでです。
※8ファィルの総サイズは128Kバイト以内であることを確認してください。
次にWINDOWSのCMDを起動しコマンド操作で先ほど作成したフォルダーに
CDコマンドで移動します。
そこで、ファイルがあるか、念のためDIRコマンドで確認します。
連結するファイルが確認できましたらコピーコマンドで連結します。
連結される順序はDIRで表示された順番となります。
※必ず/Bオプションを付けてください。
COPY/B *.WAV SOUND.WAV
これで「SOUND.WAV」ファィルが出来上がります。
Bヘキサファイル変換(.HEX)
フリーソフトを使用してバイナリーからHEXファイルに変換します。
変換ソフトは各自でネット検索して入手してください。
これで「SOUND.HEX」ファィルが出来上がります。
Cライターで書き込みます。
秋月電子のPICライター「AKI-PIC Programmer Ver.4」を使用します。
WINDOWS側のソフトは「Serial EEPROM Programmer V6」を使用します。
SOUND.HEXファイルをロードして、音声ROM 24C1024に書き込みをします。
※秋月「Serial EEPROM Programmer V6」にてバイナリファイルのサイズが
64K以上の場合、書き込みデータを 10000H以上の空間にロードできない場合
があります。
これは「セグメントアドレスレコード(02)」に対応していないことが原因と
思われます。この場合は「拡張リニアアドレスレコード(04)」で設定
する必要があります。
まずはヘキサファイルをテキストエディターで開きます。
64Kを超えるバイナリデータをヘキサ変換した場合、64K境界に
「:020000021000EC」というラインがありますので、「:020000040001F9」に
書き換え保存してください。
D基板に装着
音声ROMを基板に装着してスイッチ(SW1,SW2,SW3)を押しながら起動します。
一瞬ですが、PLAYランプの点灯で処理されたことがわかります。。
これにより、MCUがROM内のワードを調査し、各ワードの先頭アドレス、データ
サイズを認識してMCUのEEPROMに登録します。
■ファームウェア・ダウンロード
●新ファームウェア PIC16F88用ソースコード
「PIC_PCM08.ASM」 8ワード版
「PIC_PCM16.ASM」16ワード版 近日公開予定
※回路は下記を参照ください。
●音声収録データ
「しゃべる豚さん 音声収録データ 24C1024用」
※新ファーム用となります。雑誌版と異なります。
■回路図
回路図はしゃべる豚さんPIC16F88版と同じです。
「しゃべる豚さん、PIC16F88用の回路図」
基板単体、組立キットの販売について
基板単体、又は組立キットのご購入を希望される方はこちらをご覧ください。
「しゃべる豚さん、基板/組立キット販売について」
|