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

Recording Transcript Player

Evgeniy BranitskyEvgeniy Branitsky30 downloads

Play recordings with synchronized sibling SRT, VTT and DOTe transcripts.

Add to Obsidian
Recording Transcript Player screenshot
  • Overview
  • Scorecard
  • Updates2

Recording Transcript Player

Recording Transcript Player is an Obsidian plugin for opening audio files with a synchronized sibling SRT transcript.

recording-transcript-player-screenshot

Usage

Place an .srt, .vtt, or DOTe .json file beside an audio file with the exact same basename:

Recordings/2026.05.09.m4a
Recordings/2026.05.09.srt

Open the audio file in Obsidian. The plugin shows the native audio player above the transcript, highlights the active subtitle during playback, and lets you click timestamps to seek.

Supported subtitle formats:

  • SRT blocks with optional Speaker: text
  • WebVTT cues with optional <v Speaker> voice spans
  • DOTe JSON exports with a lines array containing startTime, endTime, speakerDesignation, and text

Supported audio extensions by default:

m4a, mp3, wav, aac, flac, ogg, opus

Matching Rules

The plugin only checks sibling subtitle files with the same basename as the audio file. By default, it checks .srt, .vtt, then .json; the extension priority can be changed in settings.

If no matching subtitle file is found, the audio player still opens, and the transcript area shows as audio-only.

Search

While the plugin view is focused, press Cmd+F (Ctrl+F on Windows/Linux) to open the in-transcript search bar. The query is matched as a case-insensitive substring against both speaker labels and cue text. All matches are highlighted inline, and a counter (current/total) is shown.

  • Enter jumps to the next match, Shift+Enter jumps to the previous one
  • The current match is highlighted in the accent colour and auto-scrolled into view
  • Esc (or the close button) clears the query and hides the bar

Search does not seek audio. Clicking a cue's timestamp still seeks playback as before.

Settings

  • Subtitle extension priority
  • Supported audio extensions
  • Auto-scroll transcript
  • Resume playback
  • Open matched recordings in the plugin view
  • Fall back to the default media view when no subtitle (sub-option)
  • Save position interval

Playback progress is saved per vault-relative audio path. Saved positions in the final 10 seconds of a recording are not restored.

The automatic plugin-view option is disabled by default. When enabled, opening a supported audio file normally in Obsidian will switch that active tab to the transcript player only if a matching sibling subtitle file exists.

The sub-option "Fall back to default media view when no subtitle" (also disabled by default, and only effective when the parent option is enabled) controls what happens when a supported audio file is loaded into the plugin view but has no matching subtitle. When enabled, the file is moved to Obsidian's default media view instead.

Privacy

This plugin does not make network requests, send telemetry, or use Node/Electron-only runtime APIs. Audio and subtitle files are read through Obsidian vault APIs.

Mobile Support

The plugin is intended to work on Obsidian desktop and mobile. It uses browser audio APIs and Obsidian-safe vault APIs only.

Dependency Policy

Runtime dependencies are intentionally zero. Development dependencies are limited to TypeScript, esbuild, Obsidian types, and test/build tooling.

Development

npm install
npm test
npm run build

The build emits main.js at the repository root. Obsidian loads main.js, manifest.json, and styles.css.

Release

Tagged releases should attach:

  • main.js
  • manifest.json
  • styles.css

Before submitting to the Obsidian community plugin registry, test the release assets in a clean vault and confirm the version tag matches manifest.json.

99%
HealthExcellent
ReviewPassed
About
Open audio files alongside synchronized sibling transcripts (SRT, VTT, DOTe JSON) and show the native audio player above a clickable transcript. Highlight active subtitles during playback, click timestamps to seek, search the transcript with inline highlights and navigate matches, and resume playback from saved positions.
AudioSearchAttachments
Details
Current version
1.0.1
Last updated
Last week
Created
Last week
Updates
2 releases
Downloads
30
Compatible with
Obsidian 1.5.0+
Platforms
Desktop, Mobile
License
MIT
Report bugRequest featureReport plugin
Author
Evgeniy BranitskyEvgeniy Branitskygaleas
GitHubgaleas
  1. Community
  2. Plugins
  3. Audio
  4. Recording Transcript Player

Related plugins

Omnisearch

Intelligent search for your notes, PDFs, and OCR for images.

Smart Connections

AI link discovery copilot. See related notes as you write. Lookup using semantic (vector) search across your vault. Zero-setup local model for embeddings, no API keys, private.

Quick Switcher++

Enhanced Quick Switcher, search open panels, and symbols.

Quiet Outline

Make outline quiet and more powerful, including no-auto-expand, rendering heading as Markdown, and search support.

Image Context Menus

Image context menus (mostly on right click): Copy to clipboard, Open in default app, Show in system explorer, Reveal file in navigation, Open in new tab.

Ink

Hand write or draw directly between paragraphs using a digital pen, stylus, or Apple pencil.

Badges

Add inline badges/callouts to notes.

Local Images Plus

A reincarnation of Local Images to download images in Markdown notes to local storage.

Citations

Automatically search and insert citations from a Zotero library.

Local GPT

Local Ollama and OpenAI-like GPT's assistance for maximum privacy and offline access.