A VS Code extension that opens a dedicated preview for a Markdown file and reads it aloud using ElevenLabs or a local OpenAI-compatible text-to-speech server. While audio is playing, the preview highlights the currently spoken word and auto-scrolls to keep the narration in view (when the selected provider returns timing data).
Features
Renders Markdown to HTML in a side-by-side webview
Reads the document aloud via ElevenLabs (with synchronized word highlighting) or any local OpenAI-compatible TTS server
Highlights the currently spoken word in real time when timing data is available
Auto-scrolls to keep the spoken word in view
Live preview updates when the source file changes
Audio caching — repeated playback of the same content skips the network request
Keyboard shortcut: Space to pause/resume inside the preview
Getting started
Install the extension.
Open any .md file in VS Code.
Click the book icon in the editor title bar, or right-click the file in the Explorer and choose PulseMark: Open Preview & TTS.
Configure your TTS provider in Settings (search for PulseMark):
ElevenLabs: set your API key, voice ID, and model.
Local OpenAI-compatible: set the base URL, model name, and optional voice/API key.
TTS providers
ElevenLabs
Requires an ElevenLabs API key. Provides synchronized word highlighting via character-level timestamps.
Setting
Default
pulseMark.elevenlabsApiKey
(empty — required)
pulseMark.voiceId
21m00Tcm4TlvDq8ikWAM (Rachel)
pulseMark.modelId
eleven_turbo_v2_5
Local OpenAI-compatible
Points at any server that implements the /v1/audio/speech endpoint (e.g. a local Orpheus deployment). Word highlighting is supported when the server returns a JSON response with audio_base64 and alignment fields; otherwise audio plays without highlighting.
Setting
Default
pulseMark.openAiCompatibleBaseUrl
http://127.0.0.1:8000/v1
pulseMark.openAiCompatibleModel
orpheus
pulseMark.openAiCompatibleVoice
(empty — optional)
pulseMark.openAiCompatibleApiKey
(empty — optional)
Commands
Command
Description
PulseMark: Open Preview & TTS
Open the preview for the active .md file
PulseMark: Play Or Resume
Start or resume playback
PulseMark: Pause Or Resume
Toggle pause/resume
PulseMark: Stop
Stop playback
Requirements
VS Code 1.85.0 or later
An ElevenLabs API key or a running local OpenAI-compatible TTS server