So-net無料ブログ作成

SmileDecoderR6n用の音(サウンドオプション) [ds-DCCデコーダ]

 12月になごでん様からR6n用にスマイルデコーダのサウンドオプション使えるようにしたいとの話がありました。で、やっととりあえず作りました。
 実験環境はこんな感じです。デコーダ開発ボードにアンプ基板386と秋月の大きなスピーカーをつないで実験です。なお、対策はしたのに、16kHzのピークが周波数解析で聞こえたので、ちょっとどうしようかという感じではあります。
re_DSC02196.jpg

 動画はこんな感じです。


 スケッチはこちらです。MP3V5_SO1でSOはSoundOptionの略です。
 音ファイルは、スマイルデコーダのサウンドオプションあたりを眺めて作ってください。
 音のスケッチへの統合は、VVVF_sound.cppの最初のあたりで、いまのところ4つ並べています。
#include "E233_Alert1.h"
#define WAV_DATA1 E233_alert1_data
#define  WAV_LENGTH1 E233_alert1_length

を自分のオリジナルに差し替えれば自分の好きな音を鳴らせます。
ただし、容量はかなり小さいのでお気を付けください。
あと、サンプリング周波数は8kHzにしています。
227行目の
if(flg == 0x03) //4回に1回だけ値を変更32kHZ→8kHz

if(flg == 0x01)
とすると、16kHz
if(flg == 0x07)
にすると4kHzとかに変えられます。

ファンクションの割り当ては現在F3~F6としていますが、
MP3V5_SO1.inoの522行目の
VVVF_Cont(gFuncBits[3] | (gFuncBits[4] << 1) | (gFuncBits[5] << 2) | (gFuncBits[6] << 3));
を変えてやれば、ほかのファンクションに割り当てできます。

以上です。




コメント(2) 

コメント 2

Yaasan

これって、ADPCM対応してるものでしたっけ?
ADPCM用に解説を書いてないので、必要ならWAVファイルからCソースを生成する解説を、wikiで別ページ化しないといけないと思ってます。スマイルデコーダサウンドオプションも、今ではほぼほぼ絶滅レベルですし。
by Yaasan (2018-01-07 18:02) 

fujigaya2

今回のはADPCMに対応していません。
特に音階を変えるわけではないので、ADPCM対応のWAV→Cソースを作っていただければ、対応ソースを作ります。
(ちょっと音の長さとかでディーゼルの時は問題あったかもなのですが、リピートでエンジン音なのでごまかしていたような気もするのですが)
by fujigaya2 (2018-01-08 10:07) 

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。