agent-voice

Deploys a local TTS pipeline routing synthesized speech through a BlackHole virtual microphone on macOS.

Updated May 13, 2026
One-click install
npx skills add https://github.com/onesmash/slm-as-harness --skill agent-voice-onesmash
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: agent-voice
Source: https://github.com/onesmash/slm-as-harness/tree/main/skills/agent-voice
Command: npx skills add https://github.com/onesmash/slm-as-harness --skill agent-voice-onesmash

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires onnxruntime, torch, torchaudio, transformers, sounddevice, soundfile, sentencepiece, piper-tts, cn2an, pypinyin, jieba, faster-whisper, opencc, huggingface_hub, numpy, and includes scripts (resource) and references (resource) components.

What problem does it solve? It sets up and operates a complete text-to-local-TTS-to-virtual-microphone system on macOS, so synthesized speech can be received as microphone input by any app (Zoom, WeChat, QuickTime) without manual audio routing or engine configuration. ## Core Features & Use Cases - One-command deployment: setup.sh installs the MOSS-TTS-Nano ONNX engine, configures the BlackHole 2ch virtual sound card, and registers a launchd daemon with self-tests. - Single playback entry: run.sh reads text aloud through the resident ttsd daemon with low first-audio latency, plus a --stop command to halt playback. - Troubleshooting coverage: built-in fixes for model download failures, BlackHole volume resets, plosive artifacts, daemon instance storms, and closed-loop CER scoring for regression checks. - Use Case: Ask the agent to read a long Chinese article aloud while your Zoom meeting uses BlackHole 2ch as the microphone, so participants hear the synthesized voice. ## Quick Start Ask the agent to set up local TTS with a virtual microphone and read your text aloud using run.sh.

Frequently Asked Questions about agent-voice

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I route TTS audio as microphone input to Zoom on macOS?▼

Install the BlackHole 2ch virtual audio device, then play synthesized speech into its output end. In Zoom's microphone settings select BlackHole 2ch, and the app receives the TTS audio as if it were a real microphone.

How to set up local text-to-speech with MOSS-TTS-Nano on macOS?▼

Run the setup.sh script, which creates a Python 3.12 venv, installs onnxruntime and torch dependencies, downloads the roughly 730MB ONNX model via hf-mirror, and registers a launchd daemon. Then use run.sh with your text to speak.

Does MOSS-TTS-Nano work on Intel Macs without PyTorch GPU support?▼

Yes, the ONNX CPU runtime removes the PyTorch inference dependency, so Intel Macs run it with onnxruntime and torch 2.2.2 pinned for audio IO. Expect RTF around 0.85-1.05 versus 0.18-0.21 on Apple Silicon.

Why is BlackHole silent or recording near-zero audio on macOS?▼

macOS can reset the BlackHole device volume to near zero after reboots, dropping loopback RMS to about 0.001x. The daemon compensates with startup calibration and digital auto-gain, and fix_blackhole_volume.sh restores volume manually.

What are the limitations of the MOSS xiao_ya voice model license?▼

The xiao_ya voice is non-commercial, so it is restricted to personal use only. It must not be used to inject speech into meetings or calls without consent, and external distribution requires deep-synthesis labeling compliance.