SmileDecoderR6n用の音(サウンドオプション) [ds-DCCデコーダ]
12月になごでん様からR6n用にスマイルデコーダのサウンドオプション使えるようにしたいとの話がありました。で、やっととりあえず作りました。
実験環境はこんな感じです。デコーダ開発ボードにアンプ基板386と秋月の大きなスピーカーをつないで実験です。なお、対策はしたのに、16kHzのピークが周波数解析で聞こえたので、ちょっとどうしようかという感じではあります。
動画はこんな感じです。
スケッチはこちらです。MP3V5_SO1でSOはSoundOptionの略です。
音ファイルは、スマイルデコーダのサウンドオプションあたりを眺めて作ってください。
音のスケッチへの統合は、VVVF_sound.cppの最初のあたりで、いまのところ4つ並べています。
を自分のオリジナルに差し替えれば自分の好きな音を鳴らせます。
ただし、容量はかなり小さいのでお気を付けください。
あと、サンプリング周波数は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));
を変えてやれば、ほかのファンクションに割り当てできます。
以上です。
実験環境はこんな感じです。デコーダ開発ボードにアンプ基板386と秋月の大きなスピーカーをつないで実験です。なお、対策はしたのに、16kHzのピークが周波数解析で聞こえたので、ちょっとどうしようかという感じではあります。
動画はこんな感じです。
スケッチはこちらです。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));
を変えてやれば、ほかのファンクションに割り当てできます。
以上です。
2018-01-06 15:43
コメント(2)
これって、ADPCM対応してるものでしたっけ?
ADPCM用に解説を書いてないので、必要ならWAVファイルからCソースを生成する解説を、wikiで別ページ化しないといけないと思ってます。スマイルデコーダサウンドオプションも、今ではほぼほぼ絶滅レベルですし。
by Yaasan (2018-01-07 18:02)
今回のはADPCMに対応していません。
特に音階を変えるわけではないので、ADPCM対応のWAV→Cソースを作っていただければ、対応ソースを作ります。
(ちょっと音の長さとかでディーゼルの時は問題あったかもなのですが、リピートでエンジン音なのでごまかしていたような気もするのですが)
by fujigaya2 (2018-01-08 10:07)