Post has attachment
We are currently considering to modify the UI to solve a number of problems. The first problem was that various panels would slide along with the beatgraphs yet the volume bar and toolbuttons between the beatgraphs and panels would not move. To solve that we moved the volume bar to the bottom. As such the beatgraph scroller and panels slide as a whole. A second problem was the readability of the black on gray text, which has been replaced with gray-on-black. A thrid problem was an inconsistency between selected/focused colors which could be either white/yellow or gray depending on the month we programmed that part of the UI. We now unified this to selected=white.

Yet, we still have the feeling something is not entirely right about this new UI, but we don't know what. Feel free to chime in and give feedback.
4 Photos - View album

Post has attachment
Finally we are proud to bring you the 'load/save as' feature. We realize it sounds a bit weird in 2018 to make a big deal out of this. After all, which software does not have a save as ? The answer until now was: BpmDj. Indeed with its megalomaneously cutting edge technology it was able to store your data in a gasp database. And it would do so automatically. And given that this was originally aimed at (implied but never said 'stupid') users, we did not feel 'on' about giving the user a choice where to save his or her data. With this release we've come clean. A quick overview

1.Open a mix -> Mix|Open -> select file or Mixes|Mix overview -> select mix
2. Save a mix as -> Mix|Save as
3. Move a mix to a new location -> Mix|Move to
4. Create a mix bundle -> Mix|Zip mix

More info at
Managing Mixes
Managing Mixes

Save/save as...

Recently we encountered a problem where a user had two parallel installs. One for version 4.8.5 and one for version 4.9.0. The former version did not respect the mp3 samplerate while the latter does. Songs with a non 44.1kHz samplerate would be playing at different speeds. After version 4.8.5, that problem had been resolved. We took care to play the old mixes still as they were created (that is at a wrong samplerate).

What happened: version 4.9.0 analyzed a bunch of new tracks. One of these tracks had an odd samplerate and was used in a mix created in 4.9.0. Then version 4.8.5 was started. It saw the newly analyzed beatgraphs and realized it did not understand what they were about and reanalyzed the tracks, writing an older version of the .bpmdj1 files to disk. That is: without the samplerate info. Some time later, version 4.9.0 imported those beatgraphs again, thereby it saw the old file format and assumed the data was still okay (except without knowing the samplerate), and let them be as they were. All fine, until that mix was opened which contained the odd tracks with known samplerate. There really wasn't any such track anymore. Therefore it refused to load/play that particular track. The solution was to start the latest version again with --mp3-upgrade on the directory with the flip-flopping beatgraphs.

Nevertheless, it shows a problem we are facing: many users want to have multiple installs of the software, yet a software can generally not be forward compatible. Typically what is done to solve this is to avoid data interaction between multiple installs. At the level of beatgraphms (.bpmdj1 files), this is not the case, these are shared between installs and serve as an ankerpoint to define the identity of a file. How this could be solved is not at all clear yet. Yet there is also a second problem: the mixes themselves (.bpmdjs files) are shared between installs. If version 4.8.5 sees files in a 4.9.0 install, it will assume it can write it. Equally so, a version 4.9.0 install will assume ownership over 4.8.5 files. That is a real problem because, if mix 4.8.5 is deleted in install 4.9.0, it will really be gone from disk. Install 4.8.5 might rewrite it (if it still has a cached version in the database), but if install 4.8.5 is removed before the mix is rewritten, then it will be removed.

The history of the above clusterfuck lies in the phone version of BpmDj. On a phone we were absolutely sure that only 1 BpmDj version would run and we were sure it would never go back in version numbers. On desktop this is no longer true and I believe we must face reality and start thikning about giving the user control over where his files are saved. You know: like a real 'save' and 'save as'.

A question to the more musical notation inclined people: if we have a timesignature of 4/4, a barlength of X minutes, then we can compute the BPM by as 4 beats/X minutes. Now.... if we had a 3/4 signature, we would get 3 beat/X minutes, which means that the BPM wil be either over or underreported if we were to treat this rhythm as a 4/4 signautre. Sadly, this is what most DJ tools do.

We're trying to fix that in the software and here comes the interesting part... The denominator '4' was actually never used in the previous argument. Assume we had a timesignature of 6/8. Would a multiplication with 6 really be the correct number of beats ? For highly denominated signatures, this would result in absurdly large tempos.

From what I gather this is mainly a notational matter: 6/8 is sometimes easier to write the score than 3/4 because of the note lengths. A second argument is that 6/8th has a different energy hierarchy than the 3/4th. Assuming that it is indeed related to the difference in hierarchy, then how do you actually count the beats in a bar if you look at the timesignature ?

TL;DR: How does the denominator of the timesignature come into play in determining the number of beats per bar.

Post has attachment
Release 4.9.0 - The past three months, we've been creating a testbed to verify whether the software is backward compatible. That is: can it properly load all sessions from any previous BpmDj version, despite changes to the internal data format. During this test process, we encountered many dead ends and problems in the software that were never really apparent to us. After all, song analysis is something you run once and be done with it and we did not sufficiently test that before each release. For about a year or so the software required two starts before it would analyze your tracks, and even then it would often stop for 5 seconds before continuing. In other instances we found that entire parts of the database were unnecessary.

Regarding new features: the nearest neighbors have again been overhauled, you might see that your next start will start upgrading the beatgraphs. Luckily this process is fast. About 50 milliseconds per track. Most likely your harddisk will be the bottleneck during this process.

And to give you something new as well, we added a new display option: 'delignate beatgraphs'. See menu Display|Delignate bars.

Release 4.8.9 - Various bugfixes
1) BpmDj will no longer automatically zoom in on an opened segment
2) songs would sometimes not show up after analysis in a directory that was already being observed
3) The 48000 to 44100 convertion did not cooperate well with Zathras
4) Mix duplication could lead to crashes due to eq vectors being null
5) Song colors are choosen such that they are different between consecutive songs (in as far as possible)
6) The MP3 decoder would sometimes produce a tick at the beginning of an mp3.
7) The beatgraph analyzer will no longer try to analyze tracks on remote machines.
8) Much less memory consumption for the database.

Post has attachment
No Network, try starting 'bpmdj-<version>.jar' manually. I encountered this issue again and decided to try and work it out and found this stackoverflow post: This might explain the problem I'm having.

Post has attachment
Release 4.8.8. Various goodies: 32 band equalizer. Manual replay gain. Mix equalisation to the average equalisation profile. Choosing track color. Showing meta information such as location and tags for songs in the mix. Targetting only previous or next song when inserting a track. Targetting multiple songs by either aiming for the cluster center or all tracks indiviudally. More info at
Version 4.8.8
Version 4.8.8

Release 4.8.7 includes various bugfixes and an enhancement to the nearest neigbors. When you choose to display lo/middle or high spectral beatgraphs, also the song selector will primarily try to match the lo/middle or high frequencies. To make this possible BpmDj will rescan all existing beatgraphs at the next startup. While it does so it will show "[nnn] <file that is being read>" in the statusbar.

Post has attachment
Release 4.8.6: Proper samplerate support for non 44.1kHz MP3's. See the sample rates page to know how theconversion of old to new mixes is performed. Also a heads up to people planning to use BpmDj on new years eve. When you start bpmdj.jar, it will try to connect to the net to figure out which version to start (and download if necessary). If you are on a computer without network this will not work and you might need to start bpmdj-48600.jar manually from the same directory.
Wait while more posts are being loaded