2011-07-15

vvvvでSkypeの声にエフェクトをかける

ヘリウム声で通話がしたかったので調べた。ノイズ対策にも使おうとしたがあまりうまくいかなかった。

ループバックするサウンドデバイスとVSTホストがあれば何でもいいが、TiVSoundとvvvvを使った例をメモする。

手順

  1. SkypeのデバイスにTiVSoundを指定する
  2. vvvvでAudioInとAudioOutだけ置いたパッチを動かす
  3. 間に好きなVSTエフェクトを挟む

エフェクトひとつ

設定はこうする。

加工する対象SkypeのスピーカSkypeのマイクvvvvのAudioInvvvvのAudioOut
自分の声通常のスピーカTiVSound通常のマイクTiVSound
通話相手の声TiVSound通常通りTiVSound通常のスピーカ

vvvvの使い方

vvvvはノードを配線して色々なことができる多目的ツール。配線したものをパッチと呼ぶ。パッチをファイルに保存する時の拡張子は.v4p (vvvv patchの略)。保存や開くのは中クリックで行う。

どこか空白をダブルクリックするとノードの一覧が出る。名前を打ちこんで絞り込むことができる。選択するとノードが出現する。

ノードの追加

ノードの上辺には入力端子が並んでいる。ノードの下辺には出力端子が並んでいる。端子の数はノードによって異なる。

端子を左クリックすると配線が伸び、右クリックすると値を変える事ができる。例えばAudioInとAudioOutは右上の端子を右クリックすると接続先のデバイスを選択できる。また、AudioOut の上の左から2番目の端子は右クリックしながら上下に動かすとボリュームを調整することができる。

AudioOutのボリューム端子

端子が通る信号には種類があり、種類の合わない端子はつなぐことができない。例えば IOBox (Value Advanced) は数値を入出力するが、これをAudioOutにつないで音を鳴らす事はできない。AudioOutはAudioという種類の端子を持つからだ。

端子の種類

AudioInはAudioを出力するので、これをAudioOutにそのまま繋げばとりあえずアンプができあがる。

identity

vvvvとVSTエフェクト

vvvvは起動時にvstというフォルダ以下にあるDLLをすべて読み込む。

VSTエフェクトは、vvvvではAudio入力とAudio出力が一つずつあるノードになる。ということで、AudioInとAudioOutの間に配線すれば音を変えることが出来る。demuxはSwitcherというノードでできるようだが、muxやミキサーをするノードが見当たらない。これは気が向いたら探そうと思う。

エフェクトひとつ

VST自体のウィンドウはノードを右クリックすると出したり隠したりできる。

注意

エフェクト内部のパラメータはノードを置いただけでは保存されず消えてしまう。パラメータを保存するには、つまみの値をノードの端子として引き出す必要がある。

中クリックでNew Inspektor [Ctrl+I]を選択すると、ノードの詳細ウィンドウが開く。VSTのノードを選択すると端子になっていない隠れパラメータを見ることができる。

保存したい値の左の所をクリックして色を濃くすると端子になる。

エフェクトひとつ

値を端子にすると、そのつまみの制御はvvvvが握ることになるので、VST側のウィンドウでつまみを動かしてもすぐに元に戻ってしまう。AudioInのボリュームなどと同様、vvvvの端子を右クリックして設定することになる。

エフェクトとパラメータ

IOBoxとつなぐと値が視認できて便利。この上にvvvv標準のオシレータなどをつなぐと自動で値の変わるアレが作れる。

VSTiと組み合わせればリズムマシンなども作れると思うが、Skypeで使ってもうるさがられただけだったので割愛する。