So-net無料ブログ作成

Mp3デコーダでディーゼル音のための実験1 [ds-DCCデコーダ]

 さて、3連休でしたが少々仕事が忙しくてあまり休めませんでした。なんかこういう状態が年度末(3月)ぐらいまで続きそうな感じです。嫌ですね。
 で、私もホビセンのジャンク市に行きたいなあ、C56欲しいなあと思いましたが、少し前のディーゼルで盛り上がっているときに予約していたものが、心が少々冷めた後に届いており、
re_DSC02148.jpg
 キハ58とDE10にはデコーダ入れたいし、そのためにはなんか、ちょっともう少しちゃんとした音にしておきたいというのもあり、実験です。(測色センサはどうなった?という突っ込みはしないでください。また気が向いたらやろうと思います)
 ですが、今日はAudacity(WindowsのWAVをいじれるソフト)上で音を確認しただけです。
 八高線のキハ110は音としては、低速時は一定の高音が続き、そのうちギアがつながったように低音から高音まで音が変わるという感じのようなのですが、いわゆるバスとかのディーゼル音ではなく、ヒューンいう音なので、今の疑似音の仕組み(0.5秒ぐらいの音を振幅で±0になるところで切り出して、それをリピートさせて音を出しつつ周波数を変えて回転数を表現)だと、どうも音のつなぎ目が分かってしまい、違うよなあと感じていました。
 音で言うとヒューンヒューンヒューンと0.5秒周期ぐらいで鳴り続ける感じです。まあ、電車でGo!の気動車でもそんな感じの音が鳴っているようなもしますが。本物はヒュー――――とずーっと同じ音が鳴っています。
 今回は、音のつなぎ目がなくならないかなあと思い、このサンプリングした0.5秒周期の音を、位相を0.1~0.2秒ぐらいずらしていくつか一緒に鳴らすといい感じにならないかなあと思って、実験をしました。
 まずは、適当に音を0.5秒切り出しです。今回の音は近くで女子高校生がしゃべり続けていたため、音を切り出せる場所がかなり限られてしまいました。会話は、「みやぞん」がどうのこうのと話しているのですが、テレビに出ている「みやぞん」のことなのか、だれか友達のあだ名が「みやぞん」なのかはよくわかりません。(どうでもいいよなあ、そんなことと思いながら、どこの音が切り出しにいいかなあと思いながら何度も繰り返し聞いていると、その話が聞こえてきてしまって。)
切り出し部分.png
 会話の無い場所で、低速の高い一定音の所から切り出しています。
 Audacityは、適当に時間で範囲を選択した後、Zキーを押すと適切に時間的に近くの振幅±0の場所に直してくれます。
 そして、この状態でShift+Spaceを押してリピートで音を聞いてみて、いい感じ(音の印象が元と似ている、周期音が気にならない)なら、その部分をコピーします。
 で新しいプロジェクトを作って、貼り付けます。
切り出し後.png
 適当に音を大きくしておきます。エフェクト→増幅または正規化でしょうか?
 一緒に、音のモノラル化とサンプリング周波数を16KHzにしておきます。
切り出し後_モノラル_16khz_増幅(-4db).png

 で、本日のメイン部分、「位相を変えた波形を加えたら自然にならないか?」です。
切り出し後_モノラル_16khz_増幅(-4db)_位相変更重ね_勾配あり.png
 まずはリピートする波形は、つなぎ目が目立たないように時間中央は大きく、開始と終了の波形は小さくひし形の音量の波形にしてみました。で、これを位相をちょっと変えて4chぐらいミックスして音を聞いてみました。
 うまくいくと思ってやってみたのですが、どうも音量が小刻みに震えているようで、
 元々の波形ではヒューンヒューンヒューンヒューンと音が鳴っていたのですが、
 今回の波形ではヒュンヒュンヒュンヒュンヒュンと、どうもディーゼル音ではない何か違う機械音を作ってしまいました。失敗です。
 音量変えなくていいんじゃないのかと思い、次はそのままの波形をリピートさせつつ、何Chかミックスして聞いてみました。
切り出し後_モノラル_16khz_増幅(-4db)_位相変更重ね.png 
 今度はさっきよりいい感じです。ヒューーーーーにはなりませんが、ヒューヒューヒュー位にはなっています。
 ということで来週以降ここら辺の位相を変えつつ複数チャンネルでの音というのをMp3デコーダに入れてどんな感じか聞いてみたいと思います。
・ATMega328は16KHzで大体1秒ぐらい無圧縮のWAVを入れることができます。
・0.5秒はアイドリング音のWAV、0.5秒は走行時の音のWAVとして、走行時の低速(高音一定音)、高速(速度比例音)は、WAV波形の全体長さを加工して周波数が変わったように聞こえるようにしようと思っています。
・なお、マイコンに入る音の長さですが、前回のディーゼル音はIMA ADPCM(圧縮できる)で時間を贅沢に使ったのですが、波形が圧縮されているため、音のデコード時にときどき出てくる圧縮情報の読み取り部分と、WAV波形の全長を変える部分がおそらくバッティングして、そんなプログラムは書けないとおもったので、今回は普通のPCMを使用します。

コメント(4)