Skip to content

Desuq Cafe

ドキュメントメニュー

この翻訳は最新の英語版より遅れている場合があります。 英語版を表示

音声

このガイドでは、基本的な音声制御(ミュート/音量)、詳細音声制御(バランス、同期オフセット、音声モニタリング、マルチトラックルーティング、特殊な入力)、および音声アクティビティ検出に使用するリアルタイム音量メーターについて説明します。

音声制御

関数説明
SetInputMute(Name, Muted)入力をミュート/ミュート解除する
ToggleInputMute(Name)ミュート状態を切り替える
GetInputMute(Name)現在のミュート状態を取得する
SetInputVolume(Name, VolumeDb)デシベル単位で音量を設定する
SetInputVolumeMultiplier(Name, VolumeMul)乗数(0.0 以上 1.0+)で音量を設定する
GetInputVolume(Name)現在の音量を取得する
AdjustInputVolume(Name, DeltaDb)音量を相対的に調整する
GetInputList()OBS から入力リストを更新する
GetCachedInputs()ローカルにキャッシュされた入力リストを取得する

詳細音声制御

関数説明
GetInputAudioBalance(Name)ステレオバランスを取得する(非同期)
SetInputAudioBalance(Name, Balance)ステレオパンを設定する(0.0=左、0.5=中央、1.0=右)
GetInputAudioSyncOffset(Name)同期オフセットをミリ秒単位で取得する(非同期)
SetInputAudioSyncOffset(Name, OffsetMs)同期オフセットを設定する(-950〜20000ms)
GetInputAudioMonitorType(Name)モニタリング種別を取得する(非同期)
SetInputAudioMonitorType(Name, Type)モニタリング種別を設定する
GetInputAudioTracks(Name)音声トラックのルーティング状態を取得する(非同期)
SetInputAudioTracks(Name, Tracks)全トラック状態を設定する(1〜6)
SetInputAudioTrack(Name, Track, Enabled)単一トラックの状態を設定する
GetSpecialInputs()デフォルト音声デバイスを取得する
GetCachedSpecialInputs()キャッシュ済みの特殊な入力を取得する
RefreshAllAdvancedAudioInfo()キャッシュ済み入力の詳細音声情報をすべて取得する

音声バランス:

  • 0.0 = 完全に左
  • 0.5 = 中央(デフォルト)
  • 1.0 = 完全に右

同期オフセット:

  • 範囲: -95020000 ms
  • 負の値 = 音声が早く再生される(処理遅延を補正)

モニタリング種別(EOBSMonitorType):

説明
Noneモニタリングなし(デフォルト)
MonitorOnlyOBS では聴こえるが、配信/録画には含まれない
MonitorAndOutputOBS でも聴こえ、配信/録画にも含まれる

音声トラック:

  • トラック 1〜6 をそれぞれ個別に有効化/無効化できます。
  • マルチトラック録画(ゲーム音/マイク/Discord 音声を分離)に使用します。
  • OBS の 設定 → 出力 → 録画 で出力トラックを設定してください。

音量メーターと音声アクティビティ

リアルタイムで入力ごとの音声レベルを取得します。これは高頻度のイベントであり、デフォルトでは無効です。必要な場合にのみ有効にしてください。

関数 / イベント説明
SetVolumeMetersEnabled(bEnable)InputVolumeMeters イベントを有効にする(入力ごと、マルチチャンネルレベル)
OnInputVolumeMeters入力ごとに FOBSInputVolumeMeter が発火し、線形乗数と換算後の dB 値、および最大チャンネルのピーク値を提供する
GetClient()->GetAudio()->GetLastVolumeMeters()イベントをバインドする代わりに、最新のメーターフレームをポーリングする
SetInputActiveStateEventsEnabled(bEnable) + OnInputActiveStateChanged入力の映像アクティブ状態が変化した

これらのメーターを利用した発話中/アイドル検出については、音声アクティビティ検出 を参照してください。

注: OBS はミュートされた入力の音声レベルを空として報告します。

音声 / 入力イベント

  • OnInputMuteStateChanged(InputName, bMuted): 入力のミュートが変化した
  • OnInputVolumeChanged(InputName, VolumeDb, VolumeMul): 音量が変化した
  • OnInputAudioBalanceChanged(InputName, InputUuid, Balance): ステレオバランスが変化した
  • OnInputAudioSyncOffsetChanged(InputName, InputUuid, SyncOffsetMs): 同期オフセットが変化した
  • OnInputAudioTracksChanged(InputName, InputUuid, AudioTracks): トラックルーティングが変化した
  • OnInputAudioMonitorTypeChanged(InputName, InputUuid, MonitorType): モニタリング種別が変化した
  • OnSpecialInputsReceived(SpecialInputs): デフォルト音声デバイスを取得した
  • OnInputSettingsChanged(InputName, InputUuid): 入力設定が変更された(通知のみ)
  • OnInputSettingsReceived(InputName, InputKind, Settings): 入力設定データを取得した(完全なデータあり)
  • OnInputListUpdated: 入力リストが更新された
  • OnInputCreated(InputName, InputUuid, InputKind, UnversionedInputKind): 新しい入力が作成された
  • OnInputRemoved(InputName, InputUuid): 入力が削除された
  • OnInputNameChanged(InputUuid, OldInputName, NewInputName): 入力の名前が変更された
  • OnInputKindListReceived(InputKinds): 利用可能な入力の種類を取得した

すべての OBS ドメインにわたるイベントの完全なカタログは、イベントリファレンス を参照してください。