본문으로 건너뛰기
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은 다음 두 가지 음량 조절 모드를 지원합니다.

  • 소프트웨어 모드
    • 입력 음성이 일정한 음량으로 유지되도록 소프트웨어로 보정합니다.
    • 하지만 보정을 너무 많이 하면 음질에 안 좋은 영향을 줄 수 있으므로 한계가 있습니다.
      • 즉, 마이크로부터 적당한 음량이 유입되는 것이 더 좋은 음질을 보장할 수 있으며, 이를 위해 사용되는 것이 바로 하드웨어 모드입니다.
  • 하드웨어 모드
    • 마이크로 유입된 신호에서 음성 구간 에너지를 계산하여 하드웨어로 음량을 조절합니다.
      • 음성 구간의 에너지가 기준 레벨 범위보다 크면 마이크 감도를 줄입니다.
      • 음성 구간의 에너지가 기준 레벨 범위보다 작으면 마이크 감도를 키웁니다.
      • 음성 구간의 에너지가 기준 레벨 범위에 포함되면 마이크 감도를 유지해 음성이 일정한 레벨로 들어오게 합니다.
    • 하드웨어 모드는 마이크 장치를 직접 제어하기 때문에, 마이크를 제어할 수 있는 플랫폼인 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.AcousticEchoCancellerMode enum은 다음과 같은 모드를 제공합니다.

모드설명
DISABLED에코 제거 필터를 사용하지 않습니다.
INTENSITY_RECOMMENDED오디오 장치 및 OS 종류를 고려한 품질 테스트를 통해 미리 정한 프리셋을 적용합니다. 어떤 모드로 설정할지 모르면 INTENSITY_RECOMMENDED를 사용하세요.
INTENSITY_MIN에코 제거를 최소화합니다.
INTENSITY_MAX적극적으로 에코를 줄입니다.
INTENSITY_ADAPTIVE내부적으로 에코 제거 강도를 적절히 조절합니다.

음량 조절

음량 조절을 제어하려면 setAutoGainControlMode() 메서드를 사용하세요. 이 메서드는 PlanetKitVoiceProcessor.AutoGainControlMode를 파라미터로 전달받습니다. PlanetKitVoiceProcessor.AutoGainControlMode enum은 다음과 같은 모드를 제공합니다.

모드설명
DISABLED음량 조절 필터를 사용하지 않습니다.
SOFTWARE음량 조절을 소프트웨어로 제어합니다.
Note

플랫폼별로 제공하는 음량 조절 제어 기능에 차이가 있습니다. 플랫폼별 기본 모드와 지원 모드는 음량 조절 필터 기본 모드를 참조하세요.

잡음 제거

잡음 제거를 제어하려면 setNoiseSuppressorMode() 메서드를 사용하세요. 이 메서드는 PlanetKitVoiceProcessor.NoiseSuppressorMode를 파라미터로 전달받습니다. PlanetKitVoiceProcessor.NoiseSuppressorMode enum은 다음과 같은 모드를 제공합니다.

모드설명
DISABLED잡음 제거 필터를 사용하지 않습니다.
ENABLED잡음 제거 필터를 사용합니다. (기본 값)

관련 API

VQE 제어와 관련된 API는 다음과 같습니다.