This plugin integrates AllTalk TTS to generate high-quality text-to-speech from your notes. It uses the XTTS-v2 engine, which can be fine-tuned to faithfully reproduce natural speech patterns. I also drew inspiration from the AllTalk-TTS implementation within SillyTavern.
The plugin enables generation of highlighted text or entire notes at once, with optional audio streaming or .wav file concatenation and saving. It is also possible to automatically embed the saved audio files within the markdown text.
You can generate audio from either selected text or the entire note using the context menu:
Right-click menu for selected text
Right-click menu for full note reading
The plugin can automatically save generated audio files alongside your notes:
Audio files are saved in a customizable folder next to your notes
Generated audio can be automatically embedded in your notes for easy playback:
Audio files are embedded directly in the note
The plugin offers extensive configuration options:
Server configuration, voice selection, and RVC settings
Audio saving, playback, and text processing options
- Install and set up AllTalk TTS on your computer
- Ensure the AllTalk TTS server is running (default: http://localhost:7851)
For manual installation, you need these files in your .obsidian/plugins/alltalk-tts/
folder:
alltalk-tts/
├── main.js
├── manifest.json
└── styles.css
- Open Settings
- Go to Community Plugins and disable Safe Mode
- Click Browse and search for "AllTalk TTS"
- Install the plugin and enable it
- Create a folder called
alltalk-tts
in your vault's.obsidian/plugins/
directory - Download
main.js
,manifest.json
, andstyles.css
from the latest release - Place both files in the
alltalk-tts
folder you created - Reload the app
- Enable the plugin in Community Plugins settings
If you want to build the plugin yourself:
- Clone the repository
- Run
npm install
to install dependencies - Run
npm run build
to compile the plugin - Copy
main.js
,manifest.json
, andstyles.css
to your vault's.obsidian/plugins/alltalk-tts/
folder
The plugin adds three commands that you can use:
- Read Highlighted Text: Reads the currently selected text using AllTalk TTS
- Read Whole Page: Reads the entire current note
- Stop Speech: Stops the current speech playback
You can access these commands through:
- The Command Palette (Ctrl/Cmd + P)
- Custom hotkeys (can be set in Settings → Hotkeys)
- Context menus (right-click on text or note)
Configure the plugin in Settings → AllTalk TTS:
-
Server Settings:
- Server URL for your AllTalk TTS instance
- DeepSpeed acceleration toggle
- Low VRAM mode for better GPU compatibility
-
Voice Settings:
- Select from available TTS voices
- Choose text language
- Optional RVC voice conversion
-
Audio Settings:
- Auto-playback toggle
- Playback speed control
- Audio file saving options
- Custom folder for saved audio
- Auto-embedding in notes
-
Text Processing:
- Narrator mode for text outside quotes
- Skip codeblocks and tagged blocks
- Handle asterisk content
- Customize quote handling
- For plugin issues: GitHub Issues
- For AllTalk TTS issues: AllTalk TTS GitHub