A powerful speech-to-text transcription plugin for Obsidian that uses OpenAI's GPT-4o Transcribe / GPT-4o Mini Transcribe and Whisper APIs.
- File Transcription: Transcribe existing audio and video files (see supported formats below)
- Post-Processing: Optional word correction to improve transcription accuracy
- Multi-Language: Supports multiple languages with automatic detection
| Transcription dialog | File picker | Settings panel |
|---|---|---|
![]() |
![]() |
![]() |
Supported extensions:
- Audio:
mp3,m4a,wav,flac,ogg,aac - Video:
mp4,m4v,mov,avi,mkv,webm
Notes:
- Video files are processed by extracting the audio track. Support depends on the file codec/DRM and your environment; if it fails, convert to an audio format (e.g.,
m4a,wav,mp3). - The external file picker currently supports up to 500MB per file. Workflows that decode media in the Obsidian renderer (including time ranges, local VAD, and formats that cannot use direct upload) accept at most 128MiB of encoded media and 2 hours of decoded audio, with an additional memory-work budget. Eligible GPT-4o direct uploads bypass this local decode limit and remain subject to the provider/model limits. Split or convert files that exceed the applicable limit.
- Obsidian v1.8.7 or higher (Desktop only)
- OpenAI API account with API key
- Internet connection for API calls
- Open Obsidian Settings
- Navigate to "Community plugins"
- Click "Browse" and search for "AI Transcriber"
- Click "Install"
- Enable the plugin
- Download the latest release from the GitHub releases page
- Extract
main.js,manifest.json, andstyles.cssto the AI Transcriber folder inside your vault's community plugins folder. - Reload Obsidian
- Enable the plugin in Settings → Community plugins
- Visit OpenAI Platform
- Sign up or log in to your account
- Navigate to API keys section
- Create a new API key
- Copy the key (you won't be able to see it again!)
Important: OpenAI API is a paid service. You will be charged based on usage. Please check OpenAI's pricing page for current rates.
- Open Obsidian Settings → AI Transcriber
- Enter your OpenAI API key
- Choose your preferred transcription model:
- GPT-4o Transcribe (
gpt-4o-transcribe): Highest quality transcription (recommended) - GPT-4o Mini Transcribe (
gpt-4o-mini-transcribe): Fast and cost-effective - Whisper (
whisper-1): Traditional transcription model
- GPT-4o Transcribe (
By default, the plugin does not remove silence, prioritizing quiet voices and short utterances. To use local VAD (WebRTC VAD) for on-device speech/silence detection:
- Download
fvad.wasmfrom the echogarden project: https://github.com/echogarden-project/fvad-wasm - In the plugin settings, select "Local" from the VAD Mode dropdown and load the file using the file loader. For manual installs, this places
fvad.wasmin the same plugin folder that containsmanifest.json. - Set VAD Mode to "Local" in the plugin settings
Local VAD can reduce uploaded audio and may reduce transcription cost when recordings contain substantial silence, but quiet voices and short utterances can be lost. If fvad.wasm is unavailable, processing continues without silence removal.
- Use the command palette: "AI Transcriber: Transcribe audio file"
- Select an audio or video file from your device
- Choose transcription settings
- Wait for processing
- The transcription text will be saved to your specified folder
- API Key: Your OpenAI API key (saved only when Electron safeStorage is available)
- Model Selection: Choose between GPT-4o Transcribe (
gpt-4o-transcribe), GPT-4o Mini Transcribe (gpt-4o-mini-transcribe), and Whisper (whisper-1) - Language: Specify a language (settings serve as a baseline, but the API will detect as appropriate)
- Save Location: Folder for transcribed notes
- Post-Processing: Enable/disable transcript enhancement
- Custom Dictionary: Improve transcription accuracy with personalized corrections
- Register commonly mistranscribed words or proper nouns
- Support for multiple languages (Japanese, English, Chinese, Korean)
This plugin requires an internet connection and communicates with the following services:
- OpenAI API (api.openai.com): Used for audio transcription and text processing
- Audio data is sent to OpenAI for transcription
- Transcribed text and related information are sent only when AI post-processing is enabled
- Definite dictionary corrections use no API and have no additional charge
- When both features are enabled, only relevant contextual dictionary entries are sent with the existing AI post-processing request; AI post-processing charges apply
- API key is sent with each request for authentication
- No data is stored permanently by the plugin beyond the transcribed text
Links to GitHub, OpenAI documentation, and Buy Me a Coffee are documentation or support links. They are not contacted by the plugin during transcription unless you open those links yourself.
- Vault file lists: The plugin uses the public Obsidian Vault API to list files only when the picker or history recovery needs them, then filters the result to supported transcription formats.
- Vault writes: The plugin creates a new transcription note with its complete body in the output folder you choose. Files selected outside the vault are copied into the plugin-owned
ai-transcriber-tempfolder, removed when processing or cancellation ends, and recovered for cleanup after an interrupted session on the next startup. The plugin may also placefvad.wasmin its plugin folder when you explicitly choose a local VAD file. - Manual recovery display: If creating a transcription note fails, the plugin shows the complete generated Markdown in a visible recovery window so you can restore it manually.
- Local VAD WASM:
fvad.wasmis an optional WebRTC VAD module from@echogarden/fvad-wasm. It is used only for local voice activity detection when configured. - Base64 encoding: Base64 is used for API-key storage wrappers and realtime audio encoding. It is not used to hide network endpoints or telemetry.
- New OpenAI API keys are saved only when Electron safeStorage is available. If OS encryption is unavailable, the plugin warns you and does not persist the new key. Legacy XOR-wrapped values remain readable for migration but are not used for new storage
- Eligible GPT-4o files may be uploaded directly as an automatic transport optimization; time ranges, local VAD, large files, and unsupported direct-upload formats are processed locally before upload. Ordinary GPT-4o and GPT-4o Mini transcription requests do not request server-side chunking
- Locally processed chunks use WebCodecs Opus in an audio-only WebM container when the current Obsidian runtime supports it, reducing uploaded bytes. If capability detection, encoding, or container creation fails, the plugin falls back to 16 kHz mono WAV before making the request
- For a selected time range, only that processed range is encoded into upload chunks; the full original recording is not attached to the range request
- No telemetry or usage data is collected by this plugin
- Transcribed text is saved only to your local vault
"Invalid API Key" error
- Verify your API key is correct and active
- Check if you have sufficient credits in your OpenAI account
"Recording failed" error
- Ensure your computer has microphone permissions
- Try using a different audio format in settings
Transcription is cut off or incomplete
- Large audio files may hit token limits
- Try using shorter recordings or split long files
Poor transcription quality
- Ensure good audio quality (minimal background noise)
- Speak clearly and at a moderate pace
- Try using GPT-4o Transcribe model for better accuracy
If you encounter issues:
- Check the console for error messages (Ctrl/Cmd + Shift + I)
- Disable other plugins to test for conflicts
- Report issues on GitHub
If you find this plugin helpful, consider:
- Starring the repository on GitHub
- Reporting bugs or suggesting features
- Contributing to documentation
This plugin is licensed under the MIT License. See LICENSE for details.
This plugin includes third-party software with their own licenses. See THIRD-PARTY-LICENSES.md for details.
Notable third-party components:
- WebRTC VAD (@echogarden/fvad-wasm): Used for voice activity detection
- The wonderful Obsidian team for providing an excellent platform
- OpenAI for providing powerful AI models
- WebRTC VAD - Google's voice activity detection algorithm
- @echogarden/fvad-wasm - WASM port of WebRTC VAD
- Node.js - JavaScript runtime
- TypeScript - Type-safe JavaScript
- esbuild - Fast JavaScript bundler
- Jest - Testing framework
OpenAIのGPT-4o Transcribe / GPT-4o Mini TranscribeとWhisper APIを使用したObsidian用の強力な音声認識テキスト変換プラグインです。
- ファイル文字起こし: 音声ファイル・動画ファイルを文字起こし(対応形式は下記)
- 後処理: 文字起こし精度を向上させるオプションの単語校正機能
- 多言語対応: 自動検出による複数言語のサポート
| 文字起こしダイアログ | ファイル選択 | 設定画面 |
|---|---|---|
![]() |
![]() |
![]() |
対応している拡張子:
- 音声:
mp3,m4a,wav,flac,ogg,aac - 動画:
mp4,m4v,mov,avi,mkv,webm
補足:
- 動画ファイルは音声トラックを抽出して処理します。コーデック/DRMや環境によっては失敗する場合があるため、その場合は音声形式(例:
m4a,wav,mp3)に変換してお試しください。 - Vault外から選択するファイルは現状 最大500MB までです。Obsidian のレンダラー内でメディアをデコードする処理(時間範囲指定、ローカルVAD、直接送信できない形式など)は、エンコード済みデータ 128MiB、デコード後の音声 2時間 を上限とし、別途メモリ使用量の上限も適用します。条件を満たす GPT-4o の直接送信はこのローカルデコード上限の対象外ですが、プロバイダーおよびモデル側の制限が適用されます。該当する上限を超える場合は、ファイルを分割または変換してください。
- Obsidian v1.8.7以上(デスクトップ版のみ)
- OpenAI APIキー
- API呼び出し用のインターネット接続
- Obsidianの設定を開く
- 「Community plugins」に移動
- 「閲覧」をクリックして「AI Transcriber」を検索
- 「インストール」をクリック
- プラグインを有効化
- GitHubリリースページから最新リリースをダウンロード
main.js、manifest.json、styles.cssを、vault内のCommunity plugin用AI Transcriberフォルダに展開- Obsidianを再読み込み
- 設定 → Community pluginsでプラグインを有効化
- OpenAI Platformにアクセス
- アカウントにサインアップまたはログイン
- APIキーセクションに移動
- 新しいAPIキーを作成
- キーをコピー(再度表示されません!)
重要: OpenAI APIは有料サービスです。使用量に基づいて課金されます。現在の料金はOpenAIの価格ページをご確認ください。
- Obsidian設定 → AI Transcriberを開く
- OpenAI APIキーを入力
- 希望の文字起こしモデルを選択:
- GPT-4o Transcribe (
gpt-4o-transcribe): 最高品質の文字起こし(推奨) - GPT-4o Mini Transcribe (
gpt-4o-mini-transcribe): 高速でコスト効率が良い - Whisper (
whisper-1): 従来の文字起こしモデル
- GPT-4o Transcribe (
既定では無音を除去せず、小さな声や短い発話を含む音声全体を処理します。端末内で音声/無音判定(WebRTC VAD)を行いたい場合は、以下の手順でローカルVADを有効化できます。
- echogardenプロジェクトから
fvad.wasmをダウンロード: https://github.com/echogarden-project/fvad-wasm - 設定の無音検出方式のプルダウンでローカルを選択し、ファイルの読み込みで
fvad.wasmを導入。手動インストールでは、manifest.jsonと同じプラグインフォルダに配置されます。 - プラグイン設定で VAD モードを「ローカル」に設定
無音が多い録音では、ローカルVADにより送信音声が減り、文字起こし料金を削減できる場合があります。ただし、小さな声や短い発話が欠ける可能性があります。fvad.wasm を利用できない場合は、無音を除去せずに処理を続行します。
- コマンドパレット: 「AI Transcriber: 音声ファイルを文字起こし」を使用
- デバイスから音声/動画ファイルを選択
- 文字起こし設定を選択
- 処理を待つ
- 文字起こしテキストが指定されたフォルダに保存されます
- APIキー: OpenAI APIキー(Electron safeStorageを利用できる場合にのみ保存)
- モデル選択: GPT-4o Transcribe(
gpt-4o-transcribe)、GPT-4o Mini Transcribe(gpt-4o-mini-transcribe)、Whisper(whisper-1)から選択 - 言語: 言語を指定(設定を基本としつつもAPI側で適宜判別)
- 保存場所: 文字起こしノートのフォルダ
- 後処理: transcript強化の有効/無効
- カスタム辞書: 個人用の補正辞書で文字起こし精度を向上
- よく誤認識される単語や固有名詞を登録
- 複数言語対応(日本語、英語、中国語、韓国語)
このプラグインはインターネット接続が必要で、以下のサービスと通信します:
- OpenAI API (api.openai.com): 音声の文字起こしとテキスト処理に使用
- 音声データは文字起こしのためOpenAIに送信されます
- 文字起こしテキストと関連情報は、AI後処理を有効にした場合にのみ送信されます
- 固定補正はAPIを使わないため、追加料金はかかりません
- 両方を有効にした場合、関連する文脈補正だけを既存のAI後処理リクエストに含めます。AI後処理の料金がかかります
- APIキーは認証のため各リクエストと共に送信されます
- プラグインによって文字起こしされたテキスト以外のデータは永続的に保存されません
GitHub、OpenAIドキュメント、Buy Me a Coffeeへのリンクは、ドキュメントまたはサポート用リンクです。ユーザーがリンクを開かない限り、文字起こし処理中にプラグインがそれらへ通信することはありません。
- Vaultファイル一覧: 音声/動画ファイルの選択や文字起こし履歴の復旧が必要なときだけ、公開されているObsidian Vault APIでファイル一覧を取得し、文字起こし対応形式に絞り込みます。
- Vaultへの書き込み: 選択した出力フォルダに、完全な本文を含む新しい文字起こしノートを一度で作成します。Vault外から選択したファイルはプラグイン所有の
ai-transcriber-tempフォルダへ一時コピーし、処理完了時またはキャンセル時に削除します。中断による残存ファイルは次回起動時に清掃します。また、ユーザーがローカルVADファイルを明示的に選択した場合はfvad.wasmをプラグインフォルダへ配置することがあります。 - 手動復旧表示: 文字起こしノートの作成に失敗した場合、生成済みの完全なMarkdownを復旧用ウィンドウに表示し、手動で復元できるようにします。
- ローカルVAD WASM:
fvad.wasmは@echogarden/fvad-wasm由来の任意のWebRTC VADモジュールです。ローカル音声区間検出を設定した場合にのみ使用します。 - Base64エンコード: Base64はAPIキー保存用ラッパーとリアルタイム音声エンコードに使用します。通信先やテレメトリーを隠す目的では使用していません。
- 新しいOpenAI APIキーはElectron safeStorageを利用できる場合にのみ保存します。OS暗号化を利用できない場合は警告を表示し、新しいキーを永続化しません。旧XOR形式は移行のため読み取り互換性だけを維持します
- 条件を満たすGPT-4o向けファイルは通信経路の最適化として自動的に直接送信する場合があります。時間範囲・ローカルVAD・大容量・直接送信非対応形式は送信前にローカル処理します。通常のGPT-4oおよびGPT-4o Mini文字起こしでは、サーバー側チャンク処理を要求しません
- このプラグインによるテレメトリーや使用データの収集はありません
- 文字起こしされたテキストはローカルのvaultにのみ保存されます
「無効なAPIキー」エラー
- APIキーが正しく、アクティブであることを確認
- OpenAIアカウントに十分なクレジットがあるか確認
「録音に失敗しました」エラー
- PCにマイクの権限があることを確認
- 設定で別の音声形式を試す
文字起こしが途切れるまたは不完全
- 大きな音声ファイルはトークン制限に達する可能性があります
- より短い録音を使用するか、長いファイルを分割してください
文字起こし品質が悪い
- 良好な音質を確保(背景ノイズを最小限に)
- はっきりと、適度なペースで話す
- より高い精度のためGPT-4o Transcribeモデルを試す
問題が発生した場合:
- エラーメッセージのコンソールを確認(Ctrl/Cmd + Shift + I)
- 競合をテストするため他のプラグインを無効化
- GitHubで問題を報告
このプラグインが役立つと思われた場合:
- GitHubでリポジトリにスターを付ける
- バグの報告や機能の提案
- ドキュメントへの貢献
このプラグインはMITライセンスの下でライセンスされています。詳細はLICENSEをご覧ください。
このプラグインには独自のライセンスを持つサードパーティソフトウェアが含まれています。詳細はTHIRD-PARTY-LICENSES.mdをご覧ください。
主なサードパーティコンポーネント:
- WebRTC VAD (@echogarden/fvad-wasm): - 音声区間検出に使用
- 素晴らしいプラットフォームを提供してくれたObsidianチーム
- 強力なAIモデルを提供してくれたOpenAI
- WebRTC VAD - Googleの音声区間検出アルゴリズム
- @echogarden/fvad-wasm - WebRTC VADのWASMポート
- Node.js - JavaScriptランタイム
- TypeScript - 型安全なJavaScript
- esbuild - 高速JavaScriptバンドラー
- Jest - テスティングフレームワーク


