BMX2WAV(と他ツール)開発日記

主にBMX2WAVの開発についての記録ブログ

ランダム読み込みのメモリ使用量

ランダム読み込みでメモリを使う理由は、今のランダム読み込みは出力も出来るようにしている為、構文の構造を持って全部保存している為。その為 通常は BMS 一つに対し使う構造を、#IF がある度に作っているので、メモリを沢山使う訳。一応、同時にランダム値を見て取捨するのもやってるんだけども。

そこで、しょうがないからその構造を作り出すのをやめて、取捨するだけにしようとしたんだけど、BMS構文解析器(パーサ)を見てたら難しくてワロタ。作ったの自分なのに。

あー C++クロージャが欲しい…。

*1267018497*[bmx2wav]折り返し雑音

  • 折り返し雑音ってのは、サンプリングレートを下げた時に発生するノイズ(でいいよね?)のこと。
  • だから、再度上げる時にそのノイズを取ると良いらしい
  • bmx2wav では線形補完という形でなんかやってる
    • この線形補完というのは、要するにA点とB点を直線で結んだ線上で補完する方法
    • 例えばサンプリングレートが2倍(22kHz → 44kHzとか)の場合はある点とその次の点の平均値で補う
    • この方法はまず最初に考えるであろう原始的な方法で1~10でで言えば2ぐらいの位置の方法
    • bmx2wav ではこれ以上の方法をやる気はあんまり無いというか、これ以上は結構ちゃんと勉強しないといけないのよね
      • ちなみにワタクシは大学で信号処理(この手の専門分野)の研究室に居ました!(どーん!)
    • つーか既に線形補完でも結構処理書いてるし、これで十分でしょ
    • これ以上の音質に拘るなら他の専用のソフトを使ってちょ
  • ちなみに超爆弾発言だけど、旧bme2wav は線形補完ですらなかったから!(どーん!)
    • 22kHz → 44kHz に関しては線形補完だけど、他がヤバスギル
    • bmx2wav 作ってる歳中に気づいたんだな
    • 11kHz → 44kHz とか結構酷いのかもね

    という訳で、bmx2wav の折り返し雑音に関しては

    • bmx2wav はちゃんと線形補完してます。(逆に言えばその程度しかしていないとも)
    • 11kHz とか 32kHz とかの 22kHz 以外の WAV に関しては改良されています。
    • けど、22kHz → 44kHz に関しては旧 bme2wav と同じレベルの質