Mp3V5というかR6n用のSLスケッチの更新(線形補間16KHz化) [ds-DCCデコーダ]
SL103_8K_・・・ですが、KAKKA様からSL102でCV値の書き換えができないというお話があり、こちらでMp3V5で試して、書き換えは出来たのですが、そこから派生させているSL103_8Kで書き換えが出来たりできなかったり、(できなかったりが多い)というような状況ですので、調査しました。
で、直りました。原因は割り込みと通常のどちらでも使う変数をvolatile宣言してやらないといけなかったのですが、していませんでした。で、現象は、その該当部分は普通に動くのだがCV値の書き込みができない、という不思議なバグ化していました。上記DesktopStation様のWiki内に対策したスケッチを上書きしてあります。直ってよかった。
最新のSL、DLスケッチは元サンプリングデータ8KHzを線形補間してやり16kHz化した音による再生としています。音の違いは、気分的に音がちょっと柔らかくなります、という程度のものです。
昨日からコメントに海外からスパムが入るようになりましたので、コメントを承認制に変更します。
で、直りました。原因は割り込みと通常のどちらでも使う変数をvolatile宣言してやらないといけなかったのですが、していませんでした。で、現象は、その該当部分は普通に動くのだがCV値の書き込みができない、という不思議なバグ化していました。上記DesktopStation様のWiki内に対策したスケッチを上書きしてあります。直ってよかった。
最新のSL、DLスケッチは元サンプリングデータ8KHzを線形補間してやり16kHz化した音による再生としています。音の違いは、気分的に音がちょっと柔らかくなります、という程度のものです。
昨日からコメントに海外からスパムが入るようになりましたので、コメントを承認制に変更します。
2018-04-14 17:16
コメント(6)
フジガヤ2さん
mp3v5_sl103_8k_2 はR6nを使用しているC56に書き込みました。
気分的な様子は聞いてみます。
MP3V5を使用しているD51はMP3V5_SL102aの以下の修正を加えて、継ぎ目音なしにしてみました。これで走らせて見ます。
{CV_SOUNDSTATE, 0}, // for D51
by KAKKA (2018-04-15 12:17)
KAKKAさん
コメントありがとうございます。
SL102aはSL103の「volatile宣言」の問題ではなさそうです。ただし、CVの読み書き部分が最新ではないようですので、直したら変わるかもです。
by fujigaya2 (2018-04-16 07:01)
CV書き換えは赤い箱DP1で行なっているのですが、うまく書けていない気がします。
ソースの修正でアドレス、CV48を変更して解決しました。
有志のスケッチにて新たにリリースされたSketchを書き込みました。
D51はMECYさんのMP3V5_SL102aTR7でMP3V5用です。
C56はFujigaya2さんのmp3v5_sl103_8k_2でR6n用です。
URLにYouTubeのリンク先をアップしました。
by KAKKA (2018-04-17 00:23)
KAKKAさん
情報ありがとうございます。
D51,C56ともにCV値を読み書きできない状態でしょうか?
SL102系(D51の方)は、motor_ctrl.cppのvoid MOTOR_Ack(void)内の
delay( 8 );→delay( 6 );
と変更すると、少し良くなるかもです。
(読みが改善される)
by fujigaya2 (2018-04-17 07:19)
KAKKAさん
私も赤い箱で試してみましたが、相性の問題なのかよくわかってませんが残念ながらMP3/R6nシリーズではCV読み書き動作は正常にできない様です。なごでんさんでは青い箱が推奨となっていたと思います。確かMINTカンではCVの書き込み(読みはできなかった?)は出来たのでは?と思いますがそちらではどうでしょうか?
by MECY (2018-04-17 23:36)
MINTカンでの書き換えはOKでした。
by KAKKA (2018-04-22 13:21)