VoiceMeeter Banana 設定メモ

たまにいじるとまったく覚えてないので備忘録

VoiceMeeter Banana の Input と Output とは
  • Input: VoiceMeeter が音を受け取るほう、つまり Windows の再生デバイスとなる
  • Output: VoiceMeeter が音を流すほう、つまり Windows の録音デバイスとなる

設定編

VoiceMeeter Banana 設定

f:id:y_mashiro:20190810170010p:plain

これをベースに状況によっていろいろ切り替える

Master Section

  • A1: スピーカー
  • A2: ヘッドホン
  • A3: 未使用
  • B1: 配信用 Output
  • B2: ボイチャ用 Output

録音デバイス

  • Mic: マイク
  • Game: Line-In とかからコンソールゲーム機の音を取り込んでる
  • Others: このデバイスは Virtual Audio Cable でブラウザとかをこれに出力してさらにルーティングしている。配信に音がのらなくなったりする
    • 配信にのせたいのだけこれにするのも手だがアプリごとに変えるのがめんどくさいのでこうなっている

VoiceMeeter Input

  • Desktop (VoiceMeeter Input): Windows のデフォルト再生デバイス
  • VoiceChat (VoiceMeeter Aux Input): ボイチャの再生デバイス
ボイチャの設定
  • 入力デバイス → VoiceMeeter Aux Output
  • 出力デバイス → VoiceMeeter Aux Input
配信ツールの設定

音は VoiceMeeter Output だけ取り込む

使い方編

簡単な説明
  • A1,2,3 を入れると対応する物理再生デバイスに音が流れる
  • B1 をオンにすると配信に流れる
  • B2 をオンにするとボイチャに流れる
ユースケース
  • マイクをミュートにしたい

    • Mic の Mute をオンにする
  • ヘッドホンだけで音が聞きたい

    • A1 を mute にして A2 の mute を解除する
  • 配信に自分の声をのせたい

    • Mic の B1 をオンにする
  • 配信にボイチャ相手の声をのせたい

    • VoiceChat の B1 をオンにする

ruby で環境変数を手軽に読み込む

mashiro/enver · GitHub

環境変数から値を取得するときに型とかそれなりにちゃんとするのめんどくさいなと思って enver というライブラリを作った。

string, integer, boolean, array で読み込める。

こんなかんじ。

export CLIENT_KEY=key
export CLIENT_SECRET=secret
export SERVERS=4
export DEBUG=true
export KEYWORDS=foo,bar,buzz
env = Enver.load do
  string :client_key, 'CLIENT_KEY'
  string :client_secret, 'CLIENT_SECRET'
  integer :servers, 'SERVERS', default: 2
  boolean :debug, 'DEBUG', default: false
  array :keywords, 'KEYWORDS', pattern: ','
end

env.client_key # => 'key'
env.client_secret # => 'secret'
env.servers # => 4
env.debug # => true
env.keywords # => ['foo', 'bar', 'buzz']

partial を使うと名前空間で切って読み込めたりする。

export TWITTER_CLIENT_KEY=key
export TWITTER_CLIENT_SECRET=secret
env = Enver.load do
  partial :twiter, 'TWITTER_' do
    string :cleint_key, 'CLIENT_KEY'
    string :cleint_secret, 'CLIENT_SECRET'
  end
end

env.twitter.client_key # => 'key'
env.twitter.client_secret # => 'secret'

value メソッドに渡すブロックで型変換してるだけなのでやりようによっては DateTime とかで読み込んだりもできる。

便利。

rabbit 2.0 release!

https://github.com/mashiro/rabbit

 

でたっぴょん!

 

これが言いたいがために 4 月中に出せるようにがんばりました。

ぎりぎり間に合ったよかった。

 

というわけで C++ JSON parser/generator であるところの rapidjson のラッパーライブラリ、 rabbit 2.0 です。

実装があれだったところをなおしてテストちゃんと書いたりしました。

 

picojson より 6.7 倍ほど高速で rapidjson より 0.96 倍ほど遅いです。

インタフェースはなるべく C++ らしくシンプルにしたので使いやすいんじゃないかと思います。

 

ドキュメントはまだあれですがすいませんあとで書きます。