일반 소개
xiaozhi-esp32-server는 새로운 서버입니다. 샤오지 AI 챗봇(xiaozhi-esp32)백엔드 서비스를 위한 도구 제공 . 파이썬으로 작성되었으며 웹소켓 프로토콜을 기반으로 하여 사용자가 ESP32 장치를 제어하는 서버를 빠르게 구축할 수 있도록 도와줍니다. 이 프로젝트는 이미 ESP32 하드웨어를 구입하여 백엔드를 직접 구축하려는 사람들에게 적합합니다. 음성 대화 지원, 다국어 인식 및 스마트 홈 제어와 같은 매우 실용적인 기능을 제공합니다. 이 프로젝트는 2025년 3월에 마지막으로 업데이트된 GitHub의 오픈 소스이며, 자세한 공식 문서와 활발한 커뮤니티가 있습니다. 아직 개발 중이므로 프로덕션 환경에서 직접 사용하지 않는 것이 좋습니다.

기능 목록
- 웹소켓 통신: xiaozhi-esp32 프로토콜을 사용하여 하드웨어와 실시간으로 데이터를 교환합니다.
- 음성 대화깨우기 대화, 수동 대화 및 실시간 중단이 지원되며, 장시간 사용하지 않을 경우 자동으로 최대 절전 모드로 전환됩니다.
- 의도 인식: 큰 모델로 사용자의 의도를 인식하고 함수를 호출하여 명령을 실행할 수도 있습니다.
- 다국어 지원중국어, 광동어, 영어, 일본어, 한국어를 기본적으로 FunASR로 이해할 수 있습니다.
- 언어 모델 전환ChatGLM: ChatGLM이 기본으로 사용되지만 Alibaba Refinement, DeepSeek 등도 지원합니다.
- 음성 합성자연스러운 음성을 생성하기 위해 EdgeTTS 및 Volcano 엔진 TTS를 지원합니다.
- 메모리 모드매우 긴 메모리, 로컬 요약 및 메모리 없음의 세 가지 옵션이 있습니다.
- 스마트 홈 제어홈 어시스턴트에 연결하여 가전 제품을 켜고 끌 수 있습니다.
도움말 사용
설치 프로세스
xiaozhi-esp32-server를 사용하려면 하드웨어와 환경을 준비해야 합니다. 단계는 다음과 같습니다:
1. 준비 작업
- 소프트웨어xiaozhi-esp32 펌웨어를 지원하는 ESP32 장치, 참조.공식 목록.
- 노트북4코어 CPU, 8GB RAM을 권장합니다. API를 사용하여 음성 인식을 실행하는 경우 2코어, 2GB도 작동합니다.
- 하드웨어파이썬 3.10과 Conda를 설치합니다.
2. 프로젝트 다운로드
- https://github.com/xinnan-tech/xiaozhi-esp32-server 을 엽니다.
- "코드"를 클릭하고 "ZIP 다운로드"를 선택하여 다운로드합니다.
- 압축을 풀고 폴더 이름을 "xiaozhi-esp32-server"로 변경합니다.
3. Conda 환경 구성하기
- 명령줄을 열고 실행합니다:
conda create -n xiaozhi-esp32-server python=3.10 -y
conda activate xiaozhi-esp32-server
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
conda install libopus -y
conda install ffmpeg -y
- 각 단계의 출력을 확인하여 오류가 보고되지 않았는지 확인하세요.
4. 종속성 설치
- 프로젝트 폴더로 이동합니다:
cd xiaozhi-esp32-server/main/xiaozhi-server
- 국내 소스를 설정하고 설치합니다:
pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/
pip install -r requirements.txt
5. 모델 다운로드
- 기본적으로 FunASR 음성 인식이 사용됩니다. 공식 가이드라인(README 참조)으로 이동하여 '모델' 폴더에 모델을 다운로드하세요.
- "SenseVoiceSmall" 폴더에서 "model.pt"가 있는지 확인하고 없는 경우 다운로드하세요.
6. 구성 수정
- "config.yaml" 파일을 열고 설정을 조정합니다:
- 언어 모델기본 ChatGLM, 다음과 같이 변경할 수 있습니다. DeepSeek 또는 홈 어시스턴트.
- 음성 합성기본 EdgeTTS, 교체 가능한 볼케이노 엔진 TTS.
- 침묵의 시간put
min_silence_duration_ms
1000으로 조정합니다(천천히 말하기). - 파일을 저장합니다.
7. 서버 시작하기
- "xiaozhi-server" 폴더에서 실행합니다:
python main.py
- "서버가 포트 8000에서 실행 중입니다."라는 메시지가 표시되면 성공한 것입니다.
8. 펌웨어 업데이트
- 서버 주소(예
http://你的IP:8000
)가 xiaozhi-esp32 펌웨어에 기록됩니다. - 를 누릅니다.펌웨어 컴파일 가이드라인다시 컴파일하고 굽습니다.
기타 배포 방식
- Docker 신속한 배포: 초보자에게 적합합니다. 달리기
docker pull xinnan-tech/xiaozhi-esp32-server
를 클릭하고 시작 지침을 따르세요. - 도커 소스 코드 실행코드를 변경하는 분들을 위한 도움말입니다. 먼저 Docker를 설치한 다음 공식 문서에 따라 프로젝트를 실행하세요.
- 자세한 내용은 다음을 참조하세요.배포 문서.
기능 작동
음성 대화
- 깨어남깨우기 단어(펌웨어에 설정됨)를 말하면 서버가 응답합니다.
- 수동 트리거: 장치 버튼을 눌러 대화를 시작합니다.
- 끊다통화 중 중단은 기기에서 즉시 처리합니다.
- 작동 방법: 장치에 "안녕하세요"라고 말하고 응답을 듣습니다.
다국어 인식
- 5개 언어가 지원됩니다. 우선 순위는 설정 파일에서 조정할 수 있습니다.
- 작동: "안녕하세요" 또는 "코니치와"라고 말하면 기기가 알아듣습니다.
음성 합성
- TTS를 구성하면 텍스트가 음성으로 바뀝니다.
- 동작: 테스트 스크립트로 '오늘의 날씨'를 입력하면 기기가 이를 읽어줍니다.
- 토글: 구성 파일에서 TTS 인터페이스를 변경합니다.
스마트 홈
- 홈 어시스턴트 연결토큰을 입력합니다.
- 작동: "조명 켜줘"라고 말하면 조명이 켜집니다.
- 테스트: 실행
python performance_tester.py
속도를 확인합니다.
주의
- 망상안정성을 유지하기 위해 WebSocket은 실시간 연결에 의존합니다.
- 보증인개방형 보호를 위한 공용 네트워크 배포(
auth: enabled: true
). - 테스트 중 구성 요소 조정명령줄 로그를 보고 문제를 해결하세요.
애플리케이션 시나리오
- 스마트 홈
- 홈 어시스턴트에 연결하고 "에어컨 꺼줘"라고 말하면 에어컨이 작동을 멈춥니다.
- 음성 어시스턴트
- 테이블 위에 올려놓고 "내일 날씨"라고 물어보면 알려줍니다.
- 언어 연습
- 영어 회화, 발음 연습을 도와주는 장치입니다.
QA
- 왜곡된 언어를 인식하는 것은 어떨까요?
- "models/SenseVoiceSmall"에서 "model.pt"를 확인합니다. 그렇지 않은 경우가이드 라인다운로드.
- 파일이 존재하지 않는다는 TTS 오류가 발생했나요?
- 확인되었습니다.
libopus
노래로 응답ffmpeg
. 로딩 없이 실행합니다.conda install conda-forge::libopus
노래로 응답conda install conda-forge::ffmpeg
.
- 응답이 너무 느리면 어떻게 하나요?
- AliLLM + DoubaoTTS와 같은 더 빠른 모델로 전환합니다.
python performance_tester.py
측정합니다.
- 말이 느려서 말을 빼앗기면 어떻게 하나요?
- "config.yaml"에 다음을 입력합니다.
min_silence_duration_ms
1000으로 변경합니다.
- 기기를 어떻게 제어하나요?
- 구성에서 홈 어시스턴트를 선택하고 토큰을 입력한 다음 명령을 말합니다.
© 저작권 정책
이 글은 저작권이 있으며 무단으로 복제해서는 안 됩니다.
관련 문서
댓글 없음...