README file from
GithubEcho Notes
Echo Notes is an Obsidian plugin that turns audio files referenced in your vault into readable, searchable, and linkable Markdown transcripts.
The workflow is simple: insert or link an audio file in a Markdown note, run a transcription command, and Echo Notes creates a transcript file and inserts a link back into the original note.
Privacy notice: Echo Notes uploads the selected audio file to the transcription provider you configure. Do not transcribe audio that you do not want to send to that external service.
Features
- Configure a transcription provider, API key, base URL, model, and language in Obsidian settings.
- Transcribe the selected audio link in the current note.
- Scan and transcribe all supported audio links in the current note.
- Generate a Markdown transcript file with source metadata.
- Insert a transcript link below the source audio reference.
- Skip existing transcripts and insert missing transcript links.
- Analyze transcript Markdown files with a separate AI model using work minutes, study notes, or product requirement mining templates.
- Generate standalone analysis notes and link them from the transcript.
- Optional automation for newly added Markdown audio links.
- Optional automation for newly created audio files.
- Optional template picker when starting a manual transcription.
- Template-specific commands for transcribing the selected audio and generating an analysis note.
Providers
Implemented providers:
- 硅基流动(SiliconFlow) with
TeleAI/TeleSpeechASR - 阿里百炼(Alibaba Bailian) with
qwen3-asr-flash - OpenAI(OpenAI) with OpenAI-compatible audio transcription
- Groq(Groq) with OpenAI-compatible audio transcription
- Ollama, Ollama Open WebUI, Google Gemini, OpenRouter, LM Studio, 302.AI, Anthropic, Mistral AI, Together AI, Fireworks AI, Perplexity AI, DeepSeek, xAI, Novita AI, DeepInfra, SambaNova, Cerebras, and Z.AI as OpenAI-compatible transcription presets
- 自定义兼容接口(Custom OpenAI-compatible) for custom
/audio/transcriptionsendpoints
Provider defaults can be changed in settings.
AI analysis uses a separate provider configuration. The default is DeepSeek deepseek-chat through an OpenAI-compatible /chat/completions endpoint.
Network and Data Use
Echo Notes makes network requests only when a transcription or AI analysis is triggered.
- SiliconFlow default endpoint:
https://api.siliconflow.cn - Alibaba Bailian default endpoint:
https://dashscope.aliyuncs.com/compatible-mode/v1 - OpenAI default endpoint:
https://api.openai.com/v1 - Groq default endpoint:
https://api.groq.com/openai/v1 - AI analysis default endpoint:
https://api.deepseek.com/v1 - Custom OpenAI-compatible endpoint: user configured
Transcription uploads the selected audio file to the configured transcription provider. AI analysis uploads the transcript text to the configured analysis provider. Transcription and analysis API keys are stored separately with Obsidian SecretStorage. Transcript and analysis files are written inside your Obsidian vault.
Supported Audio Formats
mp3mp4mpegmpgam4awavwebm
Provider limits:
- SiliconFlow: files over 50 MB are blocked before upload.
- Alibaba Bailian
qwen3-asr-flash: local files are encoded as Base64 Data URLs, and payloads over 10 MB are blocked before upload. - OpenAI-compatible providers: files over 25 MB are blocked before upload.
Configure a Provider
- Open Obsidian settings.
- Open the Echo Notes settings tab.
- Choose a provider.
- Confirm or edit Base URL and Model.
- Enter the provider API key.
- Keep Language as
auto, or set a provider-supported language code. - Choose the copy language for inserted links and generated template labels.
Recommended defaults:
| Provider | Base URL | Model |
|---|---|---|
| 硅基流动(SiliconFlow) | https://api.siliconflow.cn |
TeleAI/TeleSpeechASR |
| 阿里百炼(Alibaba Bailian) | https://dashscope.aliyuncs.com/compatible-mode/v1 |
qwen3-asr-flash |
| OpenAI(OpenAI) | https://api.openai.com/v1 |
whisper-1 |
| Groq(Groq) | https://api.groq.com/openai/v1 |
whisper-large-v3-turbo |
| 自定义兼容接口(Custom OpenAI-compatible) | your endpoint | whisper-1 |
Configure AI Analysis
- Open the Echo Notes settings tab.
- Enable AI analysis.
- Keep the default provider as
DeepSeek, or choose another OpenAI-compatible chat endpoint. - Keep Base URL as
https://api.deepseek.com/v1and Model asdeepseek-chat, or edit them. - Enter the separate analysis API key.
- Enable the transcription-time template picker if you want Echo Notes to ask for an analysis template before manual transcription.
- Edit, enable, disable, restore, or add templates in the analysis template prompt settings.
Built-in templates:
- Work minutes: Summary, Key decisions, Action items, Risks/Blockers, Open questions.
- Study notes: Core concepts, Key points, Examples, Common confusions, Review checklist.
- Product requirement mining: Users/Scenarios, Pain points, Requirement opportunities, Feature suggestions, Priority, Acceptance criteria, Open questions.
Custom templates are supported. Each template has a name, description, prompt, and enabled switch. Enabled templates appear in the picker and receive template-specific commands.
Usage
Transcribe selected audio
Select an audio reference in the current Markdown note:
![[Recording 20260531001942.m4a]]
Run the command Echo Notes: Transcribe selected audio.
Echo Notes resolves the audio file, calls the configured provider, creates a transcript, and inserts a transcript link below the audio reference.
If AI analysis and the transcription-time template picker are enabled, Echo Notes asks you to choose an analysis template before transcription starts. Choose a template to generate an analysis note after the transcript is available, or choose plain transcription.
You can also bind shortcuts to template-specific commands such as Echo Notes: Transcribe selected audio and analyze as work minutes.
Transcribe all audio files in the current note
Add one or more audio links to a note:
![[Recording 20260531001942.m4a]]
![[Recording 20260531002010.m4a]]
Run the command Echo Notes: Transcribe all audio files in current note.
If the transcription-time template picker is enabled, the same selected template is applied to every successfully generated or reused transcript in that batch.
Generate AI analysis
Open a .transcript.md note, or a note with type: audio-transcript in frontmatter, then run one of these commands:
Echo Notes: Analyze current transcript with templateEcho Notes: Analyze current transcript as work minutesEcho Notes: Analyze current transcript as study notesEcho Notes: Analyze current transcript as product requirement mining
Echo Notes creates a standalone analysis note and inserts a deduplicated analysis link block at the end of the transcript. Existing analysis files with the same name are overwritten.
Output Example
Input:
![[Recording 20260531001942.m4a]]
Output:
![[Recording 20260531001942.m4a]]
[[Recording 20260531001942/Recording 20260531001942.transcript|查看转写稿]]
Generated file:
Recording 20260531001942/Recording 20260531001942.transcript.md
Analysis link example:
<!-- echo-notes-analysis-links:start -->
## AI Analysis
- [[Recording 20260531001942.transcript.analysis.work-minutes|Work minutes]]
<!-- echo-notes-analysis-links:end -->
Generated analysis file:
Recording 20260531001942/Recording 20260531001942.transcript.analysis.work-minutes.md
Automation
Echo Notes can optionally watch for Markdown audio links and newly created audio files.
- Markdown audio links: after a Markdown file changes, Echo Notes waits briefly, scans supported audio references, transcribes missing transcripts, and inserts missing transcript links.
- New audio files: after Obsidian finishes loading the workspace, Echo Notes can transcribe newly created audio files without modifying any source note.
- Transcription-time analysis: when enabled, manual transcription commands can ask for one analysis template before processing.
All automation options are disabled by default.
Future Directions
- Batch analysis across multiple transcripts.
- Structured extraction for tasks, requirements, risks, and acceptance criteria.
- Long-transcript chunking, merge, and review workflows.
- Broader local model support.
Build
npm install
npm run build
Run smoke tests:
npm test
Install for Local Testing
- Use a dedicated test vault.
- Copy or symlink this folder to
.obsidian/plugins/echo-notes/. - Run
npm installandnpm run build. - Enable community plugins in Obsidian.
- Enable Echo Notes.
- Configure a provider API key.
- Insert an audio link and run one of the Echo Notes commands.
Current Limitations
- Speaker diarization is not supported.
- Timestamped transcript segments are not supported.
- Large-file chunking is not supported.
- Local Whisper is not supported.
- AI analysis does not yet support long-text chunking.
- There is no advanced task queue UI yet.