Skip to main content

A script to cut a directory of clips to music.

Project description

mvmake

This script takes a music file and a directory of videos (clips) then creates a music video.

Installation

The script is pypi available. You can install via pip.

python3 -m pip install mvmake

Usage

Simple example

mvmake --music ./my_new_song.wav --clips ./path/to/clips my_music_video.mp4

Help output

$ mvmake --help

usage: mvmake [-h] --music MUSIC --clips CLIPS [--extensions EXTENSIONS]
              [--method [{onset,beat,union}]] [--width WIDTH]
              [--height HEIGHT]
              output

Snap some clips to music. This script takes an audio file and a directory
where video clips are located then tries to match the given clips to the given
audio.

positional arguments:
  output                The name of the output file.

optional arguments:
  -h, --help            show this help message and exit
  --music MUSIC         Path to the music file.
  --clips CLIPS         Path to the directory containing the clips. All the
                        clips will be read from the directory recursively.
  --extensions EXTENSIONS
                        The enabled extensions of the clips. Files with other
                        extensions will not be used. (default: ['mp4', 'avi',
                        'mov'])
  --method [{onset,beat,union}]
                        Select to what to snap the clips. Currently there are
                        three methods supported: onset (snap clips to the
                        starting of each note), beat (snap clips to each
                        beat), union (snap clips to both of these) (default:
                        onset)
  --width WIDTH         The width of the output. If given without height, the
                        clips aspect ratio will be kept. (default: None)
  --height HEIGHT       The height of the output. If given without width, the
                        clips aspect ratio will be kept. (default: None)

Samples

Sample 1: Fall In Love

This sample is constructed from DigEx - Fall In Love and clips from Beeple-Crap - übersketch.
The default onset detection method was used. (--method onset)

https://user-images.githubusercontent.com/20663815/158896029-0c74840e-c5bd-4fcd-89ad-8f33d66c8ace.mp4

Licenses

Song: DigEx - Fall In Love [NCS Release]
Music provided by NoCopyrightSounds
Free Download/Stream: http://NCS.io/FallInLove
Watch: http://youtu.be/

VJ Loops: Beeple-Crap - übersketch
https://www.beeple-crap.com/vjloops

Sample 2: Talk

This sample is constructed from Beave - Talk and clips from Beeple-Crap - four.color.process.
The beat detection method was used. (--method beat)

https://user-images.githubusercontent.com/20663815/158896309-87955912-f3b9-47c1-9c2e-a29a9b80ef51.mp4

Licenses

Song: Beave - Talk [NCS Release]
Music provided by NoCopyrightSounds
Free Download/Stream: https://ncs.io/Talk
Watch: https://youtu.be/uZi8_rnqgHg

VJ Loops: Beeple-Crap - four.color.process
https://www.beeple-crap.com/vjloops

Changelog

Learn about the latest improvements.

Contributing

Contributing Guidelines

Read through our contributing guidelines to learn about our submission process, coding rules and more.

Want to Help?

Want to report a bug, contribute some code, or improve documentation? Excellent! Read up on our guidelines for contributing and then check out one of our issues labeled as help wanted or good first issue.

License

The project is licensed under MIT License. Read more here.

Shoutout to these guys 🎉💖

This project is based on the following packages, check them out!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mvmake-1.0.0.tar.gz (5.7 kB view details)

Uploaded Source

Built Distribution

mvmake-1.0.0-py3-none-any.whl (6.8 kB view details)

Uploaded Python 3

File details

Details for the file mvmake-1.0.0.tar.gz.

File metadata

  • Download URL: mvmake-1.0.0.tar.gz
  • Upload date:
  • Size: 5.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.26.0 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.31.1 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.7.2

File hashes

Hashes for mvmake-1.0.0.tar.gz
Algorithm Hash digest
SHA256 341bf4d186896060e8f642b4b3331087657a6b04c86485373cb487ab65fd6b57
MD5 3ff9dc56d4ba33e39f7e109776655d91
BLAKE2b-256 96473e706faab31ef9b4b50a01ae329a48f26e77d5824b6269fb430bf47bc157

See more details on using hashes here.

File details

Details for the file mvmake-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: mvmake-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 6.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.26.0 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.31.1 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.7.2

File hashes

Hashes for mvmake-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1054127e0f13e2f455838c1a22c47f47c0b69bea3c3a77a10a504cb6f32aecbe
MD5 769e49dd537f91b404801a29e54474c5
BLAKE2b-256 9d9eb383e9747d81c44507b3c82f2a6da2a73e5f09bd567888c877b48adba290

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page