一定期間更新がないため広告を表示しています
前回まではディーゼルのガラガラ音をスピーカーを交換することで低音が少し大きく鳴なる様になりました。今回はこのディーゼルサウンドの作者であるフジガヤさんから、スケッチのある部分をいじることで、さらに音量が大きく出せる可能性があるとのアドバイスを受け、実験的にやってみることにしました。
フジガヤさんのアドバイス(ブログコメントの書き込みより)によるとスケッチ(mp3k1_exp7c1)の中のVVVF_sound.cppで
ーーーーーーーーーーーーーーーーー
278行目を以下にすると最大値が255→511になります。
"<< 1"を"<< 2”にすれば最大値が1023になると思いますが、
音が割れるかもです。
uint16_t t = (uint16_t)ima_decode(&imad, readSoundRom(gSound_played, sample), hilow) << 1;
元:
// uint8_t t = ima_decode(&imad, readSoundRom(gSound_played, sample), hilow);
ーーーーーーーーーーーーーーーーー
フジガヤさんのスケッチはデコーダのコアになるマイコンの性能を最大限に引き出す様に工夫されているので、プログラム懐が深すぎてMECYには最初、何がどうなるのかすぐにはイメージがつきませんでしたが、アドバイスの通りに整数型を8bitから16bitに変更しました。
おそらくこれらの修正でディーゼル音のデータをTimer1で鳴らす際Dutyの範囲を広く取れる様になり、音が大きく聴こえる様になるのではないかと勝手に推測してます。
■VVVF_sound.cpp278行目 付近の変更
■あと下部の340行目付近も関係してそうなので変更しました。
■さらにVVVF_sound.hヘッダの48行目付近も関係してくるので、おまじないの様に変更しました。
そしてこの修正したスケッチをMP3サウンドデコーダに書き込んでみたところ、確かにディーゼルのガラガラ音が更に大きく聴こえる様になりました。ただ、スケッチ修正の影響からかMP3の音(駅アナウンスやドア開閉音など)を鳴らすとブツブツと音割れがする様になったので、MP3の音量をCV値でデフォルトの28→24位へ絞り音割れを抑えてみました。
例の往復する自動運転で動画を撮ってみましたのでご覧ください。
■スケッチ修正とスピーカを交換したディーゼルサウンド
■走行車両にもっと近ずいて撮影した状態
■比較用に前々回の動画
前々回の動画と比較とすると違いが聞き取れると思いますが、ディーゼル音は今回の動画の方が大きく聴こえます。相対的にジョイント音やファンクションで鳴らすMP3の音は控えめに聞こえてます。
フジガヤさまアドバイスありがとうございました。スケッチ変更の効果を確認する事ができました。まだまだ改良する点はあるかと思いますが、取りあえずこれでワイガヤな場所でもきっと聴こえるディーゼルサウンドになった?!と思います。
前回、なごでんさんのMP3サウンドデコーダにフジガヤさんのディーゼルサウンドのスケッチを入れて試してみましたが、ディーゼルのガラガラ音が少し小さめだったと思います。ディーゼル音は、IMA ADPCMで圧縮した音声データなのでMP3データに比べると音質が少し落ちるのでやむを得ない点はあるのですが、Yaasanさんやフジガヤさんのコメントからもう一工夫してみようと思い、ディーゼル音側のスピーカを替えてみることにしました。前回搭載していたものはMP3サウンドデコーダの標準スピーカ”ブラックキューブ”?!(小型ですが音質は良かった)ですが、これを手持ちのスピーカに交換してみます。元々の用途はわかりませんが、秋葉原で良く見かけるものです。
■交換するスピーカ
スピーカは横長でサイズ的にNゲージには無理(幅数ミリ分ギリギリNゲージに収まりません)ですが、なごでんさんのスピーカと比べると、サイズ自体は大きいので、低音の音質改善を期待して替えてみました。MP3の音声用はブラックキューブのままです。
■車体への横長スピーカの搭載(意外に場所をとります)
スピーカを替えてたところ、少しディーゼル音が大きく聴こえる様になりました。動輪を浮かせての停止状態ですが動画をご覧ください。
■スピーカ交換後のディーゼルサウンド
心持、ディーゼル音が少し大きくなった感じです、MP3の音声(ジョイント音、やドア開閉音)とミックスしてもさほど音量負けはしてない位には音が出ていると思います。(シャーとゆう音が入りますがこれは台車ギヤーBOXの音です。)
周りが静かな場所であれば十分な音量かなぁ?!とは思いますが、あとは運転会などワイガヤな状況でどの程度聴こえるのかが気になるところです。もう少し大きなスピーカに替えたらもっと音が大きく聴こえるのかしら?とちょっと欲が沸いてきました。
新年、明けましておめでとうございます。(遅いご挨拶で申し訳ありません。寝正月からの長い眠りからようやく覚めました。)
さて年頭の一発目ですが、まだお正月ボケなので、お手軽にフジガヤさんが考案された念願のディーゼル音のスケッチをなごでんさんのMP3サウンドデコーダに入れて試させて頂くことにいたします。あと以前、自分で音取りして入れてみたディーゼル音との違いも比較してみたいと思います。
まず前回と今回の違いですが使用するMP3サウンドデコーダのバージョンが違います。前回はMP3サウンドデコーダのV2に自分で音取したディーゼル音をそのまま入れてMP3デコーダから直接鳴らしていました。今回のフジガヤさんのスケッチの場合は今話題沸騰中??のMP3サウンドデコーダのV4(改良版)用にディーゼル音をIMA ADPCMで圧縮したものをマイコンと連動させながら鳴らしつつ、かつMP3の音も同時に鳴らしちゃう!とゆうスマイルデコーダとMP3デコーダの両機能をフルに活かした、かなり凝ったやり方だと思います。
早速スケッチ(mp3k1_exp7c1)をMP3サウンドデコーダに入れようと取り掛かりました。が...MECYのArduinoIDEの環境が合わないのか、いきなりコンパイルエラーが起きました。
■コンパイルエラの箇所
チョット焦りましたが、まだ実験中のスケッチの様なのでこんなこともよくあります。スケッチをみまわして利用してそうな定義へ適当に変更してしまいました。たぶんちゃんとスケッチの動きを理解してやらないといけなかったのでしょうが、あまりに難しいそうなスケッチでしたのでぱっと見て断念しました。(フジガヤ様こんな適当ないじり方ですみません)
■MECYがコンパイルエラーを適当に対処
さて適当なコンパイルエラーの対応にもかかわらず、なんとかスケッチをMP3サウンドデコーダに書き込んで、付属のMP3ファイルもメモリカードへ書き込みをしました。
デコーダを搭載した車両は前回と同様にHOゲージのキハ11です。HOゲージなので部屋いっぱいに線路もひけないので、例のごとく自動運転で往復する形にしました。自動運転のついでにスクリプトの中に付属のMP3ファイルでブレーキ音、ドア開閉音がありましたので、これらをファンクションで順番に鳴らす様に仕込んでみました。動画をご覧ください。
■キハ11の往復運転(ディーゼルサウンドを鳴らしつつ自動運転で走行しています)
ディーゼルの音量は実験中のスケッチとのことなのでまだ小さい目ですが、ディーゼル特有のガラガラ音は常時鳴っています。音源はマイコンの内臓メモリーに格納されています。ジョイント音はMP3が音源です。どちらも速度の変化に応じて音程が変化する様に仕込まれている点が凄いです。以前自分で音取したMP3のディーゼルの音源をそのまま鳴らしているだけでは、速度の変化にリニア連動しませんが、フジガヤさんのスケッチはこの点をうまくカバーされておりすごいと思います。またジョイントのMP3の切り替え時の音切れも最小になる様に調整されているので自然に聞こえます。ブレーキ音やドア開閉音はMP3データなので綺麗に鳴っています。スクリプトに仕込むのが面倒ですが、自動運転パターンの合間にサウンドをファンククションで順番に仕込めば雰囲気はそこそこ出せることもわかりました。
フジガヤさんはまだ実験中で”ディーゼル音らしきもの”とご謙遜されておりますが、現状でもなかなかの出来栄えで、ディーゼル音とジョイント音のハーモニは第三のサウンドデコーダならではの着想だと思います。あと音量がもう少しUP出来る様になり、さらにスケッチをブラッシュアップしてMP3サウンドデコーダの機能を駆使すれば’○○○○カードのディーゼル音’もなんのその!?ではないでしょうか?
(C) 2024 ブログ JUGEM Some Rights Reserved.