SSブログ

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:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。