게임 방송에서 말소리가 있는 트랙을 찾으면 방송자의 마이크를 찾은 것일까요. 게임 NPC의 대사도 음성입니다. VAD가 음성 구간을 정확히 찾아도 그 소리가 사용자가 자막으로 만들고 싶은 마이크인지까지 알려주지는 않습니다. 이 차이를 무시하면 더 좋은 분류 모델을 붙이고도 잘못된 입력을 자막 생성에 넘길 수 있습니다.

저는 먼저 자막 입력을 결정하는 시점을 확인했습니다. PokeClip의 수동 편집에서는 사용자가 이미 클립 구간을 고르고 에디터를 보고 있었습니다. 그 구간을 직접 들어 선택할 수 있다면, 방송 전체의 모든 트랙을 계속 분류할 이유가 약해집니다. 이 조건을 근거로 상시 VAD를 스펙에서 빼고, 선택 구간의 파형·미리듣기와 자동 생성용 템플릿으로 책임을 나눴습니다.

음성 검출과 사용자 의도는 다른 문제였다

원래 구상은 여러 오디오 트랙의 음성을 계속 분류해 자막 입력을 자동으로 선택하는 방향이었습니다. 하지만 해결하려는 질문은 “여기에 음성이 있나”보다 “이 클립의 자막을 어느 소리로 만들 것인가”에 가까웠습니다. 두 질문이 같다고 가정하면 게임 대사와 방송자 발화가 함께 있는 장면에서 기준이 흔들립니다.

이때 사람의 선택을 무조건 자동화 실패로 볼 필요는 없었습니다. 사용자가 이미 편집 구간을 보고 있다면, 짧게 미리 들어 선택하는 것이 제품 흐름에 들어갈 수 있습니다. 반대로 사람이 없는 자동 생성 경로에는 그 선택을 미리 저장해야 합니다. 하나의 분류기로 두 흐름을 모두 처리하기보다, 결정 주체가 있는지에 따라 계약을 나누기로 했습니다.

방법 답할 수 있는 질문 남는 한계
VAD 음성 활동이 있는 구간인가 게임 대사와 방송자 마이크의 의미를 구분하는 근거는 아님
RMS 소리 에너지가 어느 정도인가 음성 여부나 화자를 식별하지 못함
솔로 미리듣기 사용자가 원하는 입력인가 사용자의 선택 과정이 필요
템플릿 지정 자동 처리에 어떤 트랙을 쓸 것인가 사전 설정과 무음 예외 처리가 필요

분석을 편집 구간 안으로 옮겼다

사람이 편집하는 경로에서는 선택한 구간만 트랙별로 디코드해 파형을 만들도록 설계했습니다. 이 과정에서 계산한 RMS를 무음 후보 표시에도 사용합니다. 예를 들어 20초 구간을 고르는 흐름이라면, 그 구간의 파형을 보고 트랙을 하나씩 솔로로 들어본 뒤 자막 입력을 선택합니다. 20초는 이 흐름을 설명하기 위한 예시입니다.

이때 RMS에 마이크 선택까지 맡기면 처음의 문제가 다시 생깁니다. 게임 소리가 큰 트랙은 에너지가 높고, 작은 목소리는 에너지가 낮을 수 있습니다. 그래서 RMS는 확인할 무음 후보를 표시하는 데 사용하고, 자막에 넣을 소리의 의미는 사용자가 미리 들어 결정하도록 했습니다. 최종적으로 고른 트랙만 자막 생성에 넘깁니다.

이 구조에서는 방송이 진행되는 동안 모든 트랙에 같은 분류 작업을 계속 유지할 필요가 없습니다. 상시 전 트랙 VAD 파이프라인은 스펙에서 제거했습니다. 모델의 정밀도를 높이기 전에 잘못 정의한 자동화 범위를 줄인 선택입니다. 조사와 설계 초안에는 AI를 활용했고, 제가 확정한 부분은 상시 분석을 걷어낼 범위와 수동·자동 경로의 책임입니다.

사람이 없는 경로는 별도의 조건이 필요했다

원클릭 자동 생성에는 편집자가 매번 들어볼 수 없으므로, 템플릿에 사용할 트랙을 지정하고 렌더 전에 무음 여부를 확인하는 방향으로 설계했습니다. 수동 경로의 편리함을 자동 경로의 보장으로 옮기지 않았습니다. 자동 경로는 트랙 설정이 잘못돼 있으면 잘못된 입력을 선택할 수 있다는 제약을 그대로 갖습니다.

초기에는 서버로 오디오 소스 라벨을 전달하는 아이디어도 있었습니다. 하지만 이후 고정 트랙명 계약을 채택하면서, 소스 라벨 자동 분류는 필수 의존에서 제거했습니다. 이미 폐기한 계약을 설명에 남겨 두면 후속 구현이 존재하지 않는 메타데이터를 기다리게 됩니다. 현재 선택과 과거 검토안을 구분한 이유입니다.

상시 VAD를 기각한 이유는 ADR-008에, 고정 트랙명으로 바뀐 후속 계약은 ADR-017에 남겼습니다. 오디오 선택 기록에서 두 결정을 함께 볼 수 있습니다. 아직 CPU 절감률이나 마이크 분류 정확도를 측정한 결과는 없으며, 에디터 전체 구현도 이 설계만으로 완료된 것은 아닙니다.

줄인 것은 연산만이 아니었다

이 선택으로 수동 경로에는 한 번의 트랙 선택이, 자동 경로에는 사전 템플릿 설정이 남았습니다. 사용자의 수고를 완전히 없애지는 못하지만, 게임 대사를 방송자 마이크로 오인하는 분류기를 상시 운영하는 문제를 추가하지 않을 수 있었습니다.

VAD 도입 여부를 가른 기준은 모델의 정밀도보다 누가, 언제, 어떤 소리를 선택해야 하는가였습니다. 편집자가 있는 순간에는 판단할 정보를 보여주고, 사람이 없는 순간에는 미리 정한 입력과 무음 예외를 확인합니다. 자동화를 늘리기 전에 그 결정 시점을 찾은 것이 이번 설계의 출발점이자 최종 기준이었습니다.


이 글은 PokeClip·MediaMTX 기술 기록 모음의 일부입니다. 포트폴리오 전체본 28쪽에서 연결된 사례도 함께 볼 수 있습니다.