일반 소개
실시간 트랜스크립션-fastrtc는 음성을 실시간으로 텍스트로 변환하는 데 중점을 둔 오픈 소스 프로젝트입니다. 이 프로젝트는 FastRTC 기술을 사용하여 지연 시간이 짧은 오디오 스트림을 처리하고 로컬 Whisper 모델을 사용하여 효율적인 음성 인식을 달성합니다. 이 프로젝트는 개발자 sofi444가 관리하며 GitHub에서 호스팅됩니다. 코드는 완전히 공개되어 있어 사용자가 자유롭게 수정할 수 있습니다. 사용자는 브라우저 또는 로컬에서 배포할 수 있으며, 인터페이스는 작동하기 쉬운 Gradio 및 FastAPI 모드를 지원합니다. 회의 기록, 라이브 자막 및 기타 시나리오에 적합하여 개인 및 개발자의 요구 사항을 충족합니다. 이 프로젝트는 경량 및 다국어 지원, 안정적인 작동, 손쉬운 확장을 강조합니다.

기능 목록
- 실시간 음성 녹음: 마이크를 통해 밀리초 단위의 짧은 지연 시간으로 음성을 텍스트로 즉시 변환합니다.
- 음성 활동 감지(VAD): 음성의 시작과 끝을 자동으로 식별하여 전사 프로세스를 최적화합니다.
- 다국어 지원: 영어, 중국어 및 기타 언어(위스퍼 모델 기준).
- 듀얼 인터페이스 옵션: 직관적인 Gradio 인터페이스와 사용자 지정 가능한 FastAPI 인터페이스.
- 로컬 모델 실행: 위스퍼 모델을 사용하면 인터넷에 계속 연결할 필요 없이 오프라인 트랜스크립션이 지원됩니다.
- 파라미터 조정: 오디오 스트림, VAD 임계값 및 모델 배치 크기 구성을 지원합니다.
- 유연한 배포: 로컬에서 실행하거나 허깅 페이스 스페이스와 같은 플랫폼을 통해 배포할 수 있습니다.
- 오류 피드백: 디버깅을 위해 연결 실패 또는 구성 오류를 명확하게 표시합니다.
도움말 사용
설치 프로세스
실시간 트랜스크립션 패스트트랙을 사용하려면 파이썬 환경과 관련 종속성을 준비해야 합니다. 다음은 사용자가 문제 없이 설치하고 실행할 수 있도록 하기 위한 자세한 단계입니다.
- 시스템 요구 사항 확인
- Python 버전: >= 3.10.
- 마운팅
ffmpeg
오디오 처리에 사용됩니다. - 권장 하드웨어: 모델 추론을 가속화하기 위한 GPU(예: MPS 또는 CUDA), CPU도 실행할 수 있지만 속도가 느립니다.
- 클론 창고
터미널에서 다음 명령을 실행하여 프로젝트 코드를 가져옵니다:git clone https://github.com/sofi444/realtime-transcription-fastrtc cd realtime-transcription-fastrtc
- 가상 환경 설정
종속성 충돌을 피하려면 Python 가상 환경을 만드세요. 이를 위해 공식적으로 권장되는 두 가지 방법이 있습니다:
모드 1: 자외선 사용(권장)
먼저, 설치uv
(참조.https://docs.astral.sh/uv/
)를 클릭한 다음 실행합니다:uv venv --python 3.11 source .venv/bin/activate # Windows 用户运行 .venv\Scripts\activate uv pip install -r requirements.txt
방법 2: pip 사용
python -m venv .venv source .venv/bin/activate # Windows 用户运行 .venv\Scripts\activate pip install --upgrade pip pip install -r requirements.txt
- ffmpeg 설치
운영 체제에 따른 설치ffmpeg
::
macOS::brew install ffmpeg
Linux(우분투/데비안)::
sudo apt update sudo apt install ffmpeg
Windows(컴퓨터)::
- 다운로드
ffmpeg
실행 파일(에서https://ffmpeg.org/download.html
). - 시스템 환경 변수에 추가하거나 프로젝트 루트 디렉터리에 넣습니다.
- 다운로드
- 환경 변수 구성
프로젝트 루트 디렉터리에서.env
파일에 다음을 추가합니다:UI_MODE=fastapi APP_MODE=local SERVER_NAME=localhost PORT=7860 MODEL_ID=openai/whisper-large-v3-turbo
UI_MODE
: 설정gradio
Gradio 인터페이스를 사용하여 다음을 설정합니다.fastapi
사용자 지정 HTML 인터페이스 사용(기본값).APP_MODE
로컬 실행은 다음과 같이 설정됩니다.local
클라우드 배포는 다음과 같이 설정됩니다.deployed
.MODEL_ID
위스퍼 모델을 지정합니다(기본값).openai/whisper-large-v3-turbo
.SERVER_NAME
서버 주소, 기본값localhost
.PORT
포트 번호, 기본값7860
.
- 프로젝트 실행
메인 프로그램을 실행합니다:python main.py
터미널에 URL이 표시됩니다(예
http://localhost:7860
Gradio 모드에서는 포트가 다를 수 있으므로 터미널 프롬프트에 주의하세요.
주요 기능
실시간 음성 녹음
- 전사 시작인터페이스를 열고 '녹음 시작' 버튼을 클릭하여 브라우저에서 마이크에 액세스할 수 있도록 권한을 부여합니다. 시스템이 자동으로 음성을 감지하여 텍스트를 표시합니다.
- 결과 보기: 필사된 텍스트가 인터페이스 텍스트 상자에 실시간으로 표시되며 최신 콘텐츠로 자동 스크롤됩니다.
- 트랜스크립션 일시 중단음성 입력을 일시 중지하려면 '중지' 버튼을 클릭합니다.
- 다음 사항에 유의하십시오.짧은 지연 시간을 보장하기 위해 프로젝트의 기본값은 배치 크기 1, 즉 수신된 모든 오디오 클립을 즉시 트랜스크립션합니다.
음성 활동 감지(VAD)
- VAD는 자동으로 음성과 무음을 구분하여 트랜스크립션 효율을 향상시킵니다. 조정 가능한 매개변수(FastRTC 설명서 참조)
https://fastrtc.org
):audio_chunk_duration
오디오 클립 길이, 기본값은 0.6초입니다.started_talking_threshold
음성 시작 임계값, 기본값은 0.2초입니다.speech_pad_ms
자동 채우기, 기본값 400밀리초.
- 수정: 편집
main.py
를 사용하거나 환경 변수를 통해 매개 변수를 전달할 수 있습니다.
인터페이스 전환
- 라디오 인터페이스빠른 테스트에 이상적인 이 인터페이스에는 녹화 버튼과 텍스트 표시 영역이 있습니다. 설정
UI_MODE=gradio
나중에 실행하여 단말기에서 표시되는 주소에 액세스합니다. - FastAPI 인터페이스: 사용자 지정을 지원하며 개발자에게 적합합니다. 수정
index.html
스타일 또는 기능을 조정할 수 있습니다. 설정UI_MODE=fastapi
실행 후 다음을 방문하세요.http://localhost:8000
.
주요 기능 작동
로컬 위스퍼 모델
- 기본 모델:
openai/whisper-large-v3-turbo
가볍고 다국어를 지원하며 뛰어난 성능을 제공합니다. - 모델 변경: 설정
MODEL_ID
예openai/whisper-small
(로우 프로파일 디바이스용). 다른 허깅 페이스 ASR 모델 지원(https://huggingface.co/models?pipeline_tag=automatic-speech-recognition
). - 언어 설정: 기본 번역은 영어이며, 다른 언어를 번역해야 하는 경우 코드에서 설정합니다.
language
매개변수(예language=zh
(중국어를 나타냄). - 실행 최적화: 첫 번째 실행은 지연 시간을 줄이기 위해 모델을 워밍업합니다. GPU 가속을 권장합니다.
다국어 지원
- 모델에 따라 영어, 중국어, 스페인어 및 기타 언어를 지원합니다.
- 구성: 설정에서
main.py
설정transcribe
작업을 클릭하고 대상 언어를 지정합니다. - 예: 중국어 음성 전사, 설정
language=zh
마이크 입력이 깨끗한지 확인하세요.
클라우드 배포
- 얼굴 공간 안아주기: 설정
APP_MODE=deployed
Turn 서버를 구성하려면 다음을 참조하세요.https://fastrtc.org/deployment/
). 코드를 업로드하고 플랫폼의 메시지에 따라 실행합니다. - 기타 플랫폼포트가 열려 있는지 확인하기 위해 WebRTC 및 서버 환경을 수동으로 구성해야 합니다.
오류 처리
- 일반적인 오류::
- "연결하지 못함": 네트워크 또는 WebRTC 구성을 확인하세요.
- "모델을 찾을 수 없음": 확인됨
MODEL_ID
맞습니다. 모델이 다운로드되었습니다. - "ffmpeg를 찾을 수 없음": 다음과 같은 경우
ffmpeg
설치 및 시스템 경로에 있습니다.
- 테스트 중 구성 요소 조정오디오 샘플 속도, 모델 로딩 상태 등을 기록하기 위해 런타임에 터미널 로그를 확인합니다.
주의
- 소프트웨어실시간 추론에 권장되는 GPU, MPS 지원
whisper-large-v3-turbo
. - 브라우저(소프트웨어)WebRTC가 제대로 작동하는지 확인하려면 Chrome 또는 Firefox를 사용하는 것이 좋습니다.
- 음성 정확도마이크 품질 및 환경에 따라 달라질 수 있으며, 조용한 환경에서 사용하는 것이 좋습니다.
애플리케이션 시나리오
- 절차
원격 또는 현장 회의에서 실시간으로 토론 내용을 기록하여 트랜스크립트를 생성하세요. 팀에서 직접 내보내고 대조할 수 있으므로 수동으로 메모할 필요가 없습니다. - 라이브 캡션
실시간 생방송에 실시간 자막을 추가하여 콘텐츠 접근성을 개선하세요. 앵커는 Gradio 인터페이스를 통해 빠르게 작업할 수 있으며 시청자는 즉시 텍스트를 볼 수 있습니다. - 언어 학습
학생들이 외국어를 연습할 때 발음을 텍스트로 변환하여 정확도를 확인할 수 있습니다. 영어, 중국어 및 기타 학습 시나리오에 적합한 다국어를 지원합니다. - 개발 역량
개발자는 프로젝트를 다른 애플리케이션에 통합하여 WebRTC 또는 ASR 기능을 테스트할 수 있습니다. 오픈 코드는 2차 개발을 지원합니다.
QA
- 네트워크가 필요한가요?
로컬 작동을 위해 인터넷 연결이 필요하지 않으며, 모델을 다운로드하여 오프라인에서 사용할 수 있습니다. 클라우드 배포에는 WebRTC를 위한 네트워크 지원이 필요합니다. - 어떤 언어가 지원되나요?
기본적으로 영어가 지원됩니다. 설정language
매개변수는 위스퍼 모델에 따라 중국어, 스페인어 등을 지원할 수 있습니다. - 전사 정확도를 높이는 방법은 무엇인가요?
고품질 마이크를 사용하고, 조용한 환경을 유지하며, 대형 모델(whisper-large-v3-turbo
). - 인터페이스를 사용자 지정할 수 있나요?
예, FastAPI 모드에서 편집 가능합니다!index.html
를 클릭하고 스타일을 조정하거나 기능을 추가합니다. - 트랜스크립션이 지연되는 이유는 무엇인가요?
하드웨어 성능 부족 또는 네트워크 문제 때문일 수 있습니다. GPU를 권장하며, WebRTC 구성을 확인하세요.
© 저작권 정책
文章版权归 AI 공유 서클 所有,未经允许请勿转载。
관련 문서
댓글 없음...