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

Meeting Notes

Junxi LiuJunxi Liu168 downloads

Transcribe existing recordings or summarize Markdown transcripts with OpenAI and write progress, transcript, and optional summary to a new note.

  • Overview
  • Scorecard
  • Updates18

Meeting Notes is an Obsidian plugin for existing audio and Markdown files in your vault. Right-click a supported recording to transcribe or summarize it, or right-click a Markdown transcript to generate meeting notes from existing text.

The plugin creates the Markdown note immediately, then rewrites it with live progress as it prepares the file, calls OpenAI, finishes each chunk, and optionally creates the summary.

Progress updates are event-based plus a configurable heartbeat while long prepare, transcription, or summary requests are running. The OpenAI transcription request itself is synchronous; the plugin is not polling a separate OpenAI status endpoint.

Right-click actions

The file context menu can show any combination of these actions:

  • Generate meeting notes: uses your preset transcription model, diarization, summary, section, and note-creation settings.
  • Transcribe
  • Transcribe (diarize)
  • Transcribe and summary
  • Transcribe and summary (diarize)
  • Summary: transcribes internally, then writes a summary-only note.
  • Summarize note: appears on Markdown files, extracts the ## Transcript section when present, and writes a summary from existing text. It can create a new note or rewrite the current Markdown note while keeping the original content at the end.

You can hide or show each action in settings.

Note creation

The default note title is {{date}}. The date can come from the source file creation date or today's date, and the date format is configurable with tokens such as YYYY-MM-DD or YYYYMMDD.

Notes can be saved to the configured output folder or beside the source file. If enabled, the source recording is moved to the system trash after an audio note is generated successfully.

Generated notes are ordered as summary, transcript, error if any, progress, then properties. Metadata is rendered as a Markdown section at the end rather than YAML frontmatter at the top.

Summary workflow

Summary generation uses a separate summary model setting, independent of the transcription model. By default, the plugin sends the full transcript to the summary model in one request, which is the recommended setting for long-context models such as gpt-5.5.

If a summary request is too large or fails, enable Split transcript before summary. That older workflow summarizes transcript parts first, then asks the summary model to combine the partial summaries.

The default summary prompt is generated from section toggles:

  • Summary
  • What was discussed
  • Decisions made
  • Next steps
  • Task to do

Default summaries use Markdown subheaders for each selected section. List-style content is formatted as ordered lists, and Task to do items are formatted as Markdown checkboxes such as - [ ] Follow up with Alex. Next steps is meant for generalized guidance, while Task to do is meant for specific tasks.

Each default summary section can be renamed in settings. The prompt settings show the plugin default prompt and the current prompt built from your toggles and section names.

If you enter a custom Summary prompt, that prompt overrides the section toggles.

Supported audio files

The OpenAI Audio API supports mp3, mp4, mpeg, mpga, m4a, wav, and webm. Files below the configured chunk size are sent as-is. Larger files are decoded in Obsidian and split into 16 kHz mono WAV chunks before upload by default.

The default chunk size is 24 MB to stay below OpenAI's 25 MB file upload limit. You can lower the chunk size in settings, and you can add a chunk overlap in seconds so each chunk after the first repeats a short amount of audio from the previous chunk. Overlap can preserve boundary context but may duplicate transcript text.

For .m4a recordings, settings can enable FFmpeg M4A chunks. When enabled, the plugin uses ffmpeg to split compressed M4A chunks and upload those directly instead of uploading WAV chunks. This can reduce the number of chunks, especially for diarized recordings, but it only works when FFmpeg is installed and available to Obsidian as ffmpeg, /opt/homebrew/bin/ffmpeg, or /usr/local/bin/ffmpeg.

When a recording is chunked, transcript sections are rendered in chunk order with time ranges, such as Chunk 2 (12m 25s to 24m 52s).

OpenAI models

Settings let you choose:

  • Transcription model: gpt-4o-mini-transcribe, gpt-4o-transcribe, or whisper-1.
  • Diarization: when enabled, the plugin uses gpt-4o-transcribe-diarize with response_format=diarized_json and chunking_strategy=auto. If a file is large enough to require local chunking, speaker labels may reset across chunks.
  • Speaker re-inference: when enabled for chunked diarized recordings, the plugin asks the selected summary model to infer a consistent speaker-label mapping across chunks, then rewrites the transcript before summary generation. This is a post-processing step and adds summary-model token usage.
  • Summary model: a general text or reasoning model for the Responses API, defaulting to gpt-5.5. The summary model dropdown can be refreshed from OpenAI's GET /v1/models endpoint using your API key, and filters out special-purpose models such as transcription, computer-use, search, image, embedding, Codex, and dated snapshot models.

Generated notes include transcription and summary usage in the final Properties section. Cost is estimated from usage returned by OpenAI and the plugin's built-in price table for known models; unknown model pricing is shown as unavailable.

Privacy and API key

Your OpenAI API key is stored in this plugin's Obsidian settings data for the vault. Audio recordings and transcript text are sent to OpenAI when you run a transcription or summary action. The plugin does not collect telemetry.

Submission notes

This plugin is designed for existing files only. It does not record audio, run in the background, or watch folders. It adds commands to the file context menu for supported audio extensions and Markdown transcript files.

Development

npm install
npm run build

For local testing, copy or symlink this folder into:

<vault>/.obsidian/plugins/meeting-notes

Then enable the plugin in Obsidian settings.

HealthExcellent
ReviewRisks
About
Transcribe and summarize audio recordings or Markdown transcripts via right-click to generate diarized transcripts, summary-only notes, or full meeting notes. Create notes instantly and watch them update with live progress while the plugin prepares files and calls OpenAI for transcription and summarization.
AIAudioWriting
Details
Current version
0.3.0
Last updated
2 months ago
Created
4 months ago
Updates
18 releases
Downloads
168
Compatible with
Obsidian 1.6.0+
Platforms
Desktop, Mobile
License
MIT
Report bugRequest featureReport plugin
Author
Junxi LiuJunxi Liujunxi-liu
GitHubjunxi-liu
  1. Community
  2. Plugins
  3. AI
  4. Meeting Notes

Related plugins

ChatGPT MD

A seamless integration of ChatGPT, OpenRouter.ai and local LLMs via Ollama into your notes.

Text Generator

Generate text content using GPT-3 (OpenAI).

Smart Composer

AI chat with note context, smart writing assistance, and one-click edits for your vault.

Local GPT

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

BMO Chatbot

Generate and brainstorm ideas while creating your notes using Large Language Models (LLMs) such as OpenAI's "gpt-3.5-turbo" and "gpt-4".

GPT-3 Notes

Generate notes on any subject using OpenAI's GPT-3.5 and GPT-4 language models.

Claudian

Embeds Claude Code/Codex and other local Agents as AI collaborators in your vault.

LanguageTool Integration

Advanced grammar and spell checking, powered by LanguageTool.

Smart Connections

Find related notes and excerpts while writing. Your AI link building copilot displays relevant content in graph + list view. A local embedding model powers semantic search. Zero setup. No API key.

Fast Note Sync

Real-time sync of your vaults across server, mobile, and web; shareable with anyone; supports REST and MCP integrations to build your personal AI knowledge base.