タグ

ブックマーク / ackiesound.ifdef.jp (2)

  • テンポ解析のアルゴリズム

    テンポは音量増加量の時間方向の周波数成分から解析します。 まず、音声のスペクトルから音量が増加している部分のみを取り出し、 音量増加量を求めます。音量は音が鳴り始めるとき、主に拍の頭で 増加します。120BPMの曲であれば1分間に120回の割合で音量が増加しているため、 音量増加量の時間方向の周波数成分を求めると120/60=2Hzの成分が検出されます。 多くの場合、最も大きい周波数成分が、正しいテンポか 正しいテンポの2倍または0.5倍になっています。しかし、正しいテンポの 0.75倍、1.25倍、1.5倍の成分が突出していることもあります。 これらのテンポから正しいテンポを抽出するため、WaveToneでは キータップによるテンポ検出と併用できるようになっています。

  • タイムストレッチ、ピッチシフトのアルゴリズム

    タイムストレッチは音程を保ったまま再生速度を変える処理、 ピッチシフトは再生速度を保ったまま音程を変える処理です。 下図のように単純に波形を拡大、縮小すると再生速度と音程が 両方変わってしまいます。再生速度と音程を別々に変更するには 特殊な処理をする必要があります。 タイムストレッチ、ピッチシフトのアルゴリズムには、 FFTを用いる手法やクロスフェードを利用する手法などがあります。 以下ではWaveToneで採用しているクロスフェードによるタイムストレッチ、 ピッチシフトのアルゴリズムについて解説します。 タイムストレッチの基的なアルゴリズム 再生速度を2倍にするには、下図のように波形を小さなブロックに分割し、 ブロックを1つおきに配置します。 再生速度を0.5倍にするには、コピー元の位置を0.5ブロックずつずらしながら ブロックを配置します。 ブロックのサイズをある程度大きくしないと、

  • 1