/youtube-sequencer

The YouTube Sequencer Chrome Extension offers an interactive tool for customizing video playback speeds and sequences on YouTube.

Primary LanguageJavaScriptMIT LicenseMIT

YouTube Sequencer

The YouTube Sequencer Chrome Extension offers an interactive tool for customizing video playback speeds and sequences on YouTube.

📄 Tutorial

📺 Video tutorial

📺 Demo

I initially began this project as a simple keystroke emulator for creating sequences from YouTube videos, but it has evolved into a more complex tool. First prototype was made years ago using puredata.

This extension allows for intricate control over YouTube video playback, enabling users to select specific slices of a video to play and adjust the sequence tempo. Users can also change the current note length (ranging from 1/16t to 1/2d) and modify the playback speed, which is mapped exponentially from 0.0625 to 16 over a range of 0 to 100. Sequences are persistent, meaning they can be saved and accessed even after a page reload.

Caution

Currently, this project is in the proof-of-concept stage, and as such, encountering bugs is expected.

Tip

If you're having trouble locating the sequencer UI, a page reload might resolve the issue.

Installation

  • Clone this repo or download a zip of the repo and unzip it on your computer.
  • Open the extensions page in your browser: chrome://extensions. This link works on any chromium-based browser.
  • Toggle the "developer mode" on. This is usually a toggle button at the top right of the extensions page.
  • Click the button load unpacked extension.
  • In the window that pops up, select the folder that contains repo, then click ok.
  • Done! A new extension called YouTube Sequencer should have appeared in the list.

TODO

  • Port to Firefox.
  • Replace keystroke emulation for controlling video playback with direct manipulation of the video.currentTime property.
  • Implement functionality to create custom slices of the video based on normalized or absolute time intervals.
  • Save and load "dialogues". Save multiple sequences, store the video id sequence made for, comments and slices data.
  • Create a bot that visits the specified video, downloads it, analyzes the audio data to find transients, and posts a comment with the timecodes of these transients.
  • Transition the extension's architecture from using a fully injected script to incorporating a side panel interface.

Links