STRAIGHTメモ:その2 音声関係の用語

STRAIGHTメモ その1:導入 - 雑多にしっとり

用語解説編

プログラミングにだけ詳しくても,
音声関係の用語にだけ詳しくても,
作りたいものは作れない.


というわけで,未来の自分のために解説を残しておく.

基本周波数

F0と呼ばれている.
ピッチというと,身近に感じるかもしれない.
(感覚的には似てるが,ピッチは人の聴感であるそうなので細かく言うと違うらしい)
これを弄ることで音程を変更させられる.

スペクトル

スペクトラムとも呼ばれる.
成分ごとに分解したもの.
白色光を分解→虹色に見えるってやつ.

パワースペクトル

周波数ごとのパワーで分解したもの.
パワーとは,振幅を二乗したもの.

スペクトル情報をグラフに表したものを,スペクトログラムと呼ぶ.

上記のスペクトログラムは3次元情報で,
縦軸に周波数軸(対数表示),横軸に時間軸(リニア表示)
濃度がパワーである.
これを弄ることで,声色を変更させられる.

非周期性尺度

周波数毎のパワースペクトル情報に含まれるノイズ(かすれ具合)の割合.
息成分に近い?

フレームで分析する

フーリエ分析では,波形を細かく切りだして分析する.
その切り出す範囲をフレームと呼ぶ.

フレーム長

どの長さのフレームで波形を分析するかというもの.

シフト間隔

フレームを動かす間隔.

窓関数

区切ったフレームをくっつけるのに使う関数
訂正:区切ったフレームを分析するためにかける関数
コメント訂正ありがとうございました.

声色や音程を時間ごとに変化(経時変化)させるには?

  1. あるフレームを分析し,F0とスペクトルと非周期性尺度の情報を取得する
  2. 分析したフレームのF0とスペクトルと非周期性尺度の情報を書き換える
  3. 次のフレームを分析し,F0とスペクトルと非周期性尺度の情報を取得する
  4. 分析したフレームのF0とスペクトルと非周期性尺度の情報を書き換える

....以下ループ
最後に,それぞれのフレームをくっつけて合成する.

STRAIGHTで用意されているのは?

  • 各フレームごとにF0などの情報を取得する
  • 各フレームごとにF0などの情報を与える
  • フレームをくっつけて合成する

自分で用意しないといけないのは?

  • 取得したF0などの情報を,どういった数値に書き換えるか

例:取得した音の高さを2倍(1オクターブ上)に書き換えたい

  1. フレームごとにF0を取得する(STRAIGHTにある)
  2. F0を2倍する
  3. フレームごとにF0を書き換える(STRAIGHTにある)
  4. 音に合成する(STRAIGHTにある)

[追記]F0を2乗すると書いてありましたが,F0を2倍でした.

今の自分の理解であり,
間違っているかもしれないので,
きちんと自分で情報は精査すること.