본문으로 건너뛰기

캡처 가능한 사운드 웨이브

음성 활동 감지 (Voice Activity Detection, VAD)에 대해서는 이 페이지를 참조하세요.

캡처 가능한 사운드 웨이브는 스트리밍 사운드 웨이브에서 파생됩니다. 이 기능은 마이크 같은 입력 장치에서 오디오 데이터를 캡처하고, 가져온 사운드 웨이브와 동일한 기능(재생, SoundCues에서의 사용 등)을 가지고 재생할 수 있습니다. 심지어 캡처와 재생을 동시에 제한 없이 수행할 수도 있습니다.

또한 캡처가 시작되면 iOS 및 Android에서 마이크 권한을 자동으로 요청합니다.

우선 캡처 가능한 사운드 웨이브를 생성해야 합니다. 참고로, 데이터가 조기에 소멸되지 않도록 강한 참조로 다루어야 합니다 (예: Blueprints에서 별도의 변수에 할당하거나 C++에서 UPROPERTY()를 사용하는 방식).

캡처 가능한 사운드 웨이브 생성 노드


이 기능을 사용하려면, 먼저 해당 함수를 호출하여 캡처에 사용할 수 있는 모든 오디오 입력 장치를 가져와야 합니다.

Get Available Audio Input Devices node


그 후, 입력 장치에서 오디오 데이터를 캡처하기 시작하고 필요할 때 이를 중지할 수 있습니다. DeviceId는 이전 단계에서 가져온 사용 가능한 장치 배열에서의 장치 인덱스입니다.

오디오 캡처 시작 및 중지 노드


또한, 음성 캡처를 음소거하거나 음소거 해제하는 옵션을 선택할 수 있습니다. 이는 캡처 프로세스를 중단하지 않고 오디오 데이터 축적을 방지하는 데 유용합니다. 이는 캡처를 자주 전환할 때 특히 유용한데, StartCapture를 통해 녹음을 시작하면 엔진 측에서 약간의 끊김이 발생할 수 있기 때문입니다. 캡처를 시작한 후에 음소거/해제를 적용하는 것이 좋습니다.

만약 약간의 멈춤 현상을 제거하는 것이 목표라면, 이 멈춤이 무시될 수 있는 시점에 캡처를 시작하는 것을 고려해볼 수 있습니다. 예를 들어, 게임의 로딩 화면 중에 캡처를 시작하고, 바로 캡처 가능한 사운드 웨이브를 음소거한 후 필요한 시점에 다시 음소거를 해제하여 끊김 없이 오디오 데이터를 캡처할 수 있습니다.

음소거 토글 노드


마지막으로, 구현은 다음과 같이 보일 수 있습니다:

An example of using a capturable sound wave