노이즈 억제를 사용하여 음성 오디오 품질 개선
PlayFab 파티는 실시간 음성 채팅을 사용을 위해 플레이어 간에 마이크 오디오를 캡처하고 전송하도록 지원합니다. 배경 소음이 마이크 오디오와 함께 캡처되는 경우가 많으며 다른 플레이어의 소리에 따라 해당 플레이어의 음성 품질을 저하시킬 수 있습니다. 시끄러운 환경에서 플레이어의 음성 오디오 품질을 개선하기 위해 플레이어의 마이크에서 캡처된 노이즈를 동적으로 억제하도록 PlayFab 파티를 구성할 수 있습니다.
필수 구성 요소
이 연습에서는 PlayFab 파티의 음성 채팅에 대해 기본적으로 잘 알고 있다고 가정합니다.
플랫폼 지원
노이즈 억제를 모든 플랫폼에서 사용할 수 있는 것은 아닙니다. 실시간 오디오 조작과 관련된 메서드는 통합 플랫폼 간 헤더에 있지만 현재는 Windows 및 Xbox용으로만 구현됩니다. 이러한 메서드는 다른 플랫폼에서는 오류를 반환합니다.
디바이스 모델 제한 사항
고급 SIMD(네온)를 지원하는 CPU가 있는 Android 디바이스에서만 PlayFab 파티에서 노이즈 억제를 사용할 수 있습니다. 이 지원을 제공하지 않는 Android 디바이스에서도 노이즈 억제를 사용할 수 있지만 노이즈 억제 없이 음성 오디오가 전송됩니다.
iOS의 경우, 모든 iOS 디바이스에서 노이즈 억제가 지원됩니다.
게임에서 노이즈 억제를 사용하도록 설정하는 방법
게임에서 모델 패키징
PlayFab 파티에서 노이즈 억제를 사용하려면 추가 파일을 게임에 패키지해야 합니다. 파티 라이브러리 패키지와 함께 배포된 PartyNoiseSuppressionModel.fpie 파일을 찾습니다. 플랫폼에 따라 별도의 작업을 수행해야 합니다.
Android
{game}/src/main/assets/directory 내에 PartyNoiseSuppressionModel.fpie 파일을 복사합니다.
iOS
게임의 리소스에 PartyNoiseSuppressionModel.fpie를 포함합니다.
예: 로컬 채팅 컨트롤에 대해 노이즈 억제 사용함
PartyError error = localChatControl->SetVoiceAudioOptions(PartyVoiceAudioOptions::NoiseSuppression);
if (PARTY_FAILED(error))
{
printf("Failed to enable noise suppression for local chat control 0x%p! error = 0x%08x\n", localChatControl, error);
}
예: 로컬 채팅 컨트롤에 대한 노이즈 억제 사용 안 함
// to disable noise suppression for a local chat control
PartyError error = localChatControl->SetVoiceAudioOptions(PartyVoiceAudioOptions::None);
if (PARTY_FAILED(error))
{
printf("Failed to disable noise suppression for local chat control 0x%p! error = 0x%08x\n", localChatControl, error);
}
성능 고려 사항
내부 테스트에 따르면, PlayFab 파티에서 노이즈 억제를 사용하도록 설정해도 CPU 성능이나 배터리 수명에 큰 영향을 미치지 않습니다.