本文にスキップする
Version: 5.5

VQE制御

VQE(voice quality enhancement)は、PlanetKitで動作する音声品質向上機能です。VQEにはノイズ除去フィルターをはじめ、さまざまな音声処理モジュールがありますが、アプリケーションでその機能を制御できます。

サポート通話タイプSDKの最低バージョン
1対1通話、グループ通話(カンファレンス)PlanetKit 4.3

VQEには次のような音声処理モジュールがあります。

エコー除去フィルター

エコー(echo)とは、直接的な音の後に遅れてリスナーに届く反響音です。音声通話中にエコーがマイクに混入すると、話者に自分の声が聞こえてくることもあります。エコー除去フィルター(acoustic echo canceller)は、音からエコーを除去します。

音量調整フィルター

マイクハードウェアの特性であるマイク感度により、マイクが捉える音のボリュームが小さすぎたり、大きすぎたりして会話が困難になることがあります。音量調整フィルター(auto gain controller)は、ボリュームを適切なレベルに調整します。

PlanetKitは、次の2つの音量調整モードに対応しています。

  • ソフトウェアモード
    • 入力音声が一定の音量で維持されるようにソフトウェアで補正します。
    • 補正をしすぎると音質に悪い影響を与える可能性があるため、限界があります。
      • つまり、マイクから適度な音量が入る方がより良い音質を保証でき、そのために使用するるのがハードウェアモードです。
  • ハードウェアモード
    • マイクに流入した信号から音声区間のエネルギーを計算し、ハードウェアで音量を調整します。
      • 音声区間のエネルギーが基準レベル範囲より大きければ、マイク感度を下げます。
      • 音声区間のエネルギーが基準レベル範囲より小さければ、マイク感度を上げます。
      • 音声区間のエネルギーが基準レベル範囲内であれば、マイク感度を維持して音声が一定のレベルに入るようにします。
    • ハードウェアモードはマイク装置を直接制御するため、マイクを制御できるプラットフォームであるWindowsとmacOSのみ提供されます。
    • ハードウェアモードはソフトウェアモードより音量増幅が大きい場合があり、ソフトウェアモードではよく聞こえない音量がハードウェアモードでは適度なレベルまで調整できる場合もあります。

音量調整フィルターの基本モード

プラットフォームごとの音量調整フィルターの基本モードは次のとおりです。

プラットフォーム基本モード備考
Androidソフトウェアモードハードウェアモードは非対応
iOSソフトウェアモードハードウェアモードは非対応
macOSハードウェアモード
Windows- PlanetKit 4.3および4.4:ソフトウェアモード
- PlanetKit 5.0以上:ハードウェアモード

ノイズ除去フィルター

ノイズとは、話者の音声以外にマイクが拾った音のことです。ノイズ除去フィルター(noise suppressor)はこのようなノイズを除去します。

関連API

PlanetKitのPlanetKitSendVoiceProcessorクラスで音声処理モジュールを制御するAPIを提供します。

PlanetKitSendVoiceProcessor自体を無効にすると、すべての音声処理モジュールが動作しなくなります。ユーザーがVoIP会議向けに開発された、内部的に音声処理を提供するオーディオ装置につなげることでPlanetKit通話機能を利用することもできます。このようなオーディオ装置と一緒に使用する場合、PlanetKitSendVoiceProcessorがすでに処理されたオーディオストリームを二重に処理することによって、オーディオ品質に悪影響を及ぼす可能性があります。このような環境では、より良いオーディオ品質を提供するためにPlanetKitSendVoiceProcessorを無効にすることをお勧めします。

PlanetKitSendVoiceProcessorを有効にすると、次のようなAPIを利用して内部オーディオ処理モジュールを制御できます。

Tip

関連APIの詳細は、APIリファレンスを参照してください。

エコー除去

エコー除去を制御するには、setAcousticEchoCancellerMode()メソッドを使用します。このメソッドは、PlanetKitVoiceProcessor.AcousticEchoCancellerModeをパラメーターで渡されます。PlanetKitVoiceProcessor.AcousticEchoCancellerModeenumは次のようなモードを提供します。

モード説明
DISABLEDエコー除去フィルターを使用しません。
INTENSITY_RECOMMENDEDオーディオ装置およびOSタイプを考慮した品質テストを通じてあらかじめ設定したプリセットを適用します。どのモードに設定するか分からない場合は、INTENSITY_RECOMMENDEDを使用します。
INTENSITY_MINエコー除去を最小限に抑えます。
INTENSITY_MAX積極的にエコーを低減します。
INTENSITY_ADAPTIVE内部的にエコー除去の強度を適切に調整します。

音量調整

音量調整を制御するには、setAutoGainControlMode() メソッドを使用します。このメソッドは、PlanetKitVoiceProcessor.AutoGainControlModeをパラメーターとして取得します。PlanetKitVoiceProcessor.AutoGainControlModeenumは次のようなモードを提供します。

モード説明
DISABLED音量調整フィルターを使用しません。
SOFTWAREソフトウェアで音量調整を制御します。
Note

プラットフォームによって提供する音量調整制御機能に相違点があります。プラットフォームごとの基本モードと対応モードは、音量調整フィルター 基本モードを参照してください。

ノイズ除去

ノイズ除去を制御するには、setNoiseSuppressorMode()メソッドを使用します。このメソッドは、PlanetKitVoiceProcessor.NoiseSuppressorModeをパラメーターで渡されます。PlanetKitVoiceProcessor.NoiseSuppressorModeenumは次のようなモードを提供します。

モード説明
DISABLEDノイズ除去フィルターを使用しません。
ENABLEDノイズ除去フィルターを使用します。(デフォルト値)

関連API

VQE制御に関連するAPIは、以下のとおりです。