I was wondering if Virtual DJ could build a BPM Database for songs correctly tagged. I spend a considerable time adjusting the BPM of some songs, even a multiple bpms ones and I would love to share with other users so they would not need to spend the same time that I spend adjusting BPM and beat gridind the same song.
My suggestion is that virtual DJ could "grab" the complete BPM information (including the grid markers and variations) of the songs and build a database when the user scan the new song or video the complete bpm information could be downloaded from the cloud an so the grid markers, multiple bpm information inside the song and so on, are applied without the user to adjust manually.
I think this option could be exclusive to PRO INFINITY users. I do not know how but the ideal is to have some form of "filter" from who VDJ will grab the information. because there are some users that config their beat grid information and bpm in a manner completely wrong, so a system of ranking or classification of users that will be considered "right" when VDJ reads the info about BPM. OR have some form of registrations for the users who wants to be "BPM Providers".
My suggestion is that virtual DJ could "grab" the complete BPM information (including the grid markers and variations) of the songs and build a database when the user scan the new song or video the complete bpm information could be downloaded from the cloud an so the grid markers, multiple bpm information inside the song and so on, are applied without the user to adjust manually.
I think this option could be exclusive to PRO INFINITY users. I do not know how but the ideal is to have some form of "filter" from who VDJ will grab the information. because there are some users that config their beat grid information and bpm in a manner completely wrong, so a system of ranking or classification of users that will be considered "right" when VDJ reads the info about BPM. OR have some form of registrations for the users who wants to be "BPM Providers".
Mensajes Thu 21 Jun 18 @ 11:39 am
Nice idea, but hard to realize imo...
Mensajes Thu 21 Jun 18 @ 6:37 pm
I'll second that, too prone to error, better that the scan engine just gets it right, it's a continual improvent system but atomix has quite a large neutral network it could use.
Mensajes Thu 21 Jun 18 @ 7:14 pm
Would be fine if everyone had exactly the same "certified" copy of a song, but so many are downloaded from dodgy Russian sites and ripped from Youtube it would be impossible to get right.
Mensajes Thu 21 Jun 18 @ 8:15 pm
with the technology we have today, we can identify the track that is playing on the radio and view the lyrics to that exact same position that the music is currently on and with the BPM and grid information could be the same:
as a song is analysed by the software, they could build a "fingerprint" of the song and then search on a database, if the song is from a video from youtube, or other source it does't mater (it's like shaazan, that identify the music independently of "where" it's playing) the grid markers and bpm information tcan be stretched and moved as required.
if a song has 30 seconds of an unusual intro the fingerprint algorithm can determine this and adjust the info excluding the 30 seconds intro and applying the grid and bpm just to the part corresponding to the database information.
OR
have multiples fingerprints of the same song and a bpm information for each one.
as a song is analysed by the software, they could build a "fingerprint" of the song and then search on a database, if the song is from a video from youtube, or other source it does't mater (it's like shaazan, that identify the music independently of "where" it's playing) the grid markers and bpm information tcan be stretched and moved as required.
if a song has 30 seconds of an unusual intro the fingerprint algorithm can determine this and adjust the info excluding the 30 seconds intro and applying the grid and bpm just to the part corresponding to the database information.
OR
have multiples fingerprints of the same song and a bpm information for each one.
Mensajes Sat 21 Jul 18 @ 3:02 pm
This is what Mixed in Key does this
Mensajes Sat 21 Jul 18 @ 4:51 pm
I think Atomix needs to work on its BPM analysis algorithm so it can correctly identify and beat grid tracks with variable tempos (i.e. anything recorded pre drum machine).
IMO this is a huge flaw for any DJ software - it basically only allows one BPM and one key per track, yet there are many thousands of tracks that have multiple keys and BPMs.
Doing it manually (currently the only way) is out of the question. There are far too many tracks, and........isn't this what computers are supposed to be good at?
IMO this is a huge flaw for any DJ software - it basically only allows one BPM and one key per track, yet there are many thousands of tracks that have multiple keys and BPMs.
Doing it manually (currently the only way) is out of the question. There are far too many tracks, and........isn't this what computers are supposed to be good at?
Mensajes Sat 21 Jul 18 @ 5:03 pm
I agree with the variable BPM but thing is for me that is from a numbers point of view and not real world usage. In my eyes though, I can't see how anything can really work eventually without variable BPM. I have graphed lots of music and studied lots of BPM code. I have studied many research papers done by the smart guys. Funny thing is a lot of these research papers start out by saying something like "we all know current BPM detection software is pretty weak". Then they start to tell about their new BPM code... Finally, and it almost never fails, they tell you about the problems with their new improved method. Sometimes it is just theory and sometimes there is code. I implemented some of the fancy ones. I have yet to find anything I would call acceptable. Ideally that would mean perfect but we are far from that.
When I first started with this insanity, I compared several programs to see what they come up with for BPM. Pretty rare to see an exact match between programs. They may be close or way off, just normally not exact. So it appears to me all that is needed is an approximate value. That thought just from comparing BPM programs etc. Then I found some popular code that a lot of software uses and studied it for a long time to figure exactly what it was doing. Looked like craziness to me :) and why it took so long to figure it out. That code is doing a lot mumbo jumbo to get an approximate answer. Like most sometimes way off and sometimes close but almost never dead on. After I understood what the code was doing, I could see that method could never be exactly accurate. IMPOSSIBLE. That just confirmed what I was thinking that about closeness and how close is close enough. After all the code and papers I read, I never found any that mentioned absolute precision. Thought that was strange. After I knew enough, I dumped all BPM code that I had been messing with it. Several will never have a chance to be very accurate. What is accurate? You tell me. I listen to the play by ear people, and it seems to me, that DJs may not agree on what the BPM should be. That is probably ok and they are doing it by feel and maybe exact is not needed. I don't know. For me though, I have established accuracy to be 1 / 1000 BPM. It took me a long time to come to that thinking. If a song is long enough it will start to drift away from the gird if this accuracy is not achieved... only takes about 5 or 6 minutes or less to start drifting. Initially I though that kind of precision was crazy. People can't relate to that but dead on matching by a computer and graph of BPM versus actual beats you sure can see it... Hearing it I don't know. You guys are the experts at that. I see people complain about BPM values like maybe 97.998 etc... Let's say the file is exactly that. Then people will say, well some other program was right because it came up with 98 BPM when the 98 BPM is actually wrong. People just don't think in terms of 1/1000 BPM.
This a very long story and really don't want to write too much. Basically I started all over with BPM detection that had the potential for dead on accuracy (again not really mentioned anywhere I read). I was so excited and though this method had a good chance to be something. It has problems with a lot of music because of noise. This is filtering and that goes on and on. What is the perfect filter? There is none and it becomes a matter of code being very smart. But as a test case for pure accuracy I did this. I found files on the net that were supposed to be exact BPM and most of them were but I was getting some odd ball numbers with some of the files. I am then thinking something is wrong with my code. It was just not making sense. Finally, I generated my own BPM files that are exact to 1 / 1000 BPM. I used wav files so no compression would get in the way. I only did about 20 of them with BPM values from 40 to 200 with some fractional ones mixed in. These files have no noise at all and a quick tick at the BPM location. The easiest possible case for BPM detection software. They are not ambiguous at all. There should be no problem with halving or doubling. ( in my eyes that is just black magic - a weak guess by at least several programs). I tested about 6 programs with the exact BPM files. None of them got them all right. All of them had problems with halving and doubling and absolute accuracy. All the programs were close if you throw out the problems with halving and doubling. Only my code got them all right but that does not mean much since my code still sucks with noisy data. Traktor got them perfectly accurate except problems with halving and doubling. VDJ does a pretty good job when compared against other programs. There is no BPM detection program that I have tried that I consider to be good so I don;t call any program good at it yet. Just a comparison with other programs.
Geeze I hate writing so much. I did not even spell out half of it. I hope to put up the exact accurate files some day. They will be many about 6 minutes long at 48k so it will be large. I figure if BPM software can't at least get these exact no noise files all right then there is a problem form the get go. I think some break thru will be made eventually so you can trust the software is doing the right thing.
About the variable... that can make up for being off... but sort of a mess to adjust it right? Best be damn sure the BPM software is dead on.
If dead on is what you want, then I would check every file manually. If close enough is close enough then not sure. Some can be way off. Sometimes just the slightest thing can throw things off. Like conversion between khz or compression and make it lean one way or another. Integer precision is easiest because there is enough room between beats for the calculations. When you get down to 1/1000 things tend to blur.
When I first started with this insanity, I compared several programs to see what they come up with for BPM. Pretty rare to see an exact match between programs. They may be close or way off, just normally not exact. So it appears to me all that is needed is an approximate value. That thought just from comparing BPM programs etc. Then I found some popular code that a lot of software uses and studied it for a long time to figure exactly what it was doing. Looked like craziness to me :) and why it took so long to figure it out. That code is doing a lot mumbo jumbo to get an approximate answer. Like most sometimes way off and sometimes close but almost never dead on. After I understood what the code was doing, I could see that method could never be exactly accurate. IMPOSSIBLE. That just confirmed what I was thinking that about closeness and how close is close enough. After all the code and papers I read, I never found any that mentioned absolute precision. Thought that was strange. After I knew enough, I dumped all BPM code that I had been messing with it. Several will never have a chance to be very accurate. What is accurate? You tell me. I listen to the play by ear people, and it seems to me, that DJs may not agree on what the BPM should be. That is probably ok and they are doing it by feel and maybe exact is not needed. I don't know. For me though, I have established accuracy to be 1 / 1000 BPM. It took me a long time to come to that thinking. If a song is long enough it will start to drift away from the gird if this accuracy is not achieved... only takes about 5 or 6 minutes or less to start drifting. Initially I though that kind of precision was crazy. People can't relate to that but dead on matching by a computer and graph of BPM versus actual beats you sure can see it... Hearing it I don't know. You guys are the experts at that. I see people complain about BPM values like maybe 97.998 etc... Let's say the file is exactly that. Then people will say, well some other program was right because it came up with 98 BPM when the 98 BPM is actually wrong. People just don't think in terms of 1/1000 BPM.
This a very long story and really don't want to write too much. Basically I started all over with BPM detection that had the potential for dead on accuracy (again not really mentioned anywhere I read). I was so excited and though this method had a good chance to be something. It has problems with a lot of music because of noise. This is filtering and that goes on and on. What is the perfect filter? There is none and it becomes a matter of code being very smart. But as a test case for pure accuracy I did this. I found files on the net that were supposed to be exact BPM and most of them were but I was getting some odd ball numbers with some of the files. I am then thinking something is wrong with my code. It was just not making sense. Finally, I generated my own BPM files that are exact to 1 / 1000 BPM. I used wav files so no compression would get in the way. I only did about 20 of them with BPM values from 40 to 200 with some fractional ones mixed in. These files have no noise at all and a quick tick at the BPM location. The easiest possible case for BPM detection software. They are not ambiguous at all. There should be no problem with halving or doubling. ( in my eyes that is just black magic - a weak guess by at least several programs). I tested about 6 programs with the exact BPM files. None of them got them all right. All of them had problems with halving and doubling and absolute accuracy. All the programs were close if you throw out the problems with halving and doubling. Only my code got them all right but that does not mean much since my code still sucks with noisy data. Traktor got them perfectly accurate except problems with halving and doubling. VDJ does a pretty good job when compared against other programs. There is no BPM detection program that I have tried that I consider to be good so I don;t call any program good at it yet. Just a comparison with other programs.
Geeze I hate writing so much. I did not even spell out half of it. I hope to put up the exact accurate files some day. They will be many about 6 minutes long at 48k so it will be large. I figure if BPM software can't at least get these exact no noise files all right then there is a problem form the get go. I think some break thru will be made eventually so you can trust the software is doing the right thing.
About the variable... that can make up for being off... but sort of a mess to adjust it right? Best be damn sure the BPM software is dead on.
If dead on is what you want, then I would check every file manually. If close enough is close enough then not sure. Some can be way off. Sometimes just the slightest thing can throw things off. Like conversion between khz or compression and make it lean one way or another. Integer precision is easiest because there is enough room between beats for the calculations. When you get down to 1/1000 things tend to blur.
Mensajes Mon 23 Jul 18 @ 11:38 pm
Hi Everybody !
The Virtual Dj 8 can not store the bpm values
When I start the application, allways need using
the bpm analyzer
Somebody can help me in this issue ?
Thanks
The Virtual Dj 8 can not store the bpm values
When I start the application, allways need using
the bpm analyzer
Somebody can help me in this issue ?
Thanks
Mensajes Thu 10 Jan 19 @ 8:01 am
Please check if you have sufficent permissons on your drives. Especially the locations where VDJ is writing his database to.
../Documents/VirtualDJ and
N:\VirtualDJ, where N stands for every other drive you are using.
../Documents/VirtualDJ and
N:\VirtualDJ, where N stands for every other drive you are using.
Mensajes Thu 10 Jan 19 @ 10:30 am