向阳乔木11 downloadsRead notes aloud and dictate speech into notes, with system, local and cloud speech services.
Read any Obsidian note aloud with one click, and dictate speech straight into your notes.
Official directory · 中文说明 · Releases · Help and feedback
Use the microphone button or the dictation command. Finish to insert recognised text at the captured cursor position; Escape cancels. Failed recognition keeps the recording available for retry or saving.
Choose a provider, follow Get a key or Setup guide, paste its API key, and test the voice or connection. Required fields such as Azure region and custom service URL are visible. Service addresses for named providers and low-frequency options are under Advanced.
Keys are hidden by default, can be shown temporarily, and are stored in Obsidian SecretStorage rather than plugin data.json. Speech-to-text keys are isolated by provider, and existing keys are migrated to the saved provider. Switching settings or cancelling a test clears its result; a saved configuration is never labelled connected until its test succeeds.
Voice tests send a short sample sentence. Recognition tests send one second of generated audio without opening the microphone. Tests may incur a small provider charge. Tests run only when requested.
~/Library/Application Support/qiaomu-audio/speech; Windows uses %LOCALAPPDATA%\qiaomu-audio\speech; Linux uses $XDG_DATA_HOME/qiaomu-audio/speech or ~/.local/share/qiaomu-audio/speech.radio.qiaomu.ai only when the About section is opened.Open the official directory entry and choose Add to Obsidian, or search Qiaomu Audio in Community plugins once the client catalog includes it. Version 1.0.1 has completed its automated official review and its listing is public; the last recorded client-catalog check is in the release evidence.
For manual installation, use the latest release, put main.js, manifest.json and styles.css in <vault>/.obsidian/plugins/qiaomu-audio/, then enable Qiaomu Audio in Community plugins.
Mobile uses system speech and cloud services; Edge, Mac speech and managed local models are desktop features. The minimum Obsidian version is 1.11.4. Windows/Linux automated checks do not prove native device playback; mobile device playback and microphone acceptance have not yet been verified.
const audio = app.plugins.plugins['qiaomu-audio']?.api;
await audio?.speak('Hello');
const text = await audio?.transcribe(blob); // Blob / ArrayBuffer / Float32Array
// Start dictation in the current note:
audio?.startDictation();
npm ci
npm run check
The check runs English/Chinese translation validation, ESLint, Node/Python tests and the production build. node scripts/e2e-local-asr.mjs downloads and checks the local recognition model when its external runtime is prepared. See architecture.
GPL-3.0-only. Reading code is adapted from Qiaomu Reader (GPL-3.0), and cloud recognition provider protocols from Qiaomu Clipper (MIT), both by 向阳乔木.
Edge TTS interoperability is based on rany2/edge-tts (LGPL-3.0); see the license. WebSocket transport uses ws (MIT; license included in the bundle).
Models are not distributed with the plugin: Kokoro (Apache-2.0), MeloTTS (MIT), SenseVoice Small (FunASR Model License). The optional Sherpa ONNX runtime is Apache-2.0 and is installed separately.
Both plugins can read aloud on their own. Starting or previewing speech pauses the other plugin without losing its position. Copy speech settings explicitly once if desired; keys and preferences remain independent. Downloaded local model data is shared, and disabling either plugin leaves the other usable.
Mac system speech automatically lists installed enhanced voices. Search and audition voices in the voice picker; closing the audition restores your reading sentence paused.