일반 소개
RealtimeVoiceChat은 음성을 통한 인공 지능과의 실시간 자연스러운 대화에 중점을 둔 오픈 소스 프로젝트입니다. 사용자가 마이크를 사용하여 음성을 입력하면 시스템이 브라우저를 통해 오디오를 캡처하여 텍스트, 대규모 언어 모델(LLM)로 빠르게 변환하여 응답을 생성한 다음 텍스트를 음성 출력으로 변환하여 전체 프로세스가 실시간에 가깝습니다. 이 프로젝트는 짧은 대기 시간에 중점을 둔 클라이언트-서버 아키텍처를 채택하고 WebSocket 스트리밍 및 동적 대화 관리를 지원합니다. 도커 배포를 제공하고, 리눅스 시스템과 엔비디아 GPU 환경에서 실행할 것을 권장하며, 리얼타임STT, 리얼타임TTS 및 Ollama 및 개발자가 음성 상호작용 애플리케이션을 구축하는 데 적합한 기타 기술입니다.

기능 목록
- 실시간 음성 상호작용사용자가 브라우저 마이크를 통해 음성을 입력하면 시스템이 이를 실시간으로 전사하여 음성 응답을 생성합니다.
- 짧은 지연 시간 처리WebSocket을 사용하여 오디오를 스트리밍하여 음성 대 텍스트 및 텍스트 대 음성 대기 시간을 0.5~1초로 최적화합니다.
- 음성 텍스트 변환(STT)동적 트랜스 크립 션을 지원하는 RealtimeSTT(Whisper 기반)를 사용하여 음성을 텍스트로 빠르게 변환합니다.
- 텍스트 음성 변환(TTS)음성 스타일 선택이 가능한 RealtimeTTS(코키, 코코로, 오르페우스 지원)를 통해 자연스러운 음성을 생성합니다.
- 지능형 대화 관리유연한 대화 생성 및 인터럽트 처리를 지원하기 위해 Ollama 또는 OpenAI의 언어 모델을 통합합니다.
- 동적 음성 감지통해
turndetect.py
지능형 무음 감지를 활성화하고 대화의 리듬에 맞춰 조정합니다. - 웹 인터페이스깔끔한 브라우저 인터페이스를 제공하고, 바닐라 JS와 웹 오디오 API를 사용하며, 실시간 피드백을 지원합니다.
- 도커 배포Docker Compose를 통한 간소화된 설치, GPU 가속 및 모델 관리 지원.
- 모델 사용자 지정음성 및 대화 매개변수를 조정하기 위해 STT, TTS 및 LLM 모델 간 전환을 지원합니다.
- 오픈 소스 및 확장 가능이 코드는 공개적으로 사용 가능하며 개발자는 자유롭게 기능을 수정하거나 확장할 수 있습니다.
도움말 사용
설치 프로세스
RealtimeVoiceChat은 도커 배포(권장)와 수동 설치를 모두 지원하며, 도커 방식은 Linux 시스템, 특히 NVIDIA GPU가 있는 환경에 적합하고 수동 설치는 Windows 또는 더 많은 제어가 필요한 시나리오에 적합합니다. 자세한 단계는 다음과 같습니다:
Docker 배포(권장)
도커 엔진, 도커 컴포즈 v2+ 및 엔비디아 컨테이너 툴킷(GPU 사용자)이 필요합니다. 최상의 GPU 지원을 위해 Linux 시스템을 권장합니다.
- 클론 창고::
git clone https://github.com/KoljaB/RealtimeVoiceChat.git cd RealtimeVoiceChat
- 도커 이미지 구축::
docker compose build
이 단계에서는 기본 이미지를 다운로드하고, Python 및 머신 러닝 종속 요소를 설치하며, 기본 STT 모델(Whisper
base.en
). 시간이 오래 걸리므로 네트워크가 안정적인지 확인하세요. - 서비스 시작::
docker compose up -d
컨테이너가 백그라운드에서 실행 중인 상태에서 애플리케이션과 Ollama 서비스를 시작합니다. 초기화가 완료될 때까지 1~2분 정도 기다립니다.
- 풀 올라마 모델::
docker compose exec ollama ollama pull hf.co/bartowski/huihui-ai_Mistral-Small-24B-Instruct-2501-abliterated-GGUF:Q4_K_M
이 명령은 기본 언어 모델을 가져옵니다. 사용자는 기본 언어 모델은
code/server.py
수정LLM_START_MODEL
를 클릭하여 다른 모델을 사용하세요. - 모델 사용성 검증::
docker compose exec ollama ollama list
모델이 올바르게 로드되었는지 확인합니다.
- 서비스 중지 또는 다시 시작::
docker compose down # 停止服务 docker compose up -d # 重启服务
- 로그 보기::
docker compose logs -f app # 查看应用日志 docker compose logs -f ollama # 查看 Ollama 日志
수동 설치(Windows/Linux/macOS)
수동 설치에는 Python 3.9 이상, CUDA 12.1(GPU 사용자) 및 FFmpeg가 필요합니다. Windows 사용자는 제공된 install.bat
스크립트는 프로세스를 간소화합니다.
- 기본 종속성 설치::
- Python 3.9 이상이 설치되어 있는지 확인합니다.
- GPU 사용자는 NVIDIA CUDA 툴킷 12.1 및 cuDNN을 설치합니다.
- FFmpeg를 설치합니다:
# Ubuntu/Debian sudo apt update && sudo apt install ffmpeg # Windows (使用 Chocolatey) choco install ffmpeg
- 리포지토리 복제 및 가상 환경 만들기::
git clone https://github.com/KoljaB/RealtimeVoiceChat.git cd RealtimeVoiceChat python -m venv venv # Linux/macOS source venv/bin/activate # Windows .\venv\Scripts\activate
- PyTorch 설치(하드웨어와 일치하는)::
- GPU(CUDA 12.1):
pip install torch==2.5.1+cu121 torchaudio==2.5.1+cu121 torchvision --index-url https://download.pytorch.org/whl/cu121
- CPU(성능 저하):
pip install torch torchaudio torchvision
- GPU(CUDA 12.1):
- 추가 종속성 설치::
cd code pip install -r requirements.txt
참고: DeepSpeed는 설치가 복잡할 수 있으며, Windows 사용자는 다음을 통해 설치할 수 있습니다.
install.bat
자동 처리. - Ollama 설치(비도커 사용자)::
- 설치 방법은 Ollama 공식 문서를 참조하세요.
- 모델을 당깁니다:
ollama pull hf.co/bartowski/huihui-ai_Mistral-Small-24B-Instruct-2501-abliterated-GGUF:Q4_K_M
- 애플리케이션 실행::
python server.py
주의
- 하드웨어 요구 사항낮은 지연 시간을 보장하기 위해 NVIDIA GPU(최소 8GB RAM)를 권장하며, CPU 작동으로 인해 성능이 크게 저하될 수 있습니다.
- Docker 구성수정 : 수정
code/*.py
어쩌면docker-compose.yml
그렇게 하려면 먼저 다음을 다시 실행해야 합니다.docker compose build
. - 라이선스 준수TTS 엔진(예: Coqui XTTSv2)과 LLM 모델에는 별도의 라이선스가 있으며 해당 약관의 적용을 받습니다.
워크플로
- 웹 인터페이스에 액세스하기::
- 브라우저를 열고 다음 사이트를 방문하세요.
http://localhost:8000
(또는 원격 서버 IP)를 입력합니다. - 마이크 권한을 부여하고 '시작'을 클릭하여 대화를 시작합니다.
- 브라우저를 열고 다음 사이트를 방문하세요.
- 음성 상호작용::
- 마이크에 대고 말하면 시스템이 웹 오디오 API를 통해 오디오를 캡처합니다.
- 오디오는 웹소켓을 통해 백엔드로 전송되고, RealtimeSTT는 텍스트로 변환되며, Ollama/OpenAI가 응답을 생성하고, RealtimeTTS는 음성으로 변환되어 브라우저를 통해 재생됩니다.
- 대화 지연은 일반적으로 0.5~1초이며, 언제든지 중단 및 계속을 지원합니다.
- 실시간 피드백::
- 인터페이스에는 부분적으로 전사된 텍스트와 AI 응답이 표시되어 사용자가 대화를 쉽게 따라갈 수 있습니다.
- '중지'를 클릭하여 대화를 종료하고 '초기화'를 클릭하여 기록을 지울 수 있습니다.
- 구성 조정::
- TTS 엔진: in
code/server.py
설정START_ENGINE
(예coqui
및kokoro
및orpheus
)를 클릭하고 음성 스타일을 조정합니다. - LLM 모델수정 : 수정
LLM_START_PROVIDER
노래로 응답LLM_START_MODEL
다음은 Ollama의 가장 인기 있는 기능 중 일부입니다. - STT 매개변수: in
code/transcribe.py
중앙 무대 조정 Whisper 모델링, 언어 또는 침묵 임계값. - 침묵 감지: in
code/turndetect.py
수정silence_limit_seconds
(기본값 0.2초)를 설정하여 대화 속도를 최적화할 수 있습니다.
- TTS 엔진: in
- 디버깅 및 최적화::
- 로그 보기:
docker compose logs -f
(도커)를 사용하거나server.py
출력. - 성능 문제: CUDA 버전 일치 확인, 감소
realtime_batch_size
또는 경량 모델을 사용하세요. - 네트워크 구성: HTTPS가 필요한 경우 다음을 설정합니다.
USE_SSL = True
를 클릭하고 인증서 경로를 입력합니다(공식 SSL 구성 참조).
- 로그 보기:
주요 기능 작동
- 저지연 스트리밍 처리웹소켓을 통한 오디오 청킹, 실시간STT 및 실시간TTS와 결합하여 대기 시간이 0.5초로 짧습니다. 사용자는 기다릴 필요 없이 원활하게 대화할 수 있습니다.
- 동적 대화 관리::
turndetect.py
말의 끝을 지능적으로 감지하여 자연스러운 중단을 지원합니다. 예를 들어 사용자가 언제든지 중단할 수 있으며 시스템이 일시 정지하여 새로운 입력을 생성하고 처리합니다. - 웹 인터페이스 상호 작용브라우저 인터페이스는 바닐라 JS와 웹 오디오 API를 사용하여 실시간 트랜스크립션 및 응답 표시를 제공합니다. 사용자는 '시작/중지/재설정' 버튼으로 대화를 제어할 수 있습니다.
- 모델링 유연성TTS 엔진(코키/코코로/오르페우스) 및 LLM 백엔드(올라마/오픈AI) 전환 지원. 예를 들어, TTS 전환:
START_ENGINE = "kokoro" # 在 code/server.py 中修改
- 도커 관리이 서비스는 Docker Compose를 통해 관리되며, 모델 업데이트만 필요합니다:
docker compose exec ollama ollama pull <new_model>
애플리케이션 시나리오
- AI 음성 상호작용 연구
개발자는 RealtimeSTT, RealtimeTTS 및 LLM의 통합을 테스트하여 지연 시간이 짧은 음성 상호작용의 최적화를 탐색할 수 있습니다. 오픈 소스 코드는 사용자 지정 매개변수를 지원하며 학술 연구에 적합합니다. - 지능형 고객 서비스 프로토타입
기업은 이 프로젝트를 기반으로 음성 고객 서비스 시스템을 개발할 수 있습니다. 사용자가 음성으로 질문하면 시스템이 기술 지원이나 제품 상담과 같은 일반적인 질문에 실시간으로 답변합니다. - 언어 학습 도구
교육 기관은 다국어 TTS 기능을 사용하여 음성 대화 연습 도구를 개발할 수 있습니다. 학생들은 AI와 대화하며 발음과 대화를 연습하고, 시스템은 실시간 피드백을 제공합니다. - 개인 음성 어시스턴트
기술 애호가는 개인 엔터테인먼트 또는 소규모 프로젝트를 위해 지능형 비서를 시뮬레이션하여 AI와 자연스러운 음성 상호 작용을 경험하는 프로젝트를 배포할 수 있습니다.
QA
- 어떤 하드웨어 지원이 필요하나요?
NVIDIA GPU(최소 8GB의 비디오 메모리) 및 CUDA 12.1이 설치된 Linux 시스템 권장. CPU는 원활하게 실행되지만 지연 시간이 길어질 수 있습니다. 최소 요구 사항: Python 3.9 이상, 8GB RAM. - Docker 배포 문제를 해결하는 방법은 무엇인가요?
도커, 도커 컴포즈 및 NVIDIA 컨테이너 툴킷이 올바르게 설치되었는지 확인합니다. 확인docker-compose.yml
를 클릭하여 로그를 확인합니다:docker compose logs -f
. - 음성 또는 모델 간에 전환하려면 어떻게 하나요?
수정code/server.py
정곡을 찌르세요START_ENGINE
(TTS) 또는LLM_START_MODEL
(LLM). Docker 사용자는 모델을 다시 풀링해야 합니다:docker compose exec ollama ollama pull <model>
. - 어떤 언어가 지원되나요?
RealtimeTTS는 여러 언어(예: 영어, 중국어, 일본어)를 지원하며, 이러한 언어는code/audio_module.py
에서 언어 및 음성 모델을 지정합니다.
© 저작권 정책
기사 저작권 AI 공유 서클 모두 무단 복제하지 마세요.
관련 문서
댓글 없음...