{"id":48431407,"url":"https://github.com/finch-xu/openmeow","last_synced_at":"2026-04-20T16:05:55.118Z","repository":{"id":348047944,"uuid":"1192636219","full_name":"finch-xu/openmeow","owner":"finch-xu","description":"A native TTS/ASR server macOS app run in local, OpenAI-compatible voice API gateway. Ready for OpenClaw.","archived":false,"fork":false,"pushed_at":"2026-04-06T09:25:28.000Z","size":916,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-06T11:30:56.646Z","etag":null,"topics":["api-gateway","asr","claude","claude-code","openai","openclaw","openclaw-plugin","speech","speech-to-text","text-to-speech","tts"],"latest_commit_sha":null,"homepage":"","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/finch-xu.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-26T12:13:58.000Z","updated_at":"2026-04-06T09:22:19.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/finch-xu/openmeow","commit_stats":null,"previous_names":["finch-xu/openmeow"],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/finch-xu/openmeow","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/finch-xu%2Fopenmeow","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/finch-xu%2Fopenmeow/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/finch-xu%2Fopenmeow/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/finch-xu%2Fopenmeow/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/finch-xu","download_url":"https://codeload.github.com/finch-xu/openmeow/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/finch-xu%2Fopenmeow/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32054616,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-20T11:35:06.609Z","status":"ssl_error","status_checked_at":"2026-04-20T11:34:48.899Z","response_time":94,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api-gateway","asr","claude","claude-code","openai","openclaw","openclaw-plugin","speech","speech-to-text","text-to-speech","tts"],"created_at":"2026-04-06T11:01:20.526Z","updated_at":"2026-04-20T16:05:55.112Z","avatar_url":"https://github.com/finch-xu.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"assets/icon_readme.png\" width=\"128\" height=\"128\" alt=\"OpenMeow\"\u003e\n\u003c/p\u003e\n\n\u003ch1 align=\"center\"\u003eOpenMeow\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n  A native macOS menu bar app providing local \u0026 cloud TTS/ASR services via an OpenAI-compatible API.\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"LICENSE\"\u003e\u003cimg src=\"https://img.shields.io/badge/license-MIT-blue.svg\" alt=\"License\"\u003e\u003c/a\u003e\n  \u003cimg src=\"https://img.shields.io/badge/platform-macOS-lightgrey.svg\" alt=\"Platform\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Apple_Silicon-M1%2B-black.svg?logo=apple\" alt=\"Apple Silicon\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Swift-6.3-F05138.svg?logo=swift\u0026logoColor=white\" alt=\"Swift\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/API-OpenAI_Compatible-10a37f.svg\" alt=\"OpenAI Compatible\"\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"#features\"\u003eFeatures\u003c/a\u003e \u0026bull;\n  \u003ca href=\"#installation\"\u003eInstallation\u003c/a\u003e \u0026bull;\n  \u003ca href=\"#api\"\u003eAPI\u003c/a\u003e \u0026bull;\n  \u003ca href=\"#use-with-openclaw\"\u003eOpenClaw\u003c/a\u003e \u0026bull;\n  \u003ca href=\"#models\"\u003eModels\u003c/a\u003e \u0026bull;\n  \u003ca href=\"#building\"\u003eBuilding\u003c/a\u003e \u0026bull;\n  \u003ca href=\"README_CN.md\"\u003e中文\u003c/a\u003e\n\u003c/p\u003e\n\n---\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"assets/screenshot_models.png\" width=\"720\" alt=\"OpenMeow Models\"\u003e\n\u003c/p\u003e\n\n## Features\n\n- **Supported models** — Kokoro TTS, Kitten TTS, Qwen3 TTS, MiMo v2 TTS, FireRedASR v2, Qwen3 ASR, and more (local or cloud)\n- **Menu bar app** — runs quietly in the background on macOS (Apple Silicon)\n- **OpenAI-compatible API** — drop-in replacement for `/v1/audio/speech` and `/v1/audio/transcriptions`\n- **Multiple engines** — sherpa-onnx, speech-swift (Qwen3-TTS/ASR)\n- **Cloud TTS** — cloud-model API access including OpenAI-compatible services, Xiaomi MiMo, and Alibaba Qwen3\n- **Audio format support** — WAV, MP3, Opus (OGG/WebM), PCM, FLAC, AAC\n- **Model store** — download and manage models from the built-in registry\n- **Works with OpenClaw** — give [OpenClaw](https://github.com/openclaw/openclaw) local voice capabilities in one line of config\n- **Privacy first** — local models keep data on your machine; cloud models are opt-in\n\n## Requirements\n\n- macOS 15.0+\n- Apple Silicon (M1/M2/M3/M4/M5)\n\n## Installation\n\nDownload the latest `.dmg` or `.zip` from [Releases](../../releases), drag to Applications, and launch. No additional tools required.\n\n## API\n\nOpenMeow listens on `http://127.0.0.1:23333` by default.\n\n| Endpoint | Method | Description |\n|----------|--------|-------------|\n| `/v1/audio/speech` | POST | Text-to-Speech |\n| `/v1/audio/transcriptions` | POST | Speech-to-Text |\n| `/v1/models` | GET | List available models |\n| `/v1/voices` | GET | List available voices |\n| `/health` | GET | Health check |\n\n### TTS Example\n\n```bash\ncurl -X POST http://127.0.0.1:23333/v1/audio/speech \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"model\": \"kokoro-multi-lang-v1_0\", \"input\": \"Hello from OpenMeow!\", \"voice\": \"af_heart\"}' \\\n  --output speech.mp3\n```\n\n### ASR Example\n\n```bash\ncurl -X POST http://127.0.0.1:23333/v1/audio/transcriptions \\\n  -F \"file=@audio.wav\" \\\n  -F \"model=whisper-large-v3-turbo\"\n```\n\n## Use with OpenClaw\n\nOpenMeow speaks the same API as OpenAI, so [OpenClaw](https://github.com/openclaw/openclaw) can use it as a local voice backend with zero cloud dependency.\n\n**TTS** — add to your OpenClaw config:\n\n```jsonc\n\"messages\": {\n  \"tts\": {\n    \"auto\": \"always\",\n    \"provider\": \"openai\",\n    \"providers\": {\n      \"openai\": {\n        \"apiKey\": \"dummy-key\",\n        \"baseUrl\": \"http://127.0.0.1:23333/v1\",\n        \"model\": \"qwen3-tts-1.7b-mlx\",\n        \"voice\": \"Vivian\"\n      }\n    },\n    \"timeoutMs\": 60000\n  }\n}\n```\n\n**ASR** — add to `tools.media.audio`:\n\n```jsonc\n\"tools\": {\n  \"media\": {\n    \"audio\": {\n      \"enabled\": true,\n      \"models\": [\n        {\n          \"type\": \"cli\",\n          \"command\": \"/bin/sh\",\n          \"args\": [\n            \"-c\",\n            \"curl -s http://127.0.0.1:23333/v1/audio/transcriptions -F file=@{{MediaPath}} -F model=qwen3-asr-0.6b-mlx | jq -r .text\"\n          ],\n          \"timeoutSeconds\": 60\n        }\n      ]\n    }\n  }\n}\n```\n\n## Models\n\n### TTS — Local\n\n| Model | Size | Languages |\n|-------|------|-----------|\n| Kokoro Multi-lang v1.0 | 360 MB | Chinese, English |\n| Kitten Nano v0.1 | 26 MB | English |\n| Kitten Mini v0.1 | 18 MB | English |\n| Qwen3-TTS 0.6B (MLX) | 1.7 GB | Multilingual |\n| Qwen3-TTS 1.7B (MLX) | 3.2 GB | Multilingual |\n\n### TTS — Cloud\n\n| Model | Provider | Voices | Languages |\n|-------|----------|--------|-----------|\n| OpenAI TTS (Cloud) | OpenAI / compatible | 6 | 14 languages |\n| MiMo TTS v2 (Cloud) | Xiaomi MiMo | 3 | Chinese, English |\n| Qwen3 TTS Flash (Cloud) | Alibaba DashScope | 44 | 10 languages (incl. Chinese dialects) |\n\n### ASR\n\n| Model | Size | Languages |\n|-------|------|-----------|\n| FireRedASR v2 | 200 MB | Chinese + 20 dialects |\n| Qwen3-ASR 0.6B (MLX) | 680 MB | 30+ languages |\n| Whisper Large v3 Turbo | 600 MB | 92+ languages |\n| Whisper Base | 150 MB | 99 languages |\n\n## Building\n\n```bash\n# 1. Clone\ngit clone https://github.com/user/openmeow.git\ncd openmeow\n\n# 2. Download frameworks\nScripts/download-sherpa-onnx.sh\nScripts/download-opus.sh\nScripts/download-lame.sh\n\n# 3. Open in Xcode and build\nopen openmeow/openmeow.xcodeproj\n```\n\n\u003e Frameworks (sherpa-onnx, opus, lame) are not included in the repo due to size. Build scripts download and compile them locally.\n\n## License\n\n[MIT](LICENSE)\n\n### Third-Party Components\n\n| Component | License | Link |\n|-----------|---------|------|\n| [sherpa-onnx](https://github.com/k2-fsa/sherpa-onnx) | Apache-2.0 | On-device speech (TTS/ASR) |\n| [speech-swift](https://github.com/soniqo/speech-swift) | Apache-2.0 | Qwen3-TTS/ASR via MLX |\n| [LAME](https://lame.sourceforge.io/) | LGPL-2.0 | MP3 encoder (dynamically linked) |\n\nLAME is the only LGPL component and is dynamically linked as `libmp3lame.dylib`. You may replace it with your own build. See [THIRD-PARTY-LICENSES](THIRD-PARTY-LICENSES) for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffinch-xu%2Fopenmeow","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffinch-xu%2Fopenmeow","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffinch-xu%2Fopenmeow/lists"}