All Projects → benjojo → Bpm

benjojo / Bpm

Licence: gpl-2.0
Library and tool for dealing with beats per second detection

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to Bpm

Gist
A C++ Library for Audio Analysis
Stars: ✭ 244 (+328.07%)
Mutual labels:  audio, music, audio-analysis
Essentia
C++ library for audio and music analysis, description and synthesis, including Python bindings
Stars: ✭ 1,985 (+3382.46%)
Mutual labels:  audio, music, audio-analysis
Blipkit
C library for creating the beautiful sound of old sound chips
Stars: ✭ 23 (-59.65%)
Mutual labels:  audio, music
Jssynth
Make music in your browser with this synthesizer and sequencer
Stars: ✭ 25 (-56.14%)
Mutual labels:  audio, music
Moodbar
Audio timeline visualization
Stars: ✭ 30 (-47.37%)
Mutual labels:  audio, music
Audio player flutter
🎧 Apple Music / Tidal Audio Player for Flutter
Stars: ✭ 52 (-8.77%)
Mutual labels:  audio, music
Pyo
Python DSP module
Stars: ✭ 904 (+1485.96%)
Mutual labels:  audio, music
Uc3moy
UC3Music-e version of the CMoy pocket headphone amplifier (originally designed by Chu Moy )
Stars: ✭ 13 (-77.19%)
Mutual labels:  audio, music
Musiccloudwebapp
🎧vuejs仿网易云音乐
Stars: ✭ 705 (+1136.84%)
Mutual labels:  audio, music
Pandoraplayer
🅿️ PandoraPlayer is a lightweight music player for iOS, based on AudioKit and completely written in Swift.
Stars: ✭ 1,037 (+1719.3%)
Mutual labels:  audio, music
Ebur128
Implementation of the EBU R128 loudness standard
Stars: ✭ 43 (-24.56%)
Mutual labels:  audio, audio-analysis
Vyplayindicator
PlayIndicator inspired by Apple's Music Player.
Stars: ✭ 47 (-17.54%)
Mutual labels:  audio, music
Giada
Your Hardcore Loop Machine.
Stars: ✭ 903 (+1484.21%)
Mutual labels:  audio, music
Minimp3
Minimalistic MP3 decoder single header library
Stars: ✭ 898 (+1475.44%)
Mutual labels:  audio, music
Waveform Playlist
Multitrack Web Audio editor and player with canvas waveform preview. Set cues, fades and shift multiple tracks in time. Record audio tracks or provide audio annotations. Export your mix to AudioBuffer or WAV! Project inspired by Audacity.
Stars: ✭ 919 (+1512.28%)
Mutual labels:  audio, music
Daw
GridSound (0.33.0) wants to be an open source online digital audio workstation following the new WebAudio API 🎛🎹🎵✨
Stars: ✭ 804 (+1310.53%)
Mutual labels:  audio, music
Cs.2click
🔊 A Better Audio Router for a Modular System.
Stars: ✭ 7 (-87.72%)
Mutual labels:  audio, music
Musictheory
🎵 Music theory concepts in Go.
Stars: ✭ 53 (-7.02%)
Mutual labels:  audio, music
Black candy
A self hosted music streaming server
Stars: ✭ 686 (+1103.51%)
Mutual labels:  audio, music
Zrythm
a highly automated and intuitive digital audio workstation - official mirror
Stars: ✭ 703 (+1133.33%)
Mutual labels:  audio, music

bpm

GoDoc

Library and tool for dealing with beats per second detection in Go

This is a direct port of Mark Hills bpm-tools.

For that reason, it is also under the same licence as that utility, ( GPLv2 ).

You can use this version as a libary too, In testing you may find it produces slightly different results than bpm-tools. This is because both tools use a random float on mid point selection, Ideally it would use a static one, but I won't replicate drand exactly to just get 1:1 matching with the offical tools.

Usage of the command line util

You need to feed the command line utility PCM 32 bit little edian floats (mono), there are two easy ways to do this:

Sox:

sox "$FILE" -r 44100 -e float -c 1 -t raw - | ./cmd /dev/stdin

ffmpeg:

ffmpeg -v quiet -i 1479012090.ts -f f32le -ac 1 -c:a pcm_f32le -ar 44100 pipe:1 | ./cmd /dev/stdin

You can also ask for a "snapshot" per second of the BPM calculated, using progressive mode:

$ ffmpeg -v quiet -i 1479012090.ts -f f32le -ac 1 -c:a pcm_f32le -ar 44100 pipe:1 | ./cmd -progressive=true /dev/stdin
179.020979
193.086109
191.044776

The first value is the BPM for the first 10 seconds, the 2nd for 10-20 seconds, 3rd is the 20-30th (and more until you stop giving it data)

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].