Open4

MIDI音声合成のメモ

okuokuokuoku

ツール

https://mdpc.dousetsu.com/utility/midi/wave_gamma.htm

一旦周波数とボリュームのリストを出し、それを更に解析する方式。フレームサイズは1/60秒で固定のようだ。これは元々MSXの音源向けに開発されたツールであることの名残りかな。

https://www.youtube.com/watch?v=m3_-qNyE49c

エンベロープ補償はしていないようで、オカリナ等の音色で代替するとノイズが目立つ。

https://www.youtube.com/watch?v=w-JxYgIeCD8

サイン波音色と異なり、オカリナ音色にはエンベロープにアタックがあり、誤差の原因になる。

MSXはTurbo-R:

https://www.nicovideo.jp/watch/sm43425835

okuokuokuoku

改善できるか?

もう元々のツールの完成度が高いんで自分のレベルではどうしようもない気はするけど:

  • 無声音の処理を入れないと、さしすせそ が聞こえづらい。CELPエンコーダからその辺の処理をパチってくるのが良いんではないか。あるいはCELPコードブックを直接MIDIに変換できないか。
  • 非GSのハードウェア音源を考えるとエンベロープ補償が必要。ノートonの数を減らす?多くの音源はGSのピッチセンシティビティには対応しているので、ピッチだけの制御でも(精度が充分なら)出力できるかもしれない。 -- 特に無声音はピッチ依存が無いので、常にnote onしておく方法が取れるかもしれない。
  • 和音を使いたいがちょっと良いアイデアがない。。ピッチが共有になっちゃうので単純な倍音とかじゃないと殆ど活用できない。 → コーラスのようなエフェクト類は行けるか。。?
  • ボリューム感がない。これはデモデータの特徴であって、まぁバランス取るしかないのかな。。あと、たぶん元データを単純なボーカルキャンセル(の逆)で作っていてエコー/コーラス除去をしていないので、元データの作成時に調整できるところもあるかもしれない。

現状の聴感だと、無声音処理さえ入ればかなり改善するように思えるので、やるとしたらそこだろうか。。

SBProのMIDIでやってみるのが良い気がする。 ...いやまぁSBはPCM載ってるけどさ。。