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
Build from source code
git clone https://github.com/ggml-org/llama.cpp.git cd llama.cpp cmake -B build cmake --build build -j --target llama-app # Start a local OpenAI-compatible server with a web UI: ./build/bin/llama serve -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
- Llama new
- 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
-
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
-
更新API文档
liumaolin5258538 -
调整prompt的逻辑,确保展示的提示词中不包含/no_think指令
liumaolin22a06c4 -
添加设置相关的API路由
liumaolin- 支持用户自定义提示词的获取、更新和重置功能 - 同时更新应用数据存储路径的获取逻辑。15ab478
-
Remove `speech_monitor` dependency from `asr_worker` service definition.
liumaolin5cf0dbe -
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
-
Refactor to replace `EchoCancellingAudioCapture` with `AudioCapture` across the codebase for improved clarity and flexibility
liumaolin7437d6d
-
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
-
Update static file routing and root endpoint for frontend integration
liumaolin- Change static file mount point to `/app` with HTML support. - Replace root endpoint's `FileResponse` with `RedirectResponse` to `/app/`. - Update server availability check URL in Electron app to align with new routing.f7b034a
-
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 -
Remove `voice_schemas.py` and refactor schema imports for TTS and ASR modules in `__init__.py`
liumaolin4895dc2 -
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 -
Refactor project: split `main.py` functionality into modular components under `cli`, `core`, and `config`.
liumaolind08a15b -
Increase service startup timeouts and set daemon mode for services.
liumaolin61524a8
-
Rename 'src/VoiceDialogue' to 'src/voice_dialogue'.
liumaolin511ff0c