LibTempo
C++ / Python library for signal processing and tempo information extraction.
CLI
MP3, FLAC and WAV audio formats are supported.
Downloads
Examples
Usage
libtempo [audio] {OPTIONS}
OPTIONS:
-h, --help Display the help menu
Basic
-t[preferred_bpm],
--preferred_bpm=[preferred_bpm] (Default: 130) BPM around which the
real bpm will be chosen.
--bpm_rounding_precision=[bpm_rounding_precision]
(Default: 0.500000) Precision of the
BPM before correction..
-s[smooth_length],
--smooth_length=[smooth_length] (Default: 20.000000) Length in seconds
over which the tempogram will be
stabilized to extract a steady tempo.
-l[min_section_length],
--min_section_length=[min_section_length]
(Default: 10.000000) Minimum length
for a tempo section in seconds.
--max_section_length=[max_section_length]
(Default: 40.000000) Maximum section
length in seconds after which section
is split in half.
Advanced
--bpm_window=[bpm_window] BPM range which to check for tempo
peaks.
-m[tempo_multiples...],
--tempo_multiples=[tempo_multiples...]
Tempo multiples to consider when
searching for correct offset
--ref_tempo=[ref_tempo] (Default: 60) Reference tempo defining
the partition of BPM into tempo
octaves for calculating cyclic
tempogram.
--tempo_window=[tempo_window] (Default: 8) Analysis window length in
seconds for calculating tempogram.
--octave_divider=[octave_divider] (Default: 120) Number of tempo classes
used for representing a tempo octave.
This parameter controls the
dimensionality of cyclic tempogram.
--triplet_weight=[triplet_weight] (Default: 3.000000) Weight of the
triplet intensity which will be adeed
to its base intensity.
--bpm_doubt_window=[bpm_doubt_window]
(Default: 2.000000) Window around
candidate bpm which to search for a
more fine and correct bpm.
--bpm_doubt_step=[bpm_doubt_step] (Default: 0.100000) Steps which to
take inside the doubt window to fine
tune the bpm.
--click_track_subdivision=[click_track_subdivision]
(Default: 8) Click subdivision for the
click track.
Output Flags
-c[generate_click_track],
--generate_click_track=[generate_click_track]
(Default: 1) Wether or not a click
track should be generated
-o, --osu Wether or not to generate tempo data
in osu format.
--viz Saves a html file with useful graphs.
-d, --dump Dump generated tempograms and novelty
curves into a file.
audio Audio file to extract tempo of.
"--" can be used to terminate flag options and force all following
arguments to be treated as positional options
Library
Building
Documentation
Flaws / TODO's
- BPM calculated is the percieved bpm. There is also real bpm which may be twice as high. (I would love to hear any suggestions how this could be helped)
- Pars where bpm is constantly changed are rounded away when making secions.
- Sometimes offset might be shifted by a 1/4th or 1/8th note.
References
Metadata
Release files for libtempo-py 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| libtempo_py-1.0.0-cp36-cp36m-win_amd64.whl | CPython 3.6 | CPython 3.6 pymalloc | Windows x86-64 | Details |
Release files / libtempo_py-1.0.0-cp36-cp36m-win_amd64.whl
| Download URL | libtempo_py-1.0.0-cp36-cp36m-win_amd64.whl |
|---|---|
| Size | 213.9 kB |
| Tags | CPython 3.6 CPython 3.6 pymalloc Windows x86-64 |
|
SHA-256 checksum How to use checksums |
2588bda40813caf24fb82d153f6b0bb269ca137fd3b75257c5d20f8a5ae6919e
|
|
BLAKE2b-256 checksum How to use checksums |
56e4afb535043aaeae6d42812cc93d1fc82ab2c4f996cfab7a2c373959078ebb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/39.1.0 requests-toolbelt/0.8.0 tqdm/4.25.0 CPython/3.6.5
|
Security for libtempo-py 1.0.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.