TalkToMeBabyTalkToMeBaby is a Speechify-inspired read-aloud extension for VS Code. It reads your prose files aloud with a dedicated Reader panel, word-level karaoke highlighting, and click-to-jump navigation. On macOS it defaults to the built-in TalkToMeBaby is independent and is not affiliated with, endorsed by, or sponsored by Speechify. Use of TalkToMeBaby is at your own risk. You are responsible for choosing a provider, complying with provider terms, ensuring you have rights to send or synthesize the text you read, and protecting confidential or regulated content. See DISCLAIMER.md and PRIVACY.md. Core features:
Supported file types: InstallFrom the VS Code MarketplaceInstall from the VS Code Marketplace, or from VS Code:
You can also install it from the command line:
From VSIX
Or via the UI: Build from source
Quick start
To start from a specific point: place your cursor, then use TalkToMeBaby: Read from Here (right-click menu or command palette). Reader panelThe Reader panel renders your document as a clean reading view. Each word is individually clickable.
SpeedSpeed is set via the player bar in the Reader panel. Presets: 0.5, 0.75, 1.0, 1.25, 1.5, 1.75, 2.0x. The fine slider covers the full 0.5-2.0 range. Pitch is preserved at all speeds using Providers
Network providers synthesize audio by sending the text being read to the selected provider. Edge, ElevenLabs, and Sarvam require internet access; macOS Switching provider and voiceThe settings panel inside the Reader is the primary way to change everything. Click the gear (⚙) in the player bar to open it; click the gear again, press Esc, or hit the ✕ to close it. The gear shows a pressed state while the panel is open. The panel slides in above the player bar with two sections:
(Speed lives in the player bar, not the settings panel.) Instant open: the panel opens immediately. Voices are cached per provider for the session and prefetched when a read starts, so the first open is usually instant; if a provider's voices are still loading you'll briefly see a disabled "Loading voices…" option, then the list fills in. Switching keeps your place and never auto-plays: changing provider or voice reconfigures the reader in place — the Reader is not torn down and rebuilt. The session re-primes paused at your current sentence with the new voice; press play when you're ready. No surprise audio. The settings panel stays open across the switch. If a key-required provider has no stored key, switching to it prompts for the key first; cancel and the selection snaps back to the current provider. Command palette (alternative, mirrors the gear panel):
Editor surfaceWhile a session is active, the source editor stays in sync with the reader:
Settings
Privacy and API keysTalkToMeBaby does not include analytics or telemetry. When you use a network TTS provider, the text being read is sent to that provider to generate audio. Provider keys (ElevenLabs, Sarvam) are stored via the VS Code SecretStorage API, which means your OS's encrypted credential store: Keychain on macOS, Credential Manager on Windows, libsecret on Linux. Keys are never written to settings.json, never synced, and never logged. See PRIVACY.md, DISCLAIMER.md, and the provider architecture notes for the full picture, including honest fragility notes per provider and the roadmap for a fully offline, OS-agnostic voice engine. Keybindings
Commands
TroubleshootingEdge TTS produces no audio / connection error
Edge TTS requires an internet connection to Microsoft's speech service and is an unofficial, best-effort provider. If you are offline, switch to macOS say ( macOS say not available
The ElevenLabs returns 401 ElevenLabs free accounts may be blocked from the TTS API. A paid plan (Starter tier or higher) is recommended for API access. First read of a long document is slow Audio is synthesized in chunks as you read - subsequent sentences are prefetched in the background. Once a chunk is cached to disk, replaying it is instant and costs no API credits. Playback highlight is off after editing If you edit the document while reading, the session model becomes stale. Use the prompt that appears to restart from your current position. Playback stopped after a VS Code reload Reloading the VS Code window or restarting the extension host always ends the active session — audio is not preserved across reloads. If TalkToMeBaby saved your position (within the last 3 seconds of playback), you will be offered a "Resume?" toast on the next activation. ReliabilityResume after reload: If VS Code reloads (window reload, extension host restart, OS sleep/wake), TalkToMeBaby saves your position automatically (every ~3 seconds while playing). When the extension reactivates, it offers a "Resume?" toast if a session was saved within the last 12 hours. Choosing Resume re-opens the document and jumps straight to your last sentence. Dismissing clears the saved position. The position is also cleared when you press Stop or when a document finishes naturally. Note: a reload kills the active audio session — there is no way to resume mid-sentence. Resume starts from the beginning of the sentence you were on. Contributing and securityContributions are welcome; see CONTRIBUTING.md for local setup, test commands, and architectural invariants to preserve. Please follow the Code of Conduct. For vulnerability reports or sensitive security issues, see SECURITY.md. Do not open public issues that contain API keys, tokens, or private document contents. LicenseMIT. Additional disclaimers are in DISCLAIMER.md. Third-party runtime dependency notices are in THIRD_PARTY_NOTICES.md. |