Voice Briefing

by reallygood83
5
4
3
2
1
Score: 50/100

Description

The Voice Briefing plugin turns notes into audio briefings lasting one to two minutes. It generates scripts through Google Gemini, xAI Grok, OpenAI or Anthropic Claude, with model selection and custom model IDs. Speech generation supports Edge TTS, Gemini TTS, OpenAI TTS and ElevenLabs. Briefings can use analogies, Feynman style explanations, a news anchor format or custom prompts, with seven output languages available. Generated audio is stored inside the vault and embedded at the bottom of the note. Optional Google Drive sharing uploads recordings and inserts an HTML audio player, Markdown link or direct URL. Note text is sent to the selected provider and Edge TTS contacts Microsoft through its local command line tool. The plugin runs only on desktop and xAI TTS appears in settings but is not used for generation.

Reviews

No reviews yet.

Stats

0
stars
370
downloads
0
forks
9
days
9
days
9
days
6
total PRs
0
open PRs
0
closed PRs
6
merged PRs
0
total issues
0
open issues
0
closed issues
71
commits

RequirementsExperimental

  • An API key for a supported AI script provider: Google Gemini, xAI, OpenAI or Anthropic

  • The edge-tts command line tool for Edge TTS, or an API key for the selected cloud speech provider

  • A Google account and Google Cloud desktop OAuth client credentials with the Google Drive API enabled for optional cloud sharing

Latest Version

9 days ago

Changelog

원고 생성 HTTP 호출을 Obsidian requestUrl로 바꿉니다. axios 패키지는 빌드에서 빠졌습니다.

변경

  • 2xx가 아닌 응답도 상태 코드와 본문으로 받아서, 기존과 같이 오류 메시지를 만듭니다.
  • 음성 파일 저장과 Edge TTS 명령은 그대로입니다.

설치

데스크톱 전용입니다. minAppVersion은 1.4.0입니다. 커뮤니티 심사는 매니페스트 버전과 같은 릴리스를 보므로, 다시 검사할 때는 0.5.4를 선택하면 됩니다.

README file from

Github

🎙️ Obsidian Voice Briefing Plugin

Convert your Obsidian notes into 1-2 minute audio briefings using AI and Text-to-Speech, with cloud sharing support via Google Drive.


⚖️ License

Copyright © 2025-2026 reallygood83.

This plugin is released under the MIT License. You may use, copy, modify, and distribute it, including in the Obsidian community directory. Keep the copyright notice and license text with copies of the software.


✨ Features

🤖 Multi-Provider AI Script Generation

  • Google Gemini (default gemini-3.8-flash)
  • xAI Grok (default grok-4.7)
  • OpenAI (default gpt-6.1-sol)
  • Anthropic Claude (default claude-sonnet-5)

Each provider has a model dropdown plus a custom model ID field. Saved IDs that vendors have retired are moved to a current ID the first time settings load. An ID you typed yourself is left as-is.

🔊 Text-to-Speech

  • Edge TTS - Free local Microsoft voices (edge-tts CLI)
  • Gemini TTS - default gemini-3.8-flash-tts
  • OpenAI TTS - default gpt-4o-mini-tts
  • ElevenLabs - default eleven_v4, with eleven_v4_turbo and earlier models in the dropdown, plus a custom model ID field
  • xAI TTS - present in settings, not used for generation (the realtime socket cannot refresh auth)

☁️ Google Drive Cloud Sharing

  • Upload audio files to Google Drive
  • Generate public sharing links
  • Three link format options:
    • HTML Audio Player (recommended)
    • Markdown Link
    • Direct URL

🌐 Multi-Language Support

  • 🇰🇷 Korean (한국어)
  • 🇺🇸 English (US)
  • 🇯🇵 Japanese (日本語)
  • 🇨🇳 Chinese (中文)
  • 🇪🇸 Spanish (Español)
  • 🇫🇷 French (Français)
  • 🇩🇪 German (Deutsch)

🎨 Three Briefing Styles

  • Metaphorical - Easy analogies for complex concepts
  • Feynman Technique - Teaching-style explanations
  • News Anchor - Professional presentation style
  • Custom - Define your own style with prompts

📦 Installation

Prerequisites

  1. Obsidian v0.15.0 or higher
  2. Node.js v16 or higher (for development)
  3. Edge TTS (for free TTS option):
    pip install edge-tts
    

Install Plugin

  1. Download the latest release from GitHub
  2. Extract to .obsidian/plugins/voice-briefing/ (the folder name must match the plugin id)
  3. Enable the plugin in Obsidian Settings → Community Plugins

⚙️ Configuration

1️⃣ AI Provider Setup

  1. Get API key from Google AI Studio
  2. In plugin settings:
    • AI Provider: Google Gemini
    • API Key: your-gemini-api-key
    • Model: gemini-3.8-flash (default). Pick another listed model, or type a model ID in the custom field.
Other Providers

2️⃣ TTS Engine Setup

Option A: Edge TTS (Free)
  1. Install Edge TTS:
    pip install edge-tts
    
  2. In plugin settings:
    • TTS Engine: Edge TTS (Free)
    • Select voice based on your language
Option B: ElevenLabs
  1. Sign up at ElevenLabs
  2. Get an API key from account settings
  3. In plugin settings:
    • TTS Engine: ElevenLabs
    • API Key: your ElevenLabs API key
    • Voice ID: a voice id from ElevenLabs
    • Model: Eleven v4 (eleven_v4) is the default. eleven_v4_turbo is also listed. A non-empty custom model ID overrides the dropdown.
Option C: Gemini TTS or OpenAI TTS

Select the engine, set that provider's API key, then choose a model from the dropdown or type a custom model ID.

3️⃣ Google Drive 연결 (선택)

액세스 토큰을 붙여 넣지 않습니다. 데스크톱 앱이 127.0.0.1 루프백으로 Google 로그인 창을 열고, PKCE로 코드를 바꾼 뒤 refresh token을 플러그인 데이터에 저장합니다. 토큰은 로그에 남기지 않습니다. 공식 안내: OAuth 2.0 for Mobile & Desktop Apps.

Google Cloud에서 데스크톱 클라이언트 만들기
  1. Google Cloud Console에서 프로젝트를 만들거나 고릅니다.
  2. API 및 서비스 → 라이브러리에서 Google Drive API를 사용 설정합니다.
  3. OAuth 동의 화면을 구성합니다. 앱이 테스트 상태이면 refresh token이 7일 뒤에 만료됩니다. 본인 Google 계정을 테스트 사용자로 추가하거나, 앱을 게시하세요.
  4. 사용자 인증 정보 → 사용자 인증 정보 만들기 → OAuth 클라이언트 ID에서 애플리케이션 유형을 데스크톱 앱으로 만듭니다. 데스크톱 클라이언트에는 클라이언트 ID와 클라이언트 시크릿이 함께 있습니다.
  5. 콘솔이 리디렉션 URI를 요구하면 http://127.0.0.1:8585/callback 을 추가합니다. 플러그인 기본 포트는 8585입니다.
  6. 플러그인 설정에서 Cloud Sharing을 켜고 Client ID와 Client Secret을 입력한 뒤 Connect with Google을 누릅니다. 브라우저에서 허용하면 창을 닫고 Obsidian으로 돌아오면 됩니다.
  7. 업로드할 폴더를 쓰려면 드라이브 폴더 URL의 폴더 ID를 설정에 넣습니다. 비우면 내 드라이브 루트에 업로드합니다.
Optional: Create Upload Folder
  1. Create folder in Google Drive
  2. Copy folder ID from URL: https://drive.google.com/drive/folders/YOUR_FOLDER_ID
  3. Paste folder ID in plugin settings

🚀 Usage

Generate Voice Briefing

  1. Open any note in Obsidian
  2. Run command: Generate briefing (the palette shows it as Voice Briefing: Generate briefing)
  3. Wait for AI script generation and audio conversion
  4. Audio will be embedded at the bottom of your note
## 🎧 Voice Briefing

<audio controls src="https://drive.google.com/uc?export=download&id=FILE_ID"></audio>

*Generated on 2025-01-24 • Duration: ~90s*
*[View in Google Drive](https://drive.google.com/file/d/FILE_ID/view)*
## 🎧 Voice Briefing

[🔊 Play Audio](https://drive.google.com/uc?export=download&id=FILE_ID)

*Generated on 2025-01-24 • Duration: ~90s*
*[View in Google Drive](https://drive.google.com/file/d/FILE_ID/view)*
Direct URL
## 🎧 Voice Briefing

https://drive.google.com/uc?export=download&id=FILE_ID

*Generated on 2025-01-24 • Duration: ~90s*

🔧 Troubleshooting

Common Issues

"Edge TTS: command not found"
  • Solution: Install Edge TTS with pip install edge-tts
  • Verify: Run edge-tts --help to confirm installation
"Invalid API key"
  • Solution: Check API key format and provider selection
  • Ensure API key has proper permissions
"Google Drive upload failed"
  • Solution: Use Connect with Google again if the refresh token was revoked
  • A consent screen left in Testing mode expires refresh tokens after 7 days
  • Verify the folder ID if you set one
"Audio not playing in shared notes"
  • Solution: Use HTML or Markdown link format instead of local files
  • Local ![[file.mp3]] syntax only works in your vault

🛠️ Development

Build from Source

# Clone repository
git clone https://github.com/reallygood83/voice-note-obsidian.git
cd voice-note-obsidian

# Install dependencies
npm install

# Build plugin
npm run build

# Development mode (watch)
npm run dev

Project Structure

voice-note-obsidian/
├── main.ts                     # Plugin main file
├── src/
│   ├── ai/
│   │   └── script-generator.ts # AI script generation
│   ├── tts/
│   │   ├── edge-tts-handler.ts # Edge TTS integration
│   │   ├── elevenlabs-handler.ts # ElevenLabs integration
│   │   └── tts-generator.ts    # Unified TTS interface
│   └── cloud/
│       └── google-drive-client.ts # Google Drive API client
├── styles.css                  # Plugin styles
├── manifest.json               # Plugin metadata
└── package.json                # Dependencies

📋 Roadmap

  • Multi-provider AI script generation
  • Edge TTS and ElevenLabs support
  • Google Drive cloud sharing
  • Multi-language support
  • Google Drive desktop OAuth (loopback + PKCE + refresh token)
  • Batch processing for multiple notes
  • Custom voice cloning (ElevenLabs)
  • Audio transcription for existing recordings

🙏 Acknowledgments

  • Built with Obsidian API
  • AI powered by Google Gemini, XAI, OpenAI, and Anthropic
  • TTS by Microsoft Edge TTS and ElevenLabs
  • Cloud storage by Google Drive

🐛 Bug Reports & Feature Requests

Please open an issue on GitHub

Network, accounts, and files

This plugin is desktop-only (isDesktopOnly: true). Edge TTS runs the edge-tts command, Google sign-in listens on 127.0.0.1, and audio is written with Node.js file APIs.

It sends note text and API keys only to the provider you select:

  • Google Gemini script and TTS APIs, when Gemini is selected
  • xAI APIs, when xAI is selected
  • OpenAI script and speech APIs, when OpenAI is selected
  • Anthropic Messages API, when Claude is selected
  • ElevenLabs text-to-speech API, when ElevenLabs is selected
  • Google OAuth and Google Drive, when cloud sharing is connected. The access token and refresh token stay in this plugin's data. They are not written to the console.
  • Microsoft, indirectly, when Edge TTS is installed: the local edge-tts CLI contacts Microsoft to synthesize speech

Audio files are written inside the vault at <vault>/.obsidian/voice-briefings/ (via Vault.configDir, not a hardcoded path). The plugin does not read files outside the vault. There is no telemetry and no self-update.

API keys and Google client credentials are your accounts. Several of these services are paid or have a free tier. Full use of a provider requires that provider's key.

커뮤니티 디렉터리에 올리기

라이선스는 MIT입니다. 커뮤니티 디렉터리가 main.js, manifest.json, styles.css를 사용자에게 배포해도 됩니다.

작성자가 직접 할 일:

  1. GitHub 저장소를 공개합니다. 비공개 저장소는 디렉터리에 등록되지 않습니다.
  2. 저장소 Settings → Actions → General → Workflow permissions를 Read and write로 둡니다.
  3. 제출할 릴리스의 태그 이름은 manifest.json의 version과 같아야 합니다. 0.5.4 릴리스가 그 버전입니다.
  4. community.obsidian.md에 GitHub 계정을 연결하고 플러그인을 제출합니다. 안내: Submit your plugin.

authorUrl은 GitHub 프로필 https://github.com/reallygood83 입니다. 플러그인 설명은 마침표로 끝납니다. versions.json에는 0.5.0부터 0.5.4까지 minAppVersion 1.4.0이 들어 있습니다.

👤 Author

문정 (reallygood83)

🌟 Support

If you find this plugin useful, please consider:

  • ⭐ Starring the repository
  • 🐛 Reporting bugs and issues
  • 💡 Suggesting new features
  • 📖 Contributing to documentation

Made with ❤️ for the Obsidian community

🚧 Development Status: Active development, ready for testing

Similar Plugins

info
• Similar plugins are suggested based on the common tags between the plugins.
Media Extended
6 years ago by AidenLx
Transform your Obsidian into a powerful video note-taking tool. 🖇️🗂️⏯️
Dictionary
5 years ago by phibr0
Dictionary - Obsidian Plugin | This plugin adds a multilingual dictionary to the Obsidian note taking tool.
Google Drive Sync
2 years ago by Richard Xiong
A plugin to make Obsidian work in Google Drive to enable access to iOS.
Translate
4 years ago by Fevol
Translate text and entire notes in Obsidian
Text to Speech
5 years ago by Johannes Theiner
Text to speech for Obsidian. Hear your notes.
Voice
3 months ago by Chris Oguntolu
🔊 The Obsidian Voice plugin lets you listen to your written content being read aloud—mobile-friendly audiobook-like experience. 🎧
Edge TTS
2 years ago by Travis
Free, high quality text-to-speech for your Obsidian notes, leveraging Microsoft Edge's Read Aloud API.
Audio Notes
4 years ago by Jason Maldonis
Easily take notes on podcasts and other audio files using Obsidian Audio Notes.
Audio Player
4 years ago by noonesimg
audio player plugin with bookmarks for Obsidian.md
Aloud
3 years ago by Adrian Lyjak
Obsidian TTS Plugin
Voicenotes Sync
2 years ago by Andrew Lombardi
Official Obsidian plugin that syncs your notes from VoiceNotes.com into your vault
Resojot
3 months ago by Jiao Yingxing
Resojot / 应声记 - an Obsidian voice notes plugin
Local Media Embedder
2 years ago by seyf1elislam
an obsidian plugin allows you to Embed videos and images and audios from your local device in your notes.
Super Duper Audio Recorder
2 years ago by Thiago MadPin
Ever felt like the core audio recorder in Obsidian was playing hard to get? Well, fret no more! Our Super Duper Audio Recorder is here to save the day (and your sanity)! This plugin enhances your audio recording experience in Obsidian by adding folder selection and audio source options.
Eleven Labs
3 years ago by Mark Charles
Chatty
a year ago by Sadnan Saquif
A simple plugin for Obsidian that allows you to listen to your notes using text-to-speech. Uses the browser's built-in speech synthesis capabilities and your default system voices.
AutoPause
2 months ago by ckep1
Allows only one audio track playing in Obsidian at a time, pausing the others.
Cooklang
3 years ago by Roger Veciana i Rovira
Text2Audio
2 years ago by Haifeng Lu
Convert text to audio.
Cloudinary
3 years ago by Uday Samsani, Jordan Handy
Cloudinary plugin for content uploading and transformation.
Annotate Audio
2 years ago by VidE
Multilingual
3 years ago by leolazou
An plugin for Obsidian that translates note names to ease linking across many languages.
WHISPERER.md
2 years ago by Falcion
A plugin for note-taking app Obsidian which allows you to play ambience music in vault and assign different tracks to files specifically
Waveform Player
2 years ago by Zhou Hua
Memodack
2 years ago by Pavlo Kobyliatskyi
Your second language memory tool
Memories
9 months ago by DIMFLIX
Plugin to display a gallery directly in a note.
YTSummarizer
a year ago by Arda Kalaycı
Qiaomu Radio
a month ago by 向阳乔木
在 Obsidian 里发现和收听全球直播电台 | Discover and play live radio while you read, write, and think.
Create Note with Date in This Directory
a year ago by Sangrak Choi
Obsidian plugin for creating a note with current date in this directory
Andante
10 days ago by jordtcasbeer535
An elegant metronome for Obsidian
Student Repo
2 years ago by Feirong.zfr
学生知识库助手(Student Repository Helper)是一个面向学生或学生家长的Obsidian 插件,这款插件旨在解决学生在学习阶段面临的资料管理难题,将学习过程中产生的各类重要资料,如试卷、笔记、关键文档、绘画手工作品等,进行系统性的数字化整合与管理,并利用 AI 助手定期进行学习分析总结。随着时间的推移,它将助力你逐步搭建起一座专属你自己的知识宝库,这座宝库将伴随你一生,成为你知识成长与积累的见证。
RTL Math Text
a year ago by orelby
A plugin for Obsidian that adds support for right-to-left text in math expressions
Multi Cloud Sync
3 months ago by d0uub
Bamboo
5 months ago by Alexis C
Enable proper word selection for Chinese, Japanese, and Korean (CJK) text.
Simplest Todo
5 months ago by kintolayli