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
-
Clean input text in MoYoYo TTS by removing punctuation for better processing
liumaolin8587958 -
Refactor LlamaCpp initialization to simplify parameter handling and remove unused callback manager
liumaolin941bf07 -
Enable debug mode with global configuration and detailed task logging when active
liumaoline0f42b2
-
Reset task ID in speech recognizer for empty transcriptions to prevent errors
liumaolin2291ed2 -
Add new voice model "Doubao" to MoYoYo configuration
liumaolin- Include model details, inference parameters, and related files. - Add reference audio and pretrained weights for TTS.7b003c4
-
Update performance logging format in TTS player for improved structure and readability
liumaolind0c1c61 -
Enhance launcher startup log formatting for improved readability and visual appeal
liumaolinfa296dd -
Remove commented-out performance logging code from TTS player
liumaolinc3e85a2
-
Add new voice model "Ellen" to MoYoYo configuration
liumaolin- Include model details, inference parameters, and related files. - Add reference audio and pretrained weights for TTS.b5b48f0
-
Update MoYoYo TTS prompt text for improved relevance and clarity
liumaolin8228973 -
Improve speech recognizer to handle empty transcriptions
liumaolin0cbda14 -
Simplify system prompts for text generation in Chinese and English
liumaolin- Remove unnecessary "thinking process" phrases to streamline responses. - Adjust prompt guidelines for improved brevity, accuracy, and conversational flow.c545fd9 -
Add new voice model "Juniper" to MoYoYo configuration
liumaolin- Include model details, inference parameters, and related files. - Add reference audio and pretrained weights for TTS.469433f
-
Standardize punctuation for system prompts in both Chinese and English text generation modules.
liumaolinbedd7b8 -
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 -
Add session validation checks to `player.py` and `generator.py`
liumaolin- Ensure voice tasks are processed only for the current session by comparing `session_id`. - Break or skip processing if the session ID mismatches.29766c6 -
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 -
Refactor response generation logic in `generator.py`
liumaolin- Adjust sentence length evaluation for end mark conditions. - Update chunk filtering to handle `<think>` and newline tags consistently. - Fix inconsistency in sentence preprocessing with remaining content handling. - Clean up unnecessary whitespace in method definitions.ce3d9e5 -
Remove unused conditional logic for second answer handling in `player.py` and `generator.py`
liumaolinc1b24fd -
Adjust context window allocation logic based on memory tiers in `apple_silicon.py`
liumaolinfd3c30a
-
Comment out unused Kokoro TTS voice configurations
liumaolin23c146f -
Add Maple and Cove voice models to MoYoYo TTS configuration
liumaolin- Introduce two new voice models: Maple (轻松坦率) and Cove (沉稳直率). - Configure model repositories, parameters, and corresponding inference settings. - Add associated model files, including GPT weights, SoVITS weights, and reference audios.7e92ad3 -
Introduce Apple Silicon hardware optimization and dynamic LLM configuration
liumaolin- Add `llm_config.py` to manage LLM model parameters dynamically via Apple Silicon detection. - Implement `apple_silicon.py` utility to retrieve and summarize hardware specifications. - Refactor `generator.py` to leverage dynamic parameter fetching and optimize threading for performance cores. - Enhance `system.py` with `is_apple_silicon` check and augment system info output.bdc3b7b
-
Update LLM response generator and system prompts
liumaolin- Add "/no_think" directive to English and Chinese system prompts. - Handle `<think>` and `</think>` tags in response chunk processing. - Update LLM model file to `Qwen3-8B-Q6_K.gguf`. - Adjust model parameters: increase context length, modify temperature, top_p, and top_k, and include `presence_penalty`.6f77a29
-
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
-
Refactor imports in `whisper.py` and `funasr.py` to use absolute paths for `ensure_minimum_audio_duration`.
liumaolind673573 -
Update `moyoyo.py`: add fallback for `utils` to ensure `HParams` availability in runtime.
liumaolinbd3673b -
Refactor imports for consistency in `kokoro.py` and `processor.py`. Use absolute paths for better readability and maintainability.
liumaolin8630353 -
Update `paths.py`: improve PROJECT_ROOT resolution with `_MEIPASS` support and enhance third-party path handling.
liumaolin664d767
-
Rename 'src/VoiceDialogue' to 'src/voice_dialogue'.
liumaolin511ff0c
-
Revamp API core description: expand feature details for ASR, LLMs, TTS, system control, and real-time communication; improve clarity and structure of documentation.
liumaolinc57de2a -
Update project requirements.
liumaolinccdd95f -
Integrate WebSocket support: add `/api/v1/ws` endpoint, enable real-time message handling via `websocket_message_queue`, and refactor services and models to support WebSocket-based question and answer updates.
liumaolin2534744 -
Refactor `SessionIdManager` module: rename `session_id_manager.py` to `session_manager.py` and update imports accordingly.
liumaolin83ef092 -
Refactor session ID handling: replace `current_session_id` with `SessionIdManager` for thread-safe management, update related imports and references.
liumaolin92bb56d -
Refactor `__init__.py` in TTS runtime: streamline `__all__` handling, improve logging for import failures, and enhance maintainability of module exports.
liumaolin6f036c6 -
Serve static frontend assets through FastAPI: mount static files and replace root endpoint response with `index.html`.
liumaolinad7bf8d -
Handle `UnboundLocalError` in punctuation model lookup: add exception handling to ensure stability during transcription.
liumaolin933e84c
-
Remove `VoiceDialogue` API, models, and settings: clean up unused modules and dependencies for the decommissioned service.
liumaolin3eb6daa -
Refactor assets files
liumaolin1d3b1b4 -
Refactor directories across services: rename `audio_generator` to `generators`, `asr` to `recognizers`, and update all import paths for consistency and improved module organization.
liumaolin919ff3f -
Refactor imports across services: replace `services.core` module references with `core` for consistency and maintainability; remove unused `Queue` imports.
liumaolin619c761