Annotate Audio

approved

by VidE

Listen to an audio and add comments to it.

7 stars1,740 downloadsUpdated 9mo agoGPL-3.0
View on GitHub

What is it?

Preview GIF

  • Reproduce an audio file
  • Tweak listening experience by changing: volume, playback speed, looping...
  • Add comments to desired timestamps. They are formatted as LRC
  • Quickly jump to a specific timestamp by left-clicking on the related comment
  • Modify/Delete a comment by right-clicking on it (dedicated button for mobile)
  • Inuitive keyboard shortcuts
  • Mobile compatible
  • Controllabe with Obsdian commands
  • Localized interface: en, it, zh-cn, es, pt-br (Want to add your language?)
  • Precision down to the millisecond
``` annotate-audio
#32a9143a94c3700d
source: [[My Audio.mp3]]
chunk: 00:00.00-02:52.10
volume: 0.5
speed: 1
loop: false
layout: 0
sticky: false
autoplay: false

[00:37.07]Section 1
[12:45.34]Section 2
[14:01.90]Section 3
```

The first line is the ID. You are free to personalize it (# + 16 characters hexadecimal) but don't move it around

Options

Each audio-box has its owns. They can be tweaked manually or, more easily, using the dedicated modal. (Their order is not important but they need to be placed before the comments)

NameDefaultValuesDescription
sourceWikiLink to the audio file to reproduce
volume0.50.01.0Player base volume
speed10.01.0Player playback speed
loopfalsetrue/falseLoop-back to beginning after getting to the end of the audio
stickyfalsetrue/falseMain controls become sticky, following you as you scroll down
layout00,1,2What player layout to display (feel free to make your own)
chunkundefinedMM:SS.ss-MM:SS.ssSection of audio to play
autoplayfalsetrue/falseWhen clicking on a comment, the player starts playing from there instead of simply moving there
unstoppablefalsetrue/falseWhen creating/modifing a comment, the player doesn't stop
decimals00,1,2,3How many decimals are displayed when showing time

There are also some options only available in specific layouts

LayoutNameDefaultValuesDescription
1, 2titleundefinedTitle of the player. If not present: not shown. If not set: name of audio file (or its alias, if present)

Obsidian Commands

NameAction
Add audioboxInsert an already-configured audio-box inside the note
Insert commentInsert a comment in the last interacted audiobox
Pause audioboxPause player in the last interact audiobox
Play audioboxPlay player in the last interact audiobox
Toggle audioboxToggle player in the last interact audiobox
Move forwardMove player forward in the last interact audiobox
Move backwardMove player backward in the last interact audiobox

Development

For all the changes, check CHANGELOG.md

Road-Map

  1. Allow hotkeys inside input text box
  2. Follow native folder exclusion in the audio file search
  3. Render markdown even when modifying a comment. "Live-Preview" (https://github.com/nothingislost/obsidian-cm6-attributes)

Known Issues

  • title option inside modal is not displayed correctly on mobile
  • Layout-unique options are visible inside other layouts
  • Audiobox in "reading" and "editing" mode are not in sync
  • Checking when to use cache - by looking at the options hashing - is not efficiently done
  • Big layout's wavegraph cannot handle file bigger than 2GiB

Credits

These are the sources on which I've initially developed this plugin:

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.