Scribe v2 Realtime 작동 방식
- 작성자
- Tadas Petra
- 게시일
- 최종 업데이트
듣기이 글 오디오로 듣기
Scribe v2 Realtime은 매우 빠른 음성 텍스트 변환 모델로, 실시간 트랜스크립션에 사용할 수 있습니다. 속도와 품질의 조합으로 이전에는 불가능했던 활용 사례를 구현할 수 있습니다.
예를 들어 Scribe v2 Realtime과 Chrome Translator API를 사용해 이 실시간 언어 번역기를 만들 수 있었습니다.

이 데모의 단계별 튜토리얼을 보고 싶다면, 여기에서 확인할 수 있습니다. 이 가이드에서는 Scribe v2 Realtime과 그 작동 방식을 높은 수준에서 이해하는 데 중점을 둡니다.
모델
ElevenLabs는 오디오 트랜스크립션을 위한 두 가지 모델, Scribe v2와 Scribe v2 Realtime을 제공합니다.
Scribe v2는 비동기식으로 처리할 수 있는 트랜스크립션에 적합하며, Scribe v2 Realtime은 실시간 트랜스크립션이 필요할 때 사용합니다.
실시간 언어 번역 애플리케이션에는 Scribe v2 Realtime이 당연한 선택입니다.
API
이 모델을 사용하려면 음성 텍스트 변환 API를 사용해야 합니다. 시작하려면 다음 두 단계를 수행하세요:
- Scribe 인스턴스 초기화
- API에 연결
이 API를 호출하는 위치에 따라 초기화 방법이 달라집니다. 서버 측에서 호출하는 경우 API 키로 직접 초기화한 뒤, 해당 인스턴스를 사용해 Scribe v2 Realtime에 연결할 수 있습니다.
하지만 API 키를 클라이언트에 노출하는 것은 큰 보안 위험입니다. 따라서 클라이언트 측에서 스트리밍하는 경우 일회용 토큰으로 초기화해야 합니다.
API 키를 보호하려면 이 토큰을 서버 측에서 생성해야 합니다.
React 애플리케이션을 만들고 있으므로 토큰 방식을 사용하겠습니다. 이 토큰은 연결 단계에서 전달되므로 Scribe 인스턴스를 만드는 과정은 간단합니다.
Scribe v2 Realtime에 연결하기
적절히 초기화한 후 Scribe v2 Realtime에 연결할 수 있습니다. React 언어 번역 프로젝트에서는 클라이언트 측 스트리밍을 사용했으므로 백엔드에서 일회용 토큰이 필요했습니다. API에 연결할 때마다 이 토큰을 생성하고 전달해야 합니다.
커밋 전략
Scribe v2 Realtime을 사용할 때는 부분 트랜스크립트와 커밋된 트랜스크립트, 두 가지 유형의 트랜스크립트가 있습니다.
부분 트랜스크립트는 "실시간 트랜스크립트"입니다. 이 트랜스크립션은 웹소켓을 통해 이루어지며, 말하는 동시에 반환됩니다. 따라서 "The cat is ..."라고 말하면 해당 단어가 실시간으로 스트리밍되는 것을 볼 수 있습니다.
다른 유형은 커밋된 트랜스크립트입니다. 트랜스크립션은 세그먼트 단위로 작동합니다. 트랜스크립션을 언제, 어떻게 커밋할지에 따라 트랜스크립트의 세그먼트 구분이 결정됩니다. 이를 위해 커밋 전략을 정의해야 합니다.
커밋 전략에는 두 가지 옵션이 있습니다. 첫 번째는 수동 방식으로, 트랜스크립트를 언제 커밋할지 완전히 제어할 수 있습니다. 가장 좋은 방법은 무음 구간이나 턴 모델처럼 논리적인 지점에서 커밋하는 것입니다.
다른 옵션은 음성 활동 감지(VAD)를 사용해 Scribe v2 Realtime이 자체적으로 적절한 세그먼트를 판단하도록 하는 것입니다. 이 방식은 음성과 무음 구간을 자동으로 감지합니다. 무음 임곗값에 도달하면 트랜스크립션 엔진이 트랜스크립트 세그먼트를 자동으로 커밋합니다.
커밋 전략이 꼭 필요한 이유는 무엇인가요?
말하는 동안 Scribe v2 Realtime은 각 단어를 트랜스크립션합니다. 따라서 "I scream..."이라고 말하면 "Ice cream..."으로 인식될 수 있습니다. 하지만 "I scream every time I see a spider in the bathroom,"이라는 세그먼트의 전체 맥락이 있으면 출력이 더 정확해집니다.
따라서 부분 트랜스크립트는 실시간으로 표시하고, 커밋된 트랜스크립트는 대화 기록을 더 정확하게 전사한 결과로 활용할 수 있습니다.
트랜스크립션 표시
Scribe v2 Realtime에 연결하면 트랜스크립션이 시작됩니다. partialTranscript 및 committedTranscripts 속성을 사용해 트랜스크립트에 접근할 수 있습니다.
partialTranscript는 현재 트랜스크립션 중인 세그먼트의 실시간 트랜스크립트입니다. committedTranscript는 대화 기록이며, Scribe v2 Realtime에 연결된 동안 커밋된 세그먼트 목록입니다.
AI로 번역하기
이것으로 대화의 실시간 트랜스크립트를 얻는 데 필요한 작업은 모두 끝났습니다. 이제 멋진 UI를 적용하거나 실시간 언어 번역 같은 기능을 더 추가할 수 있습니다.
데모의 실시간 언어 번역기를 만들려면 트랜스크립트를 Chrome AI Translator API에 전달하고 출력을 실시간으로 표시하면 됩니다.
빌드 시작하기
읽어주셔서 감사합니다! ElevenLabs 가입하기 후 애플리케이션 제작을 시작하세요!
Tadas Petra는 ElevenLabs 제품군을 활용해 개발자들이 더 쉽게 개발할 수 있도록 지원하는 개발자 관계 엔지니어입니다. 또한 개발자 교육 플랫폼 Hungrimind의 창립자이기도 합니다. 이전에는 Agora에서 리드 개발자 에반젤리스트로, Zero To Mastery에서 강사로 활동했습니다.



.jpg&w=3840&q=80)

