Advanced Audio Recorder

pending

by Anatol Khmialeuski

Forked from Super Duper Audio Recorder

Advanced audio recording with input device and folder configuration.

5 starsUpdated 22d agoMITDiscovered via Obsidian Unofficial Plugins
View on GitHub

Obsidian Advanced Audio Recorder

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+

Features

  • Audio recording with real-time status bar and ribbon icon feedback.
  • Pause and resume mid-recording without losing progress.
  • Multi-track recording from up to 8 input devices simultaneously.
  • 8 output formats: WAV, WebM, OGG, MP3, MP4, M4A, AAC, FLAC.
  • Audio format conversion between supported formats via context menu.
  • Audio file info viewer showing duration, bitrate, sample rate, codec, and more.
  • Configurable save location with vault folder or near-active-file mode.
  • Insert at original position to place the audio link where recording started.
  • System diagnostics for troubleshooting environment and codec issues.
  • Test recording to verify device and format settings before real use.

Installation

  1. Open Settings in Obsidian.
  2. Navigate to Community plugins and disable Safe mode.
  3. Click Browse and search for "Advanced Audio Recorder".
  4. Click Install, then Enable the plugin.

Quick start

  1. Click the microphone icon in the left ribbon (or run Start/stop recording from the command palette).
  2. Speak or play audio into your microphone.
  3. Click the ribbon icon again (or run the command) to stop and save.
  4. An audio embed link is automatically inserted into the active note.

Commands

All commands are available via the command palette (Ctrl/Cmd + P) and can be assigned custom hotkeys in Settings > Hotkeys.

CommandDescription
Start/stop recordingStarts 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 recordingPauses an active recording and resumes it. Available only while recording is active.
Select audio input deviceOpens 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.

Recording workflow

Starting a recording

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:

  • The ribbon icon changes from a microphone to an active recording indicator.
  • The status bar displays Recording... with Pause and Stop buttons.

Pausing and resuming

While recording is active, run Pause/resume recording from the command palette or click the Pause button in the status bar.

  • The status bar shows Recording paused with Resume and Stop buttons.
  • Run the same command again or click Resume to continue recording.

Pause/Resume guide

Stopping and saving

Click the ribbon icon or run Start/stop recording again. The plugin:

  1. Stops the MediaRecorder.
  2. Flushes audio buffers and assembles the final file.
  3. Writes the file to the configured save location.
  4. Inserts an embed link (![[filename.ext]]) into the active note.
  5. Cleans up temporary data.

Save progress indicator

For longer recordings, saving may take noticeable time. The status bar shows a progress bar during this phase:

ProgressStage
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.

Context menu actions

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:

Audio file info

Displays detailed metadata about the audio file in a modal dialog:

  • File name and file size
  • Duration (HH:MM:SS)
  • Container format (MIME type)
  • Audio codec (opus, aac, mp3, pcm, flac, etc.)
  • Bitrate (calculated kbps)
  • Sample rate (Hz)
  • Channels (Mono/Stereo)

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.

Convert audio format

Opens a conversion dialog to transcode the audio file to a different format. Options:

  • Target format with encoder description (e.g., FLAC (flac-encoder), MP3 (lamejs)).
  • Bitrate selection (64-320 kbps).
  • Delete source file toggle to remove the original after successful conversion.
  • Update links in notes: 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.

Delete recording

Moves the audio file to the system trash.

Delete recording & link to file

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.

Delete via link Delete via player

Formats and containers

Available recording formats depend on your platform's MediaRecorder support. The plugin detects supported formats at runtime.

FormatCodecEncodingNotes
WebMOpusOnlineDefault format. Widely supported on desktop.
OGGOpus/VorbisOnlineGood compatibility on most systems.
WAVPCMOnline (streaming)Uncompressed. Captured as raw PCM in real time and assembled into a WAV file on save. Supports long recordings reliably without memory issues.
MP3MP3Offline (lamejs)Encoded after recording stops using the lamejs library.
FLACFLACOffline (flac-encoder)Lossless compression. Encoded after recording using flac-encoder.
MP4AACOnline/OfflineBrowser-dependent. May use offline encoding via mediabunny.
M4AAACOnline/OfflineSame as MP4, different container extension.
AACAACOnline/OfflineRaw 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.

Multi-track recording

Record from multiple input devices simultaneously (up to 8 tracks).

Setup

  1. Enable Multi-track recording in settings.
  2. Set the Maximum tracks count (1-8).
  3. Assign an Audio source (input device) to each track.
  4. Choose the Output mode:
    • Single file: all tracks are mixed into one file.
    • Multiple files: each track is saved as a separate file.

Behavior

  • Each track uses its own MediaRecorder instance with the configured format and bitrate.
  • All tracks start and stop together.
  • In Multiple files mode, file names include the track number or device name (when Use source names for tracks is enabled).

Settings reference

Open Settings > Advanced Audio Recorder to configure the plugin.

Audio input

SettingDescriptionDefault
Input deviceSelect the default microphone/input device. The dropdown dynamically lists all available devices and auto-refreshes when devices are connected or disconnected.Auto-detected
Sample rateAudio sample rate in Hz. Options: 8000, 16000, 22050, 44100, 48000.44100

Output format

SettingDescriptionDefault
Recording formatFinal file format. Offline formats are labeled with (offline).WebM
Audio bitrateCompression quality. Options: 64, 96, 128, 160, 192, 256, 320 kbps. Higher values produce better quality and larger files.128 kbps
Output summaryRead-only display showing the current format, bitrate, compression type, and encoder.
Delete source after conversionWhen converting audio via context menu, automatically delete the original file after successful conversion.Off
Update links after conversionHow to handle links to the source file in notes after conversion. Options: Do nothing, Replace source link, Insert after source link.Replace source link

File storage

SettingDescriptionDefault
Save folderVault folder where recordings are stored. Offers autocomplete suggestions from existing folders.Vault root
Save recordings near active fileSave recordings in the same directory as the currently active note. Takes priority over Save folder.Off
Active file subfolderOptional 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 prefixFilename prefix for recordings (e.g., recording produces recording-1710000000000.webm).recording
Insert at original positionRemember the note and cursor position when recording starts. The audio link is inserted at that location, even if you navigate away during recording.Off

Multi-track recording

SettingDescriptionDefault
Enable multi-track recordingRecord from multiple input devices at the same time.Off
Maximum tracksNumber of simultaneous tracks (1-8).2
Output modeSingle file combines all tracks into one file. Multiple files saves one file per track.Single file
Audio source for track NSelect the input device for each track. One dropdown per track.

Diagnostics

SettingDescription
Test recordingRecords 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 infoOpens 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 modeEnables verbose console logs prefixed with [AudioRecorder] for troubleshooting recording issues.

Troubleshooting

No sound is recorded

  1. Check that the correct Input device is selected in settings.
  2. Run the Test recording from settings to verify device access.
  3. Ensure your OS/browser has granted microphone permissions to Obsidian.

Recording format is not available

Some formats require browser-level MediaRecorder support. If a format is not listed:

  • Try WebM or WAV which have the broadest support.
  • Check System info in settings to see which formats and codecs your environment supports.

Conversion fails

  • Ensure the source file is a valid audio file (not corrupted).
  • Check that the target format is supported for offline encoding (see the Formats and containers table).
  • Use Audio file info from the context menu to inspect the source file properties.

Recording is slow to save

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.

Collecting diagnostics for bug reports

When reporting issues:

  1. Open Settings > Advanced Audio Recorder > System info and click Copy to clipboard.
  2. Right-click the problematic audio file and select Audio file info, then click Copy as Markdown.
  3. Include both outputs in your bug report along with steps to reproduce.

See Bug reporting guide for detailed instructions.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Support

If you find this plugin useful, consider supporting its development!

Buy Me A Coffee

For plugin developers

Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.