Search...Search plugins and themes...
⌘K
Sign in
  • Get started
  • Download
  • Pricing
  • Enterprise
  • Account
  • Obsidian
  • Overview
  • Sync
  • Publish
  • Canvas
  • Mobile
  • Web Clipper
  • CLI
  • Learn
  • Help
  • Developers
  • Changelog
  • About
  • Roadmap
  • Blog
  • Resources
  • System status
  • License overview
  • Terms of service
  • Privacy policy
  • Security
  • Community
  • Plugins
  • Themes
  • Discord
  • Forum / 中文论坛
  • Merch store
  • Brand guidelines
Follow us
DiscordTwitterBlueskyThreadsMastodonYouTubeGitHub
© 2026 Obsidian

Apple TTS

ajsscottajsscott90 downloads

Read notes aloud using macOS native text-to-speech.

Add to Obsidian
  • Overview
  • Scorecard
  • Updates4

Read your Obsidian notes aloud using the native macOS text-to-speech system.

macOS only. This plugin uses the built-in say command available on macOS. It does not work on Windows or Linux.

Tested on MacOS Tahoe 26 and later.

No internet connection required. No external API keys. No subscriptions. Apple TTS uses the voices already installed on your Mac — the same ones available in System Settings > Accessibility > Spoken Content.


Features

  • Read entire note — Reads the full content of the active note
  • Read selected text — Speaks only the text you've highlighted
  • Read from cursor — Starts reading from your cursor position to the end of the note
  • Stop speaking — Instantly stops playback
  • 180+ voices — Choose from all macOS voices installed on your system, including Siri voices and novelty voices
  • Adjustable speed — 0.5x to 3.0x speech rate
  • Content filters — Toggle which parts of your notes are read (code blocks, math equations, tables, links, images, embeds, callouts, HTML, tags)
  • Smart markdown stripping — Automatically removes formatting syntax so you hear clean prose, not asterisks and brackets

Installation

From Obsidian Community Plugins

  1. Open Settings > Community plugins
  2. Turn off Restricted mode if it's still on
  3. Click Browse and search for "Apple TTS"
  4. Click Install, then Enable

Manual Installation

  1. Download main.js, manifest.json, and styles.css (if present) from the latest release
  2. Create a folder called apple-tts inside your vault's .obsidian/plugins/ directory
  3. Copy the downloaded files into that folder
  4. Restart Obsidian and enable the plugin in Settings > Community plugins

Usage

Commands

Open the command palette (Cmd+P) and search for "Apple TTS":

Command Description
Read entire note Reads the active note from start to finish
Read selected text Reads only the currently highlighted text
Read from cursor position Reads from your cursor to the end of the note
Stop speaking Stops any active speech immediately

Ribbon Icon

Click the speaker icon in the left ribbon to toggle reading:

  • When idle, clicking it reads the current note
  • When speaking, clicking it stops playback

Hotkeys

Assign your own keyboard shortcuts in Settings > Hotkeys — search for "Apple TTS" to find all four commands.

Settings

Voice & Speed

Setting Description Default
Language filter Filter the voice list by language code (e.g., en, fr, ja) (all voices)
Voice Select from installed macOS voices (System Default)
Speech rate Playback speed from 0.5x (slow) to 3.0x (fast) 1.0x

Content Filters

Control which parts of your notes are read aloud. When a filter is on, that content type is skipped.

Filter What it controls Default
Skip code blocks Fenced code blocks (```) and inline code (`) On (skipped)
Skip math equations LaTeX math ($...$ and $$...$$) On (skipped)
Skip tables Markdown table content Off (read aloud)
Skip link text Text inside [links](url) Off (read aloud)
Skip images Image alt text from ![alt](https://raw.githubusercontent.com/ajsscott/obsidian-apple-tts/HEAD/url) On (skipped)
Skip embeds Obsidian embeds ![[filename]] On (skipped)
Skip callouts Callout body content (> [!note]) Off (read aloud)
Skip HTML Inline HTML tags On (skipped)
Skip tags Obsidian tags (#tag) On (skipped)

Installing More Voices

macOS comes with a set of default voices, but you can install many more:

  1. Open System Settings > Accessibility > Spoken Content
  2. Click the dropdown next to System Voice and select Manage Voices...
  3. Browse and download additional voices (including high-quality Siri voices)
  4. Restart Obsidian — new voices will appear in the plugin's voice dropdown

Platform Compatibility

Platform Supported
macOS (desktop) Yes
Windows No
Linux No
iOS / iPadOS No
Android No

This plugin is marked as desktop only in its manifest and will only load on macOS. On other platforms, it displays a notice explaining the requirement.

How It Works

Apple TTS uses the macOS say command under the hood. When you trigger a read command:

  1. The plugin extracts text from the active editor
  2. Markdown syntax is stripped according to your content filter settings
  3. The cleaned text is piped to the say process via stdin
  4. The say process speaks the text through your system audio output

Stopping playback sends a termination signal to the running say process.

Known Limitations

  • No pause/resume — The macOS say command does not support pausing. Stop always means starting over from the beginning. This is a limitation of the underlying system command.
  • No audio progress indicator — Since say speaks in real-time without providing progress callbacks, there is no seek bar or time display.
  • macOS only — This plugin relies on a macOS-specific system command and cannot work on other operating systems.

Development

Building from Source

git clone https://github.com/ajsscott/obsidian-apple-tts.git
cd obsidian-apple-tts
npm install
npm run build

Development Mode

npm run dev

This starts esbuild in watch mode — it rebuilds main.js automatically when you save changes.

Testing in Your Vault

Symlink the plugin into your vault's plugin directory:

ln -s /path/to/obsidian-apple-tts /path/to/your-vault/.obsidian/plugins/apple-tts

Then toggle the plugin off and on in Obsidian's Community Plugins settings to reload it after changes.

License

MIT

87%
HealthExcellent
ReviewSatisfactory
About
Read Obsidian notes aloud using macOS' built‑in say text-to-speech with no internet, keys, or subscriptions. Speak entire notes, selected text, or from the cursor; pick from 180+ installed voices, adjust speed, stop instantly, and strip markdown or filter content types for clean playback.
IntegrationsCommandsUtilities
Details
Current version
1.1.3
Last updated
Last month
Created
Last month
Updates
4 releases
Downloads
90
Compatible with
Obsidian 1.7.0+
Platforms
Desktop only
License
MIT
Report bugRequest featureReport plugin
Author
ajsscottajsscott
GitHubajsscott
  1. Community
  2. Plugins
  3. Integrations
  4. Apple TTS

Related plugins

Open vault in VS Code

Ribbon button and command to open vault as a Visual Studio Code (VSCode) workspace.

Shell commands

Define system commands that you want to execute via command palette, hotkeys, URI links or automated events. E.g. open external applications or perform automated file modifications.

Global Proxy

Configure network proxies for users in areas with restricted networks.

Actions URI

Add additional `x-callback-url` endpoints to the app for common actions — it's a clean, super-charged addition to Obsidian URI.

Local REST API & MCP Server

Unlock your automation needs by interacting with your notes over a secure REST API.

Vertical Tabs

Offer an alternative view that displays open tabs vertically, allowing users to group and organize tabs for a better navigation experience.

Quick Switcher++

Enhanced Quick Switcher, search open panels, and symbols.

BRAT

Easily install a beta version of a plugin for testing.

Commander

Customize your workspace by adding commands everywhere, create macros and supercharge your mobile toolbar.

Maps

Adds a map layout to bases so you can display notes as an interactive map view.