akhmialeuski109 downloadsAdvanced audio recording with input device and folder configuration.
An advanced audio recording plugin for Obsidian with configurable save location, input device selection, pause/resume control, multi-track capture, format conversion, and built-in diagnostics.
Desktop only | Requires Obsidian 0.15.0+
Start/stop recording from the command palette).All commands are available via the command palette (Ctrl/Cmd + P) and can be assigned custom hotkeys in Settings > Hotkeys.
| Command | Description |
|---|---|
| Start/stop recording | Starts a new recording session or stops the current one. The recorded file is saved and a link is inserted into the active note. |
| Pause/resume recording | Pauses an active recording and resumes it. Available only while recording is active. |
| Select audio input device | Opens a quick device picker modal. The selected device is saved to settings immediately. |
Tip: The plugin does not assign default hotkeys to avoid conflicts. Assign your own hotkeys in Settings > Hotkeys for the best experience.
Click the microphone icon in the ribbon or run Start/stop recording from the command palette. The plugin captures the current note and cursor position so the audio link can be inserted there when recording finishes.
During recording:
Recording... with Pause and Stop buttons.While recording is active, run Pause/resume recording from the command palette or click the Pause button in the status bar.
Recording paused with Resume and Stop buttons.
Click the ribbon icon or run Start/stop recording again. The plugin:
![[filename.ext]]) into the active note.For longer recordings, saving may take noticeable time. The status bar shows a progress bar during this phase:
| Progress | Stage |
|---|---|
| 0% | Saving... |
| 20% | Flushing buffers... |
| 40% | Assembling audio... |
| 60% | Writing file... |
| 80% | Cleaning up... |
| 100% | Saved |
The ribbon icon switches to a save icon while saving is in progress.
Right-click on an audio file in the File Explorer, on an audio embed link in the editor, or on an embedded audio player to access these actions:
Displays detailed metadata about the audio file in a modal dialog:
The modal includes a Copy as Markdown button that copies all metadata as a formatted Markdown list to the clipboard. This is useful when filing bug reports.
Opens a conversion dialog to transcode the audio file to a different format. Options:
FLAC (flac-encoder), MP3 (lamejs)).Do nothing, Replace source link, or Insert after source link.The conversion reads the source file, decodes it at its native sample rate (to avoid resampling artifacts), re-encodes it in the target format, and saves the new file alongside the original.
Moves the audio file to the system trash.
Moves the audio file to the system trash and removes the corresponding embed link from the editor. Available when right-clicking on a link in the editor or on an embedded player.

Available recording formats depend on your platform's MediaRecorder support. The plugin detects supported formats at runtime.
| Format | Codec | Encoding | Notes |
|---|---|---|---|
| WebM | Opus | Online | Default format. Widely supported on desktop. |
| OGG | Opus/Vorbis | Online | Good compatibility on most systems. |
| WAV | PCM | Online (streaming) | Uncompressed. Captured as raw PCM in real time and assembled into a WAV file on save. Supports long recordings reliably without memory issues. |
| MP3 | MP3 | Offline (lamejs) | Encoded after recording stops using the lamejs library. |
| FLAC | FLAC | Offline (flac-encoder) | Lossless compression. Encoded after recording using flac-encoder. |
| MP4 | AAC | Online/Offline | Browser-dependent. May use offline encoding via mediabunny. |
| M4A | AAC | Online/Offline | Same as MP4, different container extension. |
| AAC | AAC | Online/Offline | Raw AAC stream. Browser-dependent support. |
Online encoding means the browser's MediaRecorder writes data in real time during recording.
Offline encoding means the audio is captured in a supported intermediate format (e.g., WebM) and then re-encoded after recording stops. The settings tab marks offline formats with an (offline) label.
Record from multiple input devices simultaneously (up to 8 tracks).
Open Settings > Advanced Audio Recorder to configure the plugin.
| Setting | Description | Default |
|---|---|---|
| Input device | Select the default microphone/input device. The dropdown dynamically lists all available devices and auto-refreshes when devices are connected or disconnected. | Auto-detected |
| Sample rate | Audio sample rate in Hz. Options: 8000, 16000, 22050, 44100, 48000. | 44100 |
| Setting | Description | Default |
|---|---|---|
| Recording format | Final file format. Offline formats are labeled with (offline). |
WebM |
| Audio bitrate | Compression quality. Options: 64, 96, 128, 160, 192, 256, 320 kbps. Higher values produce better quality and larger files. | 128 kbps |
| Output summary | Read-only display showing the current format, bitrate, compression type, and encoder. | — |
| Delete source after conversion | When converting audio via context menu, automatically delete the original file after successful conversion. | Off |
| Update links after conversion | How to handle links to the source file in notes after conversion. Options: Do nothing, Replace source link, Insert after source link. |
Replace source link |
| Setting | Description | Default |
|---|---|---|
| Save folder | Vault folder where recordings are stored. Offers autocomplete suggestions from existing folders. | Vault root |
| Save recordings near active file | Save recordings in the same directory as the currently active note. Takes priority over Save folder. | Off |
| Active file subfolder | Optional subfolder relative to the active file directory (e.g., audio). Created automatically if it does not exist. Only visible when "Save near active file" is enabled. |
— |
| File prefix | Filename prefix for recordings (e.g., recording produces recording-1710000000000.webm). |
recording |
| Insert at original position | Remember the note and cursor position when recording starts. The audio link is inserted at that location, even if you navigate away during recording. | Off |
| Setting | Description | Default |
|---|---|---|
| Enable multi-track recording | Record from multiple input devices at the same time. | Off |
| Maximum tracks | Number of simultaneous tracks (1-8). | 2 |
| Output mode | Single file combines all tracks into one file. Multiple files saves one file per track. |
Single file |
| Audio source for track N | Select the input device for each track. One dropdown per track. | — |
| Setting | Description |
|---|---|
| Test recording | Records a 5-second test clip using current settings and plays it back. The test file is automatically deleted when you leave settings. Useful for verifying device and format compatibility. |
| System info | Opens a modal with full system diagnostics: Obsidian version, Electron version, platform, audio devices, supported formats, codec support, active recording configuration, and all plugin settings. Includes a Copy to clipboard button for sharing in bug reports. |
| Debug mode | Enables verbose console logs prefixed with [AudioRecorder] for troubleshooting recording issues. |
Some formats require browser-level MediaRecorder support. If a format is not listed:
Long recordings may take time during the save phase (buffer flushing, audio assembly). The progress bar in the status bar shows the current stage. This is expected behavior.
When reporting issues:
See Bug reporting guide for detailed instructions.
This project is licensed under the MIT License. See the LICENSE file for details.
If you find this plugin useful, consider supporting its development!