Hermes에서 음성 모드 사용
이 가이드는 음성 모드 기능 참조의 실용적인 동반자입니다.
기능 페이지에서 음성 모드가 무엇을 할 수 있는지 설명했다면, 이 가이드에서는 실제로 음성 모드를 잘 사용하는 방법을 보여줍니다.
어떤 음성 모드가 좋은가요?
음성 모드는 다음과 같은 경우에 특히 유용합니다.
- 핸즈프리 CLI 워크플로우를 원합니다
- Telegram이나 Discord에서 음성 응답을 원합니다
- 실시간 대화를 위해 Hermes가 Discord 음성 채널에 앉아 있기를 원합니다
- 타이핑하는 대신 돌아다니면서 빠른 아이디어 캡처, 디버깅 또는 앞뒤 이동을 원하는 경우
음성 모드 설정을 선택하세요
헤르메스에는 실제로 세 가지 다른 음성 경험이 있습니다.
| 모드 | 다음에 가장 적합 | 플랫폼 |
|---|---|---|
| 대화형 마이크 루프 | 코딩이나 조사 중 개인 핸즈프리 사용 | CLI |
| 채팅에서 음성 응답 | 일반 메시지와 함께 음성 응답 | 텔레그램, 디스코드 |
| 라이브 음성 채널 봇 | VC의 그룹 또는 개인 실시간 대화 | 디스코드 음성 채널 |
좋은 경로는 다음과 같습니다.
- 먼저 텍스트를 작동시키세요
- 두 번째로 음성 답장 활성화
- 완전한 경험을 원한다면 마지막으로 Discord 음성 채널로 이동하세요
1단계: 먼저 일반 Hermes가 작동하는지 확인하세요.
음성 모드를 터치하기 전에 다음을 확인하세요.
- 헤르메스 시작
- 귀하의 공급자가 구성되었습니다
- 상담원은 문자 메시지에 정상적으로 응답할 수 있습니다.
hermes
간단한 질문:
What tools do you have available?
아직 확실하지 않다면 먼저 텍스트 모드를 수정하세요.
2단계: 올바른 추가 기능 설치
CLI 마이크 + 재생
pip install "hermes-agent[voice]"
메시징 플랫폼
pip install "hermes-agent[messaging]"
프리미엄 일레븐랩스 TTS
pip install "hermes-agent[tts-premium]"
로컬 NeuTTS(선택 사항)
python -m pip install -U neutts[all]
모든 것
pip install "hermes-agent[all]"
3단계: 시스템 종속성 설치
macOS
brew install portaudio ffmpeg opus
brew install espeak-ng
우분투 / 데비안
sudo apt install portaudio19-dev ffmpeg libopus0
sudo apt install espeak-ng
이것이 중요한 이유:
portaudio→ CLI 음성 모드용 마이크 입력/재생ffmpeg→ TTS 및 메시지 전달을 위한 오디오 변환opus→ Discord 음성 코덱 지원espeak-ng→ NeuTTS용 Phonemizer 백엔드
4단계: STT 및 TTS 제공업체 선택
Hermes는 로컬 및 클라우드 음성 스택을 모두 지원합니다.
가장 쉽고 저렴한 설정
로컬 STT 및 무료 Edge TTS를 사용하세요.
- STT 제공자:
local - TTS 제공자:
edge
일반적으로 시작하기 가장 좋은 곳은 여기입니다.
환경 파일 예시
~/.hermes/.env에 추가:
# Cloud STT options (local needs no key)
GROQ_API_KEY=***
VOICE_TOOLS_OPENAI_KEY=***
# Premium TTS (optional)
ELEVENLABS_API_KEY=***
공급자 권장 사항
음성-텍스트
local→ 개인 정보 보호 및 무료 사용을 위한 최상의 기본값groq→ 매우 빠른 클라우드 전사openai→ 좋은 유료 대체
텍스트 음성 변환
edge→ 무료이며 대부분의 사용자에게 충분합니다.neutts→ 무료 로컬/기기 내 TTSelevenlabs→ 최고의 품질openai→ 좋은 중간 지점mistral→ 다국어, 네이티브 Opus
hermes setup을 사용하는 경우
설정 마법사에서 NeuTTS를 선택하면 Hermes는 neutts이 이미 설치되어 있는지 확인합니다. 누락된 경우 마법사는 NeuTTS에 Python 패키지 neutts 및 시스템 패키지 espeak-ng이 필요하다고 알리고 이를 설치하겠다고 제안한 후 플랫폼 패키지 관리자를 사용하여 espeak-ng을 설치한 후 다음을 실행합니다.
python -m pip install -U neutts[all]
해당 설치를 건너뛰거나 실패하면 마법사는 Edge TTS로 대체됩니다.
5단계: 권장 구성
voice:
record_key: "ctrl+b"
max_recording_seconds: 120
auto_tts: false
beep_enabled: true
silence_threshold: 200
silence_duration: 3.0
stt:
provider: "local"
local:
model: "base"
tts:
provider: "edge"
edge:
voice: "en-US-AriaNeural"
이는 대부분의 사람들에게 좋은 보수적 기본값입니다.
대신 로컬 TTS를 원할 경우 tts 블록을 다음으로 전환하세요.
tts:
provider: "neutts"
neutts:
ref_audio: ''
ref_text: ''
model: neuphonic/neutts-air-q4-gguf
device: cpu
사용 사례 1: CLI 음성 모드
켜세요
헤르메스 시작:
hermes
CLI 내부:
/voice on
녹음 흐름
기본 키:
Ctrl+B
작업 흐름:
Ctrl+B을 누르세요.- 말하다
- 무음 감지가 자동으로 녹음을 중지할 때까지 기다립니다.
- 헤르메스가 전사하고 응답합니다.
- TTS가 켜져 있으면 답변을 말합니다.
- 지속적인 사용을 위해 루프가 자동으로 다시 시작될 수 있습니다.
유용한 명령
/voice
/voice on
/voice off
/voice tts
/voice status
좋은 CLI 워크플로우
워크업 디버깅
말하세요:
I keep getting a docker permission error. Help me debug it.
그런 다음 핸즈프리로 계속하세요.
- "마지막 오류를 다시 읽어보세요."
- "간단한 용어로 근본 원인을 설명하십시오"
- "이제 정확한 해결책을 알려주세요."
연구/브레인스토밍
다음에 적합합니다:
- 생각하면서 돌아다니다
- 불완전한 아이디어를 받아쓰기
- Hermes에게 실시간으로 생각을 구조화하도록 요청
접근성 / 입력이 적은 세션
입력이 불편한 경우 음성 모드는 전체 Hermes 루프를 유지하는 가장 빠른 방법 중 하나입니다.
CLI 동작 튜닝
침묵의 한계점
Hermes가 너무 공격적으로 시작/중지되면 다음을 조정하세요.
voice:
silence_threshold: 250
임계값이 높을수록 민감도가 낮아집니다.
침묵 기간
문장 사이에 많이 멈춘다면 다음을 늘리세요.
voice:
silence_duration: 4.0
레코드 키
Ctrl+B이 터미널 또는 tmux 습관과 충돌하는 경우:
voice:
record_key: "ctrl+space"
사용 사례 2: Telegram 또는 Discord의 음성 응답
이 모드는 전체 음성 채널보다 간단합니다.
Hermes는 일반 채팅 봇으로 유지되지만 답변을 말할 수 있습니다.
게이트웨이 시작
hermes gateway
음성 답장 켜기
텔레그램이나 디스코드 내부:
/voice on
or
/voice tts
모드
| 모드 | 의미 |
|---|---|
off | 텍스트만 |
voice_only | 사용자가 음성을 보낼 때만 말하세요. |
all | 모든 대답을 말하라 |
언제 어떤 모드를 사용해야 하는가
/voice on음성 메시지에 대해서만 음성 응답을 원하는 경우/voice tts항상 완전한 음성 어시스턴트를 원하는 경우
좋은 메시징 작업 흐름
휴대폰의 전보 도우미
다음과 같은 경우에 사용하세요:
- 당신은 당신의 기계에서 멀리 떨어져 있습니다
- 음성 메모를 보내고 빠른 음성 응답을 받고 싶습니다.
- Hermes가 휴대용 연구 또는 작전 보조원처럼 기능하기를 원합니다.
음성 출력으로 DM을 Discord
서버 채널 언급 동작 없이 비공개 상호 작용을 원할 때 유용합니다.
사용 사례 3: Discord 음성 채널
가장 발전된 모드입니다.
Hermes는 Discord VC에 합류하여 사용자 음성을 듣고 이를 기록하고 일반 에이전트 파이프라인을 실행하고 응답을 채널에 다시 말합니다.
필수 디스코드 권한
일반적인 텍스트 봇 설정 외에도 봇이 다음을 갖추고 있는지 확인하세요.
- 연결하다
- 말하기
- 바람직하게는 음성 활동을 사용하십시오
또한 개발자 포털에서 권한 있는 의도를 활성화합니다.
- 존재 의도
- 서버 구성원 의도
- 메시지 내용 의도
가입 및 탈퇴
봇이 있는 Discord 텍스트 채널에서:
/voice join
/voice leave
/voice status
가입하면 어떻게 되나요?
- 사용자는 VC에서 말합니다.
- Hermes는 음성 경계를 감지합니다.
- 성적표는 관련 텍스트 채널에 게시됩니다.
- Hermes는 텍스트와 오디오로 응답합니다.
- 텍스트 채널은
/voice join이 발행된 채널입니다.
Discord VC 사용 모범 사례
DISCORD_ALLOWED_USERS을 단단히 유지하세요- 처음에는 전용 봇/테스트 채널을 사용하세요.
- VC 모드를 시도하기 전에 일반 텍스트 채팅 음성 모드에서 STT 및 TTS가 작동하는지 확인하세요.
음성 품질 권장 사항
최고의 품질 설정
- STT: 로컬
large-v3또는 Groqwhisper-large-v3 - TTS: 일레븐랩스
최고의 속도/편의성 설정
- STT: 로컬
base또는 Groq - TTS: 엣지
최고의 제로 비용 설정
- STT: 로컬
- TTS: 엣지
일반적인 실패 모드
"오디오 장치를 찾을 수 없습니다"
portaudio을 설치합니다.
"봇이 참여했지만 아무 소리도 듣지 못합니다"
확인:
- 귀하의 Discord 사용자 ID는
DISCORD_ALLOWED_USERS에 있습니다. - 당신은 음소거되지 않았습니다
- 권한 있는 의도가 활성화되었습니다.
- 봇에는 연결/말하기 권한이 있습니다
"기록은 되지만 말하지는 않습니다"
확인:
- TTS 공급자 구성
- ElevenLabs 또는 OpenAI에 대한 API 키/할당량
ffmpegEdge 변환 경로용 설치
"속삭임은 쓰레기를 낳는다"
시도해 보세요:
- 더 조용한 환경
- 더 높은
silence_threshold - 다른 STT 제공업체/모델
- 더 짧고 명확한 발언
"DM에서는 작동하지만 서버 채널에서는 작동하지 않습니다."
그것은 종종 정책을 언급하는 것입니다.
기본적으로 달리 구성하지 않는 한 봇은 Discord 서버 텍스트 채널에 @mention이 필요합니다.
첫 주 설정 제안
성공으로 가는 최단 경로를 원한다면:
- Hermes에게 문자 메시지를 보내줘
hermes-agent[voice]설치- 로컬 STT + Edge TTS와 함께 CLI 음성 모드 사용
- 그런 다음 Telegram 또는 Discord에서
/voice on을 활성화하세요. - 그 후에 Discord VC 모드를 사용해 보세요
이러한 진행은 디버깅 표면을 작게 유지합니다.