UltraStar-Creator icon indicating copy to clipboard operation
UltraStar-Creator copied to clipboard

Software is non-free because of libbass

Open Profpatsch opened this issue 7 years ago • 6 comments

I’m packaging the software for NixOS, and unfortunately one has to enable non-free packages because the dependency libbass is a non-free package. So calling Creator a free and open source project is only superficially true; it could never be included in completely free distributions like Trisquel, GuixSD, &c.

I don’t know how much functionality depends on libbass and how much work it would be, but there probably are free libraries supporting the use case of Creator.

Profpatsch avatar Jun 11 '17 00:06 Profpatsch

Unfortunately, it is not as easy to get rid of bass(_fx) in UltraStar-Creator as it is also used to determine the song's BPM. If anybody can suggest an open source library to determine the BPM of a given audio file, I'd be happy to work on replacing bass...

bohning avatar Jun 13 '17 18:06 bohning

you could try https://github.com/basisbit/bpm-tools

basisbit avatar Jun 13 '17 18:06 basisbit

I also found

https://aubio.org http://www.surina.net/soundtouch/index.html bpmdetect.{cpp,h} from Mixxx.

from this thread: https://stackoverflow.com/questions/477944/bpm-audio-detection-library

bohning avatar Jun 13 '17 20:06 bohning

I'm interested in helping with this effort in any way that I can, as I use arch and the libbass distributed simply does not work for my target platform.

If there is someone who can mentor me through it I'm sure I can get things moving.

EDIT: Didn't notice the bass removed branch.

enetheru avatar Oct 07 '17 06:10 enetheru

@enetheru I already have a development branch for this here. It now uses Qt Multimedia for all playback tasks. Only open issue: BPM detection of the MP3 source. This is not feasible with Qt Multimedia, so another open source library needs to be used for this. I looked into aubio and made some first steps, but aubio in turn depends on FFMPEG for decoding MP3 files, so for Windows, all FFMPEG libraries need to be shipped with UltraStar Creator... If you can find a good solution for BPM detection, that would be of great help.

EDIT: Just noticed your edit that you found the bass_removed branch after my comment...

bohning avatar Oct 10 '17 10:10 bohning

A very simple and quick solution that can sometimes be more accurate is to have the user tap it out with a button and take the rolling average. i find this far more reliable on some of my salsa music than automatic beat detection. But i haven't forgotten about this project i was just working on other things.

enetheru avatar Oct 25 '17 04:10 enetheru