/dj-beat

A tool for beat tracking, ready for FCPX and Premiere.

Primary LanguageJupyter NotebookMIT LicenseMIT

Version: 0.4.9
"A Simple Beat Time Marks Generator"
-- Created by Kevin T. Lee --

MIT Code Version

DJ-beat

Dj-beat is an easy-to-use generator that automatically detects audio beats and generates time markers for FCPX and Adobe Premiere*.

P.S. why the tool is called DJ beat? DJ is from my chinese first name of course...

🎧 Overview

A good music-driven video requires a perfect combination of sound and picture. Think about you're using the video editing software like Final Cut Pro X, you need to manually mark the place on the soundtrack that denotes the beat. Now, you have the DJ-beat, which can help you handle such a boring thing, mark, mark, mark...While it may do better than us.

Dj-beat is a simple tool developed based on python3 and madmom library, supports operating via command line and graphical interface*. The principle of the tool is the music beat tracking (based on multi-LSTM models and Dynamic Bayesian Network), then the tool output the XML file, which the FCPX and PRE can read.

Learn more about beat tracking:

  • for Chinese readers click here.

  • for English readers click here.

Preview

preview

🍺 Installation

Requirements

Cython==0.29.6
numpy==1.14.3

You may need to install the above two libs before you install the dj-beat.

madmom==0.16.1
tqdm==4.31.1
librosa==0.6.3

cd ./djbeat
pip install -r bases.txt  
pip install -r requirements.txt

Use pip (Recommended)

make sure you have add your virtual environment bin path to the PATH, thus to use the command line tool.

pip install dj-beat

Locally

$ git clone https://github.com/kevinleeex/dj-beat.git
$ cd dj-beat
$ pip setup.py install

🌟 Usage

Command-Line Tool

$ djbeat -f ./test/treasure-trimed.wav -r 30

Arguments

-h, --help           Display this help message and exit.
-v,                  Display the version.
-V,                  Display the beat time list in terminal.
-p, --platform       The platform, fcpx or pre, default='fcpx'.
-f, --filepath       The filepath of the input audio.
-s, --fps FPS        The sample rate of the music, a integer number, default='100'.
-r, --frame_rate     The frame rate of your video setting, choose from {23.98,24,25,29.97,30,50,60}, default='30'.

Graphic User Interface

[TO-DO]

❤️ Support me

If this project helps you, you can support me to do better.
Coffee

Or click Donete me with Wechat or Alipay

💤 TO-DO

  • Distribution
  • Support the GUI
  • Support generate marks for PRE
  • Model research about beat tracking

📎 License

Copyright © 2018 Kevin T. Lee. All rights reserved.

The project is licensed under the MIT license. See LICENSE for more details.