Skip to main content

Convert beats per minute to animation frames.

Project description

bpm2fps

Match song beats to their closest frame for animation.

  • Utility to convert beats per minute to animation frames.
  • Data export to CSV or JSON.
  • USD export for bouncing ball reference.
  • Also available as cli / python utility

https://github.com/BreadMakesYouFull/bpm2fps

Preview

GUI

Exported USD reference

Install

Get it on Flathub Linux install via flatpak

PyPI version Python install

Requires:

  • python 3
  • pyside6 (gui)
# Install
pip install bpm2fps[gui]

# ... or install without GUI
pip install bpm2fps

GUI

# Launch GUI
bpm2fps

Command line

Usage

./bpm2fps.sh --help
usage: cli.py [-h] [-s START] [-e END] [-b BPM] [-f FPS]

bpm2fps - Match song beats to their closest frame.

options:
  -h, --help            show this help message and exit
  -s START, --start START
                        Start time (seconds).
  -e END, --end END     End time (seconds)
  -b BPM, --bpm BPM     Beats per minute
  -f FPS, --fps FPS     Frames per second

Example

./bpm2fps.sh --bpm 120
# Result:
[
  {
    "beat": 0,
    "frame": 0.0,
    "second": 0.0
  },
  {
    "beat": 1,
    "frame": 12.0,
    "second": 0.5
  },
  {
    "beat": 2,
    "frame": 24.0,
    "second": 1.0
  },
  # ... and so on
]

Example chained with jq to get only beat frames:

./bpm2fps.sh --bpm 120 | jq '.[]["frame"]'
# Result:
0
12
24
36
48
60
72
84
96
108

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

bpm2fps-1.0.2.tar.gz (8.4 kB view details)

Uploaded Source

Built Distribution

bpm2fps-1.0.2-py3-none-any.whl (8.4 kB view details)

Uploaded Python 3

File details

Details for the file bpm2fps-1.0.2.tar.gz.

File metadata

  • Download URL: bpm2fps-1.0.2.tar.gz
  • Upload date:
  • Size: 8.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.12

File hashes

Hashes for bpm2fps-1.0.2.tar.gz
Algorithm Hash digest
SHA256 92aefc5f6320aca23be84845b155d7285603661063e5aa0f4b0e4cf8ef6a15d3
MD5 f839b7539b3d7b636ad394eff1728944
BLAKE2b-256 3f41913482070271b0f3630682702dcb583658560220b0e9f92fb9275c8a4381

See more details on using hashes here.

File details

Details for the file bpm2fps-1.0.2-py3-none-any.whl.

File metadata

  • Download URL: bpm2fps-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 8.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.12

File hashes

Hashes for bpm2fps-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 d153a5a8927ba401a986739a02be8602c601422b5748ada52346be95863957d8
MD5 63ae64b956c9298a44f52637ef617dca
BLAKE2b-256 045a115b0cf88763f200069dc4d77aeab2d5b8ee49a7945b66ffd302fc886643

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