Text-to-Speech
Transformers
ONNX
GGUF
Chinese
English
voice-dialogue
speech-recognition
large-language-model
asr
tts
llm
chinese
english
real-time
conversational
Instructions to use MoYoYoTech/VoiceDialogue with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use MoYoYoTech/VoiceDialogue with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-to-speech", model="MoYoYoTech/VoiceDialogue")# pip install -U transformers accelerate # Load model directly from transformers import AutoModel model = AutoModel.from_pretrained("MoYoYoTech/VoiceDialogue", device_map="auto") - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use MoYoYoTech/VoiceDialogue with llama.cpp:
Install (macOS, Linux)
curl -LsSf https://llama.app/install.sh | sh # Start a local OpenAI-compatible server with a web UI: llama serve -hf MoYoYoTech/VoiceDialogue:Q6_K # Run inference directly in the terminal: llama cli -hf MoYoYoTech/VoiceDialogue:Q6_K
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf MoYoYoTech/VoiceDialogue:Q6_K # Run inference directly in the terminal: llama cli -hf MoYoYoTech/VoiceDialogue:Q6_K
Use pre-built binary
# Download pre-built binary from: # https://github.com/ggerganov/llama.cpp/releases # Start a local OpenAI-compatible server with a web UI: ./llama-server -hf MoYoYoTech/VoiceDialogue:Q6_K # Run inference directly in the terminal: ./llama-cli -hf MoYoYoTech/VoiceDialogue:Q6_K
Build from source code
git clone https://github.com/ggerganov/llama.cpp.git cd llama.cpp cmake -B build cmake --build build -j --target llama-server llama-cli # Start a local OpenAI-compatible server with a web UI: ./build/bin/llama-server -hf MoYoYoTech/VoiceDialogue:Q6_K # Run inference directly in the terminal: ./build/bin/llama-cli -hf MoYoYoTech/VoiceDialogue:Q6_K
Use Docker
docker model run hf.co/MoYoYoTech/VoiceDialogue:Q6_K
- LM Studio
- Jan
- Ollama
How to use MoYoYoTech/VoiceDialogue with Ollama:
ollama run hf.co/MoYoYoTech/VoiceDialogue:Q6_K
- Unsloth Desktop
- Pi
How to use MoYoYoTech/VoiceDialogue with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf MoYoYoTech/VoiceDialogue:Q6_K
Configure the model in Pi
# Install Pi: npm install -g @earendil-works/pi-coding-agent # Add to ~/.pi/agent/models.json: { "providers": { "llama-cpp": { "baseUrl": "http://localhost:8080/v1", "api": "openai-completions", "apiKey": "none", "models": [ { "id": "MoYoYoTech/VoiceDialogue:Q6_K" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Docker Model Runner
How to use MoYoYoTech/VoiceDialogue with Docker Model Runner:
docker model run hf.co/MoYoYoTech/VoiceDialogue:Q6_K
- Lemonade
How to use MoYoYoTech/VoiceDialogue with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull MoYoYoTech/VoiceDialogue:Q6_K
Run and chat with the model
lemonade run user.VoiceDialogue-Q6_K
List all available models
lemonade list
- Hermes Agent
How to use MoYoYoTech/VoiceDialogue with Hermes Agent:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf MoYoYoTech/VoiceDialogue:Q6_K
Configure Hermes
# Install Hermes: curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash hermes setup # Point Hermes at the local server: hermes config set model.provider custom hermes config set model.base_url http://127.0.0.1:8080/v1 hermes config set model.default MoYoYoTech/VoiceDialogue:Q6_K
Run Hermes
hermes
- Atomic Chat
- OpenClaw
How to use MoYoYoTech/VoiceDialogue with OpenClaw:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf MoYoYoTech/VoiceDialogue:Q6_K
Configure OpenClaw
# Install OpenClaw: npm install -g openclaw@latest # Register the local server and set it as the default model: openclaw onboard --non-interactive --mode local \ --auth-choice custom-api-key \ --custom-base-url http://127.0.0.1:8080/v1 \ --custom-model-id "MoYoYoTech/VoiceDialogue:Q6_K" \ --custom-provider-id llama-cpp \ --custom-compatibility openai \ --custom-text-input \ --accept-risk \ --skip-health
Run OpenClaw
openclaw agent --local --agent main --message "Hello from Hugging Face"
Commit History
-
Add audio output device (speaker) selection
hzeng412 +1: Claude Fable 5- devices.py: enumerate output devices, default lookup, validation - player.py: PyAudio playback path for an explicit output device with sample-rate fallback (soxr resample); default device keeps playsound - AudioPlayerService reads the saved output index per sentence, so a settings change applies to the next utterance without restart - API: /system/audio-devices now includes output devices; POST /system/audio-output-device persists immediately; /system/start accepts output_device_index - UI: speaker select in settings (main tab), persisted in store, sent on start Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>a3bf559 -
Show the active ASR engine in the UI
hzeng412 +1: Claude Fable 5- New GET /api/v1/system/asr-engine returns language mappings + display name - Welcome page: glass chip left of the settings button with the engine name - About tab: ASR model line and repo links now reflect the running engine (Qwen3-ASR-1.7B vs FunASR Paraformer + Whisper medium) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>c3f5082
-
Add external mic array support, UI i18n, glass settings redesign, and fixes
hzeng412 +1: Claude Opus 4.8 (1M context)Backend: - Audio: input-device selection + multichannel downmix/resample to 16k mono (devices.py, pyaudio_capture.py); facade routes default-device to native macOS AEC, external device to PyAudio (capture/__init__.py) - API: GET /system/audio-devices, input_device_index in /system/start with persistence (audio_config.py); default system/ASR language set to Chinese (lifespan.py) - CLI: --input-device and --list-audio-devices Frontend: - vue-i18n setup (en/zh), default UI + ASR language Chinese - Unified tabbed Settings dialog (Main/Language/Prompt) replacing scattered modals; fixed-height tabs; mic + interface/recognition language icons - Liquid-glass styling (frosted modal, glass buttons, smooth ant-fade open with backdrop-blur background) - Wider caption area; unified bottom action-button height across Welcome and Home Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>afd6c89
-
refactor(core): Architecturally decouple Audio, ASR, and TTS modules
liumaolinThis major refactoring decouples core functionalities from the services layer, establishing clearer architectural boundaries and improving modularity. The changes adhere to the principles of Separation of Concerns and single-responsibility, making the system more maintainable and extensible. Key changes include: 1. **Decoupled Audio Subsystem (Strategy Pattern)**: - The monolithic `AudioCapture` class has been split into multiple, single-responsibility components within the `audio/` directory. - `base_capture.py` introduces an abstract base class for all capture strategies. - `pyaudio_capture.py` and `aec_capture.py` provide concrete implementations for standard and echo-cancelled audio capture. - The main `capture.py` now acts as a Facade, selecting the appropriate capture strategy at runtime, hiding implementation details from the rest of the application. 2. **Introduced PlayerService to Separate Concerns**: - Resolved a reverse dependency where `audio/player…60f8238
-
添加获取TTS模型参考音频的API路由,支持通过模型ID获取音频文件。
liumaolin226effc
-
调整prompt的逻辑,确保展示的提示词中不包含/no_think指令
liumaolin22a06c4 -
添加设置相关的API路由
liumaolin- 支持用户自定义提示词的获取、更新和重置功能 - 同时更新应用数据存储路径的获取逻辑。15ab478
-
Add echo cancellation and VAD toggle support in service factories and routes
liumaolin- Extend `create_audio_capture` and `create_speech_monitor` methods to include `enable_echo_cancellation` and `enable_vad` options. - Update service definitions and health checks to pass configuration dynamically. - Add `SystemStartRequest` schema to support echo cancellation toggle during system startup. - Adjust `_start_system_background` logic to initialize services based on the new toggles.2ecfa8f
-
Enhance WebSocket handling for connection management and reliability
liumaolin- Add message broadcasting support to `WebSocketConnectionManager`. - Improve connection cleanup for disconnected clients. - Refine WebSocket endpoint to handle client disconnects and queue tasks more gracefully.b115e26 -
Refactor WebSocket handling with connection manager
liumaolin- Introduce `WebSocketConnectionManager` for centralized connection tracking and session management. - Add support for session-specific connection handling and message broadcasting. - Implement `websocket_connection_context` to streamline connection lifecycle management. - Update WebSocket endpoint to utilize the connection manager for improved reliability and efficiency.300d567
-
Replace `logging` with centralized `loguru`-based logger across all modules.
liumaolin851495c
-
Add robust lifecycle management for `audio_player` service in system routes
liumaolin- Implement `stop` and `resume` functionality for `audio_player` with timeout handling. - Add readiness checks and informative logging to ensure service stability during start and stop operations. - Allow system continuation even if `audio_player` encounters errors or is unavailable.627c3e7 -
Standardize service lifecycle management by replacing `stop` with `exit` and introducing `is_exited` check
liumaolin- Replace `stopped` with `is_exited` across all services for consistency and clarity. - Add `_exit_event` in `core/base.py` for improved control over service termination. - Update related methods and properties across audio, text, and speech services. - Refactor system routes to align with new service lifecycle methods.f5226c0 -
Refactor speech recognizer, audio capture, and system routes for improved clarity and functionality
liumaolin- Update `speech/recognizer.py` to handle empty queue exceptions. - Replace `pause_event` with `_pause_event` in `audio/capture.py` for consistency. - Cleanup and standardize formatting in `system_routes.py`.037e5ae -
Add pause and resume functionality to voice dialogue system
liumaolin- Implement `pause` and `resume` methods in audio capture service. - Add `/pause` and `/resume` API endpoints to manage system state. - Update system schema to include `paused` and `resuming` statuses.d701b8a
-
Rename 'src/VoiceDialogue' to 'src/voice_dialogue'.
liumaolin511ff0c