autonotes

Automation tool to autocapture screenshots and join them with a supplied .srt or .txt file and output a notes file in markdown.

Problem?

Watching classes / presentations online and taking notes at the same time can be hard sometimes. If they are pre-recorded you can spend a lot of time pausing and unpausing the video. So I wanted to automate the process of taking notes for later reference so I could also just focus on paying uninterrupted attention to the class/presentation.

Solution

Tool that takes sceenshots from the classes / presentations (ideally in the right time) and joins them together with a later supplied .srt (or txt but not supported yet) file. This .srt file can be generated with a number of tools, I’m using otter.ai for converting Speech-to-Text. If you’re using this with youtube videos, and the video already has subtitles, you can get that file instead of converting speech to text.

Note: This is a WIP, right now you I recommend using otter.ai to generate an .srt file from the talk you are listening to and then feed it to this script. You should start recording with otter.ai and autonotes at the same time.

Example

Inside both input and output folders you can find a real use case scenario with the name example-what-is-linux that was generated from the video: https://www.youtube.com/watch?v=YA-3NI_Lfns In this scenario, I did the following steps:

  1. I had a mobile on the desk with otter.ai open.
  2. Started autonotes with the command: mage screen:capture 5 0 5000 jpeg example-what-is-linux (it has a start delay of 5s)
  3. Started both the video on youtube and otter.ai recording at the same time as the autonotes start delay was ending.
  4. Exported the .srt file from otter.ai and put it on the input folder with the name example-what-is-linux.srt otter
  5. Generate markdown file with the command mage notes:generate example-what-is-linux and the file is save to output/example-what-is-linux/example-what-is-linux.md

capture generate

  1. Output: markdown

View output markdown file: output file

Setup

git clone https://github.com/marcos10soares/autonotes.git
cd autonotes
go get -d ./...

Usage

For the sake of simplicity, mage was used, there is no need to install it.

If you have mage installed just call mage othewise you can do go run main.go where you see mage being used.

Just in case you want to install it: How to Install mage

Show list of options if you have mage installed:

mage

otherwise do:

go run main.go

outputs:

<div class="highlight highlight-source-shell position-relative" data-snippet-clipboard-copy-content="❯ mage
Mage is a make-like command runner. See https://magefile.org for full docs.

Targets:
notes:generate .md notes file – usage: mage generate
screen:capture screen – usage: mage screen:capture
screen:test screen capture all screens and saves them to a "screen_test" folder with the number of the screen
“>

❯ mage
Mage is a make-like command runner.  See https://magefile.org for full docs.

Targets:
  notes:generate    .md notes file - usage: mage generate <file_and_folder_name_must_have_the_same_name>
  screen:capture    screen - usage: mage screen:capture <start_delay_seconds> <screen_index> <capture_interval_ms> <jpeg_or_png> <output_folder_name>
  screen:test       screen capture all screens and saves them to a "screen_test" folder with the number of the screen