どうもです〜。ゆ〜すけしゃ〜ぷないんすです。
「アプリBGMエンジンを作ろう計画」の経過報告。
いまやってるのが、音源の短い波形データを読み込んで、
音程を調整して出力する。いわゆるPCM音源というやつ。
で、この方法のキモになるのが、波形を、いい感じのところで、
ループさせて、ながーく伸ばせるようにする仕組み。
プログラム的には、あるところまでいったら、読み込みポイントを戻す
だけなのだけど、、、
適当なところででループを設定してしまうと、ループするところで、
ブツ、ブツ、ってなってしまうので、
この辺をちゃんとキレイに聞こえるようにしたい!って思って。。
いまはロジックを作るだけだから、妥協してもいいんですけどね。
あとで、ちゃんと調整すれば。。
とはいえ、気になることは、ちゃんと調べて、なんとかしたいし、
できないなら、ちゃんとこりゃ無理だー、って感じたい。
ということで、ループ作り開始です。
音は、トランペット。家のMIDI音源からとったもの。
ってことは、この元の音も、なんらかのサンプリング音源なのだけど、
まあ、それを音源のなかから吸い出す技術なんて持ち合わせていないので、、
オーディオ録音して、波形を見るアプリで、ループポイントを探す。
途中のところだけど、こんな感じなので、ここをループにしたい。
で、最初は、ループになるポイントをアプリで目視で設定しようと思ったのだけど、
いまいち、うまくいかず、、
結局、波形を数値化して、ファイルに書き出すように、PHPを書いて、
ちょうど、波形の谷になっているところを、ジャスト数値で設定。
スムーズなループになったかな、って思います。
まだ、いろいろやってないので、ボロが出るかもですが、
で、同じように、ストリングスの音をやろうとしたのだけど、、
ストリングスは、短いループでまとめようとすると、独特の広がりが
なくなってしまうので、結構長めのループにしないといけない、、
などなど、試行錯誤の真っ只中です。
いまのところ、こんな感じ。