Skip to content

mikidep/midiedlsequencer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MIDI EDL Sequencer

Generates EDL timelines from MIDI files.

TL;DR:

tldr

In detail:

MIDI EDL Sequencer is a Python 3 script that generates EDL Timelines from a MIDI file, translating MIDI notes to video clips. The user produces a YAML file specifying various samples, as in the following example:

 - name: kick
   note: C1
   src: bd deep.mov
   start: 0.729
   length: 0.321

 - name: rim
   note: C#1
   src: click.mov
   start: 9.813
   length: 0.144

 - name: snare
   note: D1
   src: pop.mov
   start: 2.765
   length: 0.143

 - name: snare2
   note: E1
   src: click.mov
   start: 22.666
   length: 0.603

For each of these samples an EDL file named according to the name attribute is generated, which represents a timeline with a single track, on which video clips are positioned on times matching the occurences of the specified note. Each video clip has the specified source (src), cut according to the start and length attributes (in seconds). The EDL file can then be imported in a video editor (only tested on DaVinci Resolve), in which video clips with corresponding filenames have been imported.

The purpose of this script is to aid the editing of videos involving samples taken from, or otherwise associated to, video clips, where one wants to have the clips appear on time with some MIDI sequencing of the corresponding samples.

Installation

From wheel

Download the .whl file from the Releases page. Then, in the download folder:

python3 -m pip install midiedlsequencer*.whl

Note that the pip script path (usually ~/.local/bin) should be in your $PATH.

From source

First, get Poetry if not already installed. Then:

git clone https://github.com/mikidep/midiedlsequencer.git
cd midiedlsequencer
poetry build --format wheel
python3 -m pip install dist/midiedlsequencer*.whl

Usage

midiedlsequencer --help
MIDI EDL Sequencer
Generates EDL timelines from MIDI files.

Usage:
  midiedlsequencer -s SAMPLES_FILE -m MIDI_FILE -o OUTPUT_FOLDER [--middle-c MIDDLE_C] [--fps FPS]
  midiedlsequencer (-h | --version)

Options:
  -h --help             Show this screen.
  --version             Show version.
  -s SAMPLES_FILE       Samples description YAML file.
  -m MIDI_FILE          Input MIDI sequence file
  -o OUTPUT_FOLDER      Output folder for EDL files.
  --middle-c MIDDLE_C   The name of middle C, aka MIDI note 60. Must be either C3 or C4. [default: C3]
  --fps FPS             The FPS setting for the resulting timelines. [default: 30.0]

For example:

midiedlsequencer -s samples.yml -m dm.mid -o edl/
midiedlsequencer -s samples.yml -m dm.mid -o edl --middle-c C4 --fps 24

About

Generates EDL timelines from MIDI files

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages