← 모든 프로젝트

Digital Solution

NemoTranslate

현장 음성의 전사·번역부터 언어별 실시간 자막과 vMix 브라우저 오버레이까지 연결하는 통역 운영 시스템.

CLIENT
NemoTranslate
SERVICES
Nuxt, Vue, SSE, Windows Agent, STT, vMix, 자막 오버레이
사이트 방문 ↗
NemoTranslate
프로젝트 개요 NemoTranslate는 현장의 음성을 전사·번역하고, 언어별 결과를 운영 화면과 외부 자막 화면으로 연결하는 실시간 통역 운영 시스템입니다. Windows 장비의 입력 상태 확인, 번역 세션 운영, 참여자 화면과 vMix 자막 출력을 이어주는 구성을 갖추고 있습니다. 개발 스택과 기술 구성 • 웹 운영 화면: Nuxt / Vue 기반 프런트엔드. 장비, 번역 세션, 사용자, 서비스 연동 및 개인 vMix 설정 화면으로 구성됩니다. • 실시간 결과 전달: SSE(Server-Sent Events)와 브라우저 EventSource를 사용합니다. 전사·번역 이벤트를 수신하고 중간 결과와 확정 결과를 구분합니다. • 외부 자막 인터페이스: 언어별 JSON 조회 주소와 SSE 스트림 주소를 제공합니다. JSON은 기록·최신 결과 조회, SSE는 실시간 결과 전달에 사용합니다. • 방송용 오버레이: HTML / CSS / JavaScript로 구성한 투명 배경 자막 페이지입니다. SSE로 받은 결과를 vMix의 Web Browser 입력에 표시합니다. • 음성 입력 연계: Windows 에이전트의 장비 연결, 마이크 검사와 로컬 STT 준비 상태를 확인하는 화면이 포함돼 있습니다. 로컬 STT 지연 표시에는 whisper.cpp를 기본 백엔드 명칭으로 사용합니다. • 음성인식·번역 서비스 설정: Google Cloud / Naver Cloud 제공자 설정 및 준비 상태 확인 화면이 포함돼 있습니다. 실제 사용 제공자는 운영 설정에 따라 달라집니다. vMix 연동 방식 vMix의 Web Browser 입력으로 번역 자막을 영상 위에 올리는 방식입니다. 언어별 SSE 주소를 연결한 투명 오버레이 URL을 생성합니다. vMix를 직접 제어하는 HTTP API 또는 NDI 연동과는 구분되는 브라우저 입력 방식입니다. 연동 순서 1. 번역 세션에서 출력할 언어의 SSE 주소를 복사합니다. 2. 오버레이 설정에서 해당 주소를 입력하고 글자 크기·위치·색상 등을 조정합니다. 3. 생성된 URL을 vMix의 Add Input → Web Browser에 입력합니다. 4. 브라우저 입력 해상도를 송출 해상도에 맞추고 Overlay로 영상 위에 배치합니다. 자막 운영 기능 • 글자 크기, 세로 위치, 최대 폭, 최대 줄 수, 글자 색과 외곽선 조절 • 왼쪽·가운데·오른쪽 정렬과 새 자막이 없을 때 숨김 시간 설정 • 관리자 공통 설정과 사용자 개인 설정 구분 • 언어별 자막 URL 복사와 참여자 화면 공유 • 발화 구간, STT 대기·추론, 네트워크 추정, 서버 대기 및 번역 처리 시간의 단계별 표시 • 연결이 끊기면 자막을 지우고 재연결을 기다리는 오버레이 동작 장점 • 방송 화면과 번역 운영 화면을 분리할 수 있습니다. 운영자는 세션을 관리하고 송출 담당자는 자막용 브라우저 입력을 배치하는 구조입니다. • 언어별 출력 주소를 사용하므로 여러 언어의 자막을 각각 연결하고 배치할 수 있습니다. • 웹 기반 자막 설정으로 영상에 맞는 위치와 스타일을 조정할 수 있습니다. • JSON과 SSE를 함께 제공해 기록 조회와 실시간 외부 자막 연계에 서로 다른 인터페이스를 사용할 수 있습니다. • 처리 단계를 나눠 보여주는 지연 정보는 병목 구간을 살펴보는 데 활용할 수 있습니다. 이는 특정 지연 시간이나 번역 정확도를 보장하는 수치가 아닙니다. 제약과 운영 시 고려할 점 • 현장 장비의 에이전트 연결, 마이크 입력과 STT 준비가 선행돼야 합니다. 로컬 음성인식 설정에는 모델 준비가 필요합니다. • 음성인식과 번역 결과는 입력 음질, 잡음, 발화 언어, 용어와 사용 제공자의 영향을 받습니다. 실제 행사 조건에서 사전 검증이 필요합니다. • vMix 오버레이는 연결 이후 새로 수신한 중간·최종 자막을 표시합니다. 빈 투명 화면은 새 자막을 기다리는 상태일 수 있습니다. • 새 번역 세션에는 새 SSE 주소가 필요합니다. 기존 vMix URL에 설정 변경이 자동 반영된다고 가정하지 않고, 필요한 경우 URL을 다시 생성해 교체합니다. • 세션 자막 URL에는 접근 권한이 포함되므로 송출 장비와 현장 운영자에게만 전달해야 합니다. • 방송용 오버레이는 글자 출력용이며 TTS를 재생하지 않습니다. 참여자 화면의 선택형 TTS와 구분됩니다. 검토 범위 공개된 Nuxt 배포 스크립트, vMix 오버레이 페이지와 안내를 바탕으로 정리했습니다. 실제 인증 세션을 이용한 음성 수집·번역·현장 송출 테스트 및 성능 측정은 이번 포트폴리오 검토에 포함하지 않았습니다.
이런 프로젝트를 함께 만들고 싶다면 ↗