beaTunes News

Monday, August 23, 2021

How can I find the BPM for DRM-encrypted Apple Music songs?

With its streaming service Apple Music unfortunately re-introduced Digital Rights Management (DRM), which makes it very hard for third party apps to decrypt and analyze downloaded music files. But did you know there is a way around decrypting and decoding?

While beaTunes cannot access the raw audio for a thorough content analysis, it can access the track's metadata, i.e. its artist, album, title, and length. This is often enough information to look up BPM values in beaTunes' central database, which have been uploaded by other beaTunes users.

beaTunes Analysis Options dialog

So to download BPM values for your Apple Music tracks, just follow these simple steps:

  • In beaTunes, select the tracks you want BPM values for.
  • Open the File menu and choose Analyze.
  • In the Analysis Options dialog, enable only the Estimate BPM option.
  • Ensure that Use online resources is turned on.
  • Then start downloading BPM values by clicking on Analyze.

Note that since this operation depends on what other users have uploaded and whether the metadata matching is successful, your mileage may vary: some tracks may not be in the database yet, others may have inaccurate BPM values. That said, it certainly beats having no BPM values at all.

Labels: , ,

Sunday, January 20, 2019

BPM Accuracy Poll Closing Very Soon

Please participate in the poll! I would love to know your opinion about this. Read more.

Labels:

Tuesday, January 15, 2019

BPM: How Accurate is Accurate Enough?

TL;DR: Please participate in the poll!

One of the most popular features of beaTunes is the tempo estimator. That's the ability to analyze a track and show the track's tempo in beats per minute (BPM). Interestingly, it's not well understood how accurate this estimate has to be to be useful. A major issue here is that tempo estimates are used for all kinds of applications:

  • Beatmatching (electronic or vinyl)
  • Hobbyist playlist building
  • Running (usually constant tempo)
  • Indoor spinning classes (often dynamic, i.e. tracks with differing tempi)
  • General workout
  • Next track recommendation
  • Ballroom dancing
  • Browsing
  • Etc.

While some of these applications require just a general ballpark accuracy, say within 10%, others rely on more accurate estimates. So the answer to "Is it useful?" is a clear "It depends!". To give an example, DJ turntables often allow changing the pitch in a range from -8% to +8% (simply by spinning the vinyl faster or slower). Clearly an accuracy of less then 8% is not very useful, when you are DJing with turntables. But since you cannot tell your turntable to play a track at 125.123 BPM, an accuracy value with decimal places is not required either. All you need, is to quickly find a track that is similar in tempo to the one you are already playing, to match their beats manually. And you do that by using your ears and the pitch shift knob, not a high accuracy tempo number.

So what about you? What kind of accuracy do you need?

Please take part in our Twitter poll and feel free to comment below.

Thanks!

Labels:

Saturday, August 18, 2018

You Are Giants!

Back in November 2017 I had asked you to help with tapping to EDM. Many of you followed the call and earned beaTunes licenses (please don't tap anymore, data collection is over). Thanks again for that!! Since then I have analyzed the submitted data and created new annotations for the GiantSteps tempo dataset originally created by Knees et al.

Long story short:

  • It appears that a substantial part of the original annotations were wrong (almost 9%).
  • All user submitted data incl. new derived tempo annotations can be found here (under "Datasets").
  • The new annotations will be used as one ground-truth for this year's MIREX Audio Tempo Estimation task.

The full paper (link below) describing the collected data will officially be published at this year's ISMIR in Paris—if you're attending, please come and chat with me!

Hendrik Schreiber, Meinard Müller. A Crowdsourced Experiment for Tempo Estimation of Electronic Dance Music. In Proceedings of the 19th International Society for Music Information Retrieval Conference (ISMIR), Paris, France, Sept. 2018.

Labels: , ,

Sunday, April 22, 2018

Launching BeatGauge from iTunes

As you might know, beaTunes has a little brother called BeatGauge. BeatGauge is a so called One-Trick-Pony—all it can do is compute BPM values for songs in iTunes (Mac-only). It does this super-fast and quite well with a couple of limitations (it cannot break DRM or analyze any files from iCloud or Apple Music).

While it is already very simple to analyze your files with BeatGauge (just drag from iTunes), it can be simplified even more by installing the following AppleScript in ~/Library/iTunes/Scripts

Once installed in the correct location, an additional Script menu will appear in iTunes with an item called BeatGauge. It lets you launch BeatGauge for the currently selected songs.

You can download the script here. For installation tips, please see Doug's page (finding the right folder can be tricky). Last but not least, if you want to create a keyboard shortcut for the script to make BPM analysis even more comfortable, see here.

Labels: , , ,

Wednesday, April 18, 2018

Show Key As If... Harmonic Mixing Without Time-Scale Modification

One of the unique features of beaTunes 5 is the ability to show song keys as if the song was played at a different tempo. “World Sick” by Broken Social Scene is usually in C Major (1d) with a tempo of 118 BPM. If we played the song a bit faster using a DJ software like Traktor, say at 125 BPM, what key would it be in? The answer is D♭ Major (8d). beaTunes can show you this.

But why would you want to know this? How is this useful? If you're DJing using Harmonic Mixing, you need to know what key songs are in to create smooth transitions. Obviously the transition becomes even smoother, if the tempo also matches. There are three ways to achieve this:

  1. You only use songs that are in the desired key and have a matching tempo.
  2. You pick some song you really like and adjust pitch (key) and tempo using your DJ software.
  3. You pick a song that is in the target key when played with the matching tempo.
Using option 1) you will soon realize that it is pretty hard to find just the right song. Option 2) works well digitally, but is problematic when you DJ with vinyl. Also, even though time-scaling algorithms are really good these days, they sometimes introduce a slightly metallic sound. Especially transients aren't easy to slow down (see for example here). Lastly, option 3) avoids some of the disadvantages of time-scaling algorithms, but poses a new challenge: how can you find songs that are in a certain key when played at a given tempo? And that's exactly the problem that beaTunes 5 solves.

To unlock this feature you obviously first need to analyze your music, so that both tempo and key are known. Then simply click on the little Kebab menu at the right edge of the main table's header.

Clicking on the Kebab menu opens the table's View Options dialog. At its bottom you can turn on SYNC, the feature that cause beaTunes to show song keys, as if they were played with a different tempo.

Once SYNC is on, beaTunes displays the shifted key, i.e. the key a song would be in when played at a certain target tempo.

Being able to see the key in this modified way is a great tool for DJs who don't like to use the time-scale modification of their DJ software, but still want to mix harmonically. To make this even easier, the SYNC functionality is also built into beaTunes' Matching Songs pane. Once SYNC is enabled in the main pane, the similar BPM rule matches songs that have the target tempo.

Additionally, you can also configure the matching songs table to display keys as if played at the tempo of the song in the main table. To do so, just click on its SYNC button. Isn't this super cool?! I believe this feature is indispensable when mixing harmonically without time-scale modification.

Enjoy!

PS: To avoid confusion and disappointment, beaTunes cannot play a song at any other tempo than the original tempo. Time-scaling or pitch-shifting are not supported. You will need a proper DJ playback software for that.

Labels: , , ,

Wednesday, January 31, 2018

beaTunes for taps: offer ends today!

Last chance! beaTunes for taps will end today!

If you're interested in a reward license, start tapping.

Labels: , ,

Thursday, January 25, 2018

beaTunes for Taps: Offer ends soon!

Just to give you an update: On average every segment has been tapped more than 3.5 times and all of them at least twice. This is not quite the amount of data I'd like to have, but it's nevertheless soon time to stop collecting and start with the evaluation.

So, if you're interested in earning a beaTunes license, start tapping before 1/31/2018, as that's the official end date for the offer.

Cheers!

Labels: , ,

Thursday, November 30, 2017

Tap like a Giant!

Sorry to bother you with this again... but I really need your help. Even, if you just tap along to a couple of tracks. It's much appreciated. Here are the details.

Labels: ,

Monday, November 27, 2017

Enjoy EDM? Want a beaTunes license?

TLDR: Please help me by tapping along to some EDM tracks on this site.

Part of developing beaTunes is actively participating in the MIR research community. This includes working with scientific datasets for training, testing and benchmarking of algorithms. One of these datasets is the GiantSteps Tempo dataset, created by Knees et al. It contains excerpts of electronic dance music (EDM) annotated with a beats per minute (BPM) value.

GiantSteps Tempo is currently one of the very few EDM datasets that are freely available. But unfortunately it has never been properly verified. This means some reference values may be wrong or ambiguous. I'd like to change that.

Verifying the BPM value for a given song is pretty simple: Just tap along and record the taps. Unfortunately, there are some caveats:

  1. Perception: Tempo is not perceived the same by everybody. Some people may say a given song has 70 BPM, others may say it's 140 BPM.
  2. Tempo Changes: Sections of an excerpt are clearly slow, while other sections of the same excerpt are fast.
  3. Size: There are 664 tracks in the dataset.

What does this mean for a thorough verification?

Science Needs Your Help

In essence, multiple annotations for multiple sections for each track are needed. Assuming we need 5 annotations per section and divide each track into 7 sections, we require 664 x 5 x 7 = 23,240 datapoints. I'm happy to tap along to a couple of hundred songs, but tapping to ten thousands of tracks is an impossible task. Left aside the fact that it would only provide a single point of view and therefore not address the perception issue at all.

Why am I telling you this? Because obviously I need your help. While tapping 23,240 samples is very hard for a single human being without going insane, it's actually relatively easy for a large group. If a couple of hundred people tapped just 100 songs each, the task could be solved in about an hour. Plus the collected data would cover many different ways to perceive tempo.

Earn a beaTunes License

So please help me out! To make it worth your time, I'm more than happy to throw in some beaTunes licenses. To be exact:

Anybody who taps 110 songs and does so well (submissions are checked) gets a free beaTunes 5 license.

To start tapping, please visit this site. Even if you tap just a couple of songs, your submission is much appreciated! And be assured, results will eventually be published.

Thanks so much!

P.S.: If you don't feel like tapping yourself or simply hate EDM—perhaps you know someone who'd enjoy this little task. Please share this.

Update

This offer will end on 1/31/2018.

Labels: , ,

Friday, January 8, 2016

Genre-Based Time Signature Estimation

beaTunes4 logo

As explained recently, beaTunes has supported an MPM and Time Signature column for a long time, but the automatic computation of time signatures left much to be desired. Today's update is not going to make beaTunes perfect, but it's a big step towards better time signature values.

Here's what's new: When calculating BPM with the OnsetPeak algorithm, beaTunes also calculates the time signature. I added some logic that takes the Genre field into account. So if the genre is Waltz, beaTunes will now set the time signature to ¾—guaranteed. The same is true for the corresponding signatures of Paso Doble, Polka, etc. Note, that this only works, if the genre field contains a proper genre value.

Another caveat is the Use online resources checkbox. If it is checked, the logic described above will not be used and you are essentially giving up control, accepting whatever is in the central database. For the moment, those values will most likely be wrong. As I roll out some additional changes, the situation will improve over time. But for the moment, it's best to simply leave that online resources box unchecked.

I hope these changes continue to make beaTunes more useful for dancers. As always, you can download the update from the download section of the website.

Most important changes in 4.5.8

  • Improved time signature detection based on known genres (e.g. Waltz, Paso Doble, …).
  • Fixed issue when sorting the main table by tags.
  • Improved handling of mp3 files tagged with the outdated ID3v1.
  • Recognize mp4 as audio format in folder-based collections, and make sure non-iTunes fields are written in iTunes-based collections.

Labels: , , , , , ,

Friday, December 11, 2015

beaTunes for ballroom dancers: Displaying MPM

Often beaTunes is perceived as a tool strictly for EDM DJs. From years of support work, I can tell you that that is definitely not the case. Yes, EDM DJs like beaTunes. But so do runners, spinning instructors, and last but not least dance teachers.

For dance teachers, BPM (beats per minute) is a very useful value to determine the tempo of a song. However, even more useful is MPM (measures per minute). Measures or bars per minute are the de facto indicator for tempo in the ballroom world. How many beats are in a measure is determined by the time signature or meter. Samba, Polka, and Paso Doble usually contain 2 beats per measure, Waltz 3 beats, and most other dances 4.

It's a little known fact that beaTunes has been offering an MPM column in its main table for many years. To enable it, just right-click on the table header and select MPM in the drop down menu. Alternatively, select a song, open the View menu and select View Options. A dialog box will then allow you to customize shown columns via drag and drop. Unfortunately, making the column visible does not fill it. But don't despair—in most cases that's easily done, as the MPM value is automatically calculated from the BPM value—as long as the Time Signature is set.

First, to make the signature value visible, make sure to enable its column. This is done in exactly the same way as the MPM column. Then let beaTunes compute the BPM values (using the OnsetPeak algorithm). In this step, beaTunes may already fill in some Time Signature values—but be warned, the algorithm used in beaTunes 4.x isn't very accurate. You're probably much better off setting the time signature manually. To do so, click on the table header Genre to sort your library by genre. Then select e.g. all Waltz tracks and open the Get Info dialog (e.g. via right-click). Go to the BPM & Co tab and change the value to ¾-time (see screenshot, please forgive me the AC/DC cover in there…). Then continue with other genres.

That's it.

Hopefully, this helps you taking advantage of beaTunes even more, when preparing your next ballroom dance class or competition.

Update

Starting with beaTunes 4.5.8, time signature detection has been improved. See here for details.

Labels: , , , , ,

Wednesday, September 9, 2015

How to enable the BPM column in iTunes 12

beaTunes4 logo

iTunes 12.2 with its fancy album views made it a lot harder for the average user to enable the Beats Per Minute column. Here's a quick, visual howto guide.

Labels: , ,

Tuesday, May 19, 2015

Free BeatGauge Licenses

BeatGauge Logo

I'm giving away 10 free BeatGauge licenses to beaTunes 4 users. If you're interested, please simply leave a comment on http://blog.beatunes.com/2015/05/free-beatgauge-licenses.html. The first 10 comments, that are verifiable from people who have purchased beaTunes 4 for OS X, qualify.

Please note, that BeatGauge requires OS X 10.10 (Yosemite).

To give you an idea what BeatGauge looks like in action, here's a little demo video (this is not speeded up in any way):

I'm also quite happy to report, that a British customer had the following to say about version 1.0.0 (current version is 1.0.1):

Astonishingly good, accurate and easy to use ★★★★★
by Nick65423 - Version - 1.0.0 - May 13, 2015

This just works. I used to use an old piece of software (ltjBPM) to determine BPM. This involved listening to each track and tapping the space bar in time with the music. Each track took about a minute to do. My 4571 tracks would have taken seven and a half hours to finish, but I would have given up long before that. BeatGauge did all 4571, with no interference or supervision from me, in roughly seven and a half minutes and never made a mistake. For interest, I tried to trick it to see what, if any, error messages came back, or if it would crash. I fed it one-second orchestra stings (Message: Unable to determine BPM). I fed it voice memos (Message: Unable to determine BPM). I fed it DRM-protected tracks (Message: Illegal operation. DRM protected?). Finally, I moved the parent file of a track to break its link with its listing in iTunes. (Message: File does not exist). None of these tricks would be done by anyone in day-to-day use, but it is interesting to see that the software coped with everything I tried and came back with an accurate result. The best software is simple, accurate and works with as little user supervision as possible. BeatGauge is one of those apps. Brilliant.

Labels: , ,

Tuesday, May 12, 2015

BeatGauge: Automatic BPM detection for iTunes

BeatGauge Logo

I'm happy to announce, that beaTunes got a little brother today. His name is BeatGauge and he's a dead-simple, automatic BPM calculator. While beaTunes aims at the larger goal of improving metadata to build great playlists, BeatGauge does only one thing, but it does it very well:

It computes BPM values for your iTunes songs.

Simply drag your tracks from iTunes onto the app and it will automatically start calculating, reporting the results back to iTunes immediately. Honestly, I don't know how this could be done any simpler.
Under the hood, BeatGauge uses multithreaded GCD code, taking advantage of your computer's multiple cores. It's written in Swift for OS X 10.10 (Yosemite)—in other words: Apple's latest technologies.

As of today, BeatGauge is exclusively available via the Mac App Store (MAS). If you're using iTunes on Yosemite and are looking for a light-weight BPM calculator, BeatGauge is definitely a nice addition to your audio tool-belt. Give it a try!

Demo

Labels: , , , ,

Friday, February 27, 2015

beaTunes 4.0.20 —taking diagonal mixes into account

beaTunes4 logo

More or less as a consequence of some unannounced Discogs API changes from 2/20/2015, beaTunes 4.0.20 was released today. Primary purpose of this update is to re-enable cover art import from Discogs via the Import metadata analysis task and the Get Info dialog pane. Another minor change in this release is an improved Similar Key rule, which now takes the "diagonal" mix as well as several energy boost mixes into account. This should help finding a good transition order, when using a match ruleset with emphasis on key, as additional transitions become feasible. For a good overview of harmonic mixing techniques, take a look at this article by Radley Marx. Diagonal key transitions are now also considered, i.e. there is no warning for them in the transition column anymore.

You can download the software from the download section of the website.

Most important changes in 4.0.20

  • Fixed Discogs cover fetching caused by Discogs API change.
  • Added diagonal mix (Xd <-> X+1m) to valid key transitions.
  • Improved similar key rule to support diagonal mix and energy boost.
  • Improved 'Open in MusicBrainz'.
  • Moved to CASampledSP 0.9.9.
  • Moved to japlscript 3.1.1.

Update

There was a minor mess-up with the OS X version of this release, related to dylib dependencies, which is now fixed. If you see a related error message, please simply download again.

Labels: , , , , ,

Monday, January 26, 2015

Audio Analysis Options Explained

In part 1 of this series of articles, I explained the overarching idea of beaTunes, i.e. how analysis and inspection help you to build better playlists. Part 2 explained the different kinds of libraries. Today, I am going to concentrate on analysis options.

Analysis allows you to compute or retrieve additional, mostly non-textual information about your music—great examples are tempo and key. While both can be useful for DJing, tempo can be used for all kinds of applications including workout playlists for running, spinning, and aerobics. You can trigger analysis by selecting a couple of songs and then clicking on the Analyze button in the toolbar.

Using Online Resources

For most analysis tasks, beaTunes offers to simply download the desired value instead of computing it. If the value cannot be found, beaTunes falls back on its built-in algorithm. To trigger this download-first-behavior, you must check the box Use online resources in the analysis options dialog—that's the dialog that pops up, when you click on Analyze (see screenshot below).

Now, should you check that box or not?

Let's take the BPM analysis as an example. While accuracy differs depending on genre, overall state-of-the-art BPM analysis is currently roughly 74% accurate—94%, if you are willing to tolerate x2 and x0.5 errors. This so called octave error is the biggest problem in automatic BPM detection. When downloading values from the database, you are downloading values computed or entered by other beaTunes users. Doing so, you give up any control over the BPM range (or octave) as well as the used algorithm. This is not all bad—the database uses some fancy heuristics to ignore bad values and attempts to pick the "right" ones. But the fact remains: you give up control over the largest error source. There is no way to increase the octave accuracy via tweaks. Plus, you cannot use this feature when you are offline. And when you're online, analysis speed depends on your Internet connection's bandwidth and the general load on the database server.

If you decide not to use online resources, you can force beaTunes to calculate a BPM value in a certain range, e.g. 80-160 BPM. Assuming you know what general tempo your music is in, this can help you to avoid the octave error. Additionally, you get to choose which algorithm beaTunes will use (OnsetPeak is the more modern algorithm). And if you don't use online services for any task, analysis speed only depends on your personal hardware and some settings. More about those later.

In the end, you might want to use online resources, if computing values locally is too slow and you don't care much about tweaking the algorithm. But if you have lots of local processing power, fast disks, and like to stay in control, not using the online database may be the better choice.

Computational Effort

Regarding online lookup, pretty much the same rules apply to the other computation tasks—namely segmentation, color, key, replay gain, and silence detection. It's worth noting though, that some of these require much more effort than others (see Table 1). Assuming a steady beat, beaTunes does not need to look at the whole file when analyzing just for BPM. Automatic segmentation on the other hand, requires beaTunes to read the whole file and do some hefty computations. Replay gain calculation also dictates that the whole file must be decoded and analyzed. And in the case of album replay gain, multiple files have to be read. So when you enable those analysis tasks and need results quickly for thousands of songs, think about what you really want: Each checked task adds more analysis time.

TaskFile PartComputational Effort
BPMsmalllow
Colorsmalllow
Keymedium/largelow
Silencewholelow
Track ReplayGainwholelow
Segmentationwholehigh
Album ReplayGainmultiple wholelow
Table 1: Disk IO and effort of computational analysis tasks

Keep in mind that analysis speed is bound by two factors: disk IO and processing power (Table 1). For disk IO the worst case is a music collection on a slow external device that's connected via a slow interface, e.g. a slow spinning disk connected via USB 2 or an old wireless network. So while a NAS is very convenient for your home entertainment system, for analysis it's not the greatest idea. The best case is currently a fast internal SSD. And if you must use an external drive, try to connect it via USB 3—it's substantially faster than its predecessor.

Last but not least, other, non-computational tasks—like missing metadata and Last.fm tag import—always depend on an online service, no matter what analysis options you use. This means that analysis speed is limited by your network bandwidth, server load, and possible throttling dictated by third party terms of service. Last.fm for example requires, that "You will not make more than 5 requests per originating IP address per second, averaged over a 5 minute period, without prior written consent" (Terms of Service §4.4).

Global Settings

Remember the settings I mentioned earlier? There are two of them that can make analysis slower or faster. In the beaTunes preferences, under the Analysis tab, you can set the number of parallel tasks. Typically, two or three parallel tasks are recommended. You can increase this number (restart required), but—because of Amdahl's law and bottlenecks like disk IO—this does not necessarily mean that beaTunes will process your files any faster. It will mean however, that beaTunes' memory usage will increase. And memory is the other setting you can change. Usually, modifying this parameter manually is not necessary—beaTunes should prompt you for an increase, if it needs one. Should you nevertheless decide you want to grant beaTunes more memory, please see this page. Specifically, large libraries may benefit from using a little more memory. If you are unsure about your current memory settings, just open the About dialog—it shows the configured min and max memory heap sizes.

Conclusion

I hope this article shed some light on the most important analysis options and their performance implications, and helps you make smart decisions about what box to check the next time you use beaTunes for audio analysis. If you have further questions, please comment below or start a discussion in the support forum.



This article is part of a small series under the heading "HowDoesItAllWork".

  • Part 1 explains the overarching idea behind beaTunes.
  • Part 2 explains what kind of libraries beaTunes supports.
  • Part 4 takes you step-by-step through the inspection process.
  • Part 5 concludes this little series, showing how to build great playlists.

Labels: , , , ,

Saturday, October 5, 2013

Running to your own tune—BPM adjusted

The last time you went for a run, listening to music, did you encounter that moment when suddenly that ballad came on and you thought Damn! That's not what workout music is supposed to sound like! Listening to the wrong music while running can really throw you off, dampen your mood, and ultimately slow you down. Listening to the right tracks though, can make you faster. But what are the right tracks?

Most people enjoy exercising to an energetic, upbeat music mix. Certainly not slow, but also not too fast. So finding the right music breaks down to a couple of different problems:

  1. Find music you generally like, something upbeat and energetic
  2. Determine the music's tempo
  3. Figure out what tempo matches your exercise

Finding upbeat Music

You probably own a music collection. It's on your computer, some of it is upbeat and energetic. Often this can be determined simply by genre or album, but that's certainly not ideal. Another way to do this, is using Last.fm tags. To find energetic music on Last.fm, you could simple search for music tagged with "energetic" or "running". But that still does not let you go running with the tracks you found. One way to take those energetic tracks with you is to transfer Last.fm tags to your own collection with—you guessed it—beaTunes. Simply install the Last.fm plugin via PreferencesPlugins, restart beaTunes, and click to analyze your library. In the analysis options dialog, de-select all tasks but the Last.fm one. Then set how many tags per song you want to import. Typically, the top 20 are more than enough. beaTunes will not be able to find tags for all of your tracks, but at least the mainstream ones will be successfully tagged. Once the analysis ran its course, type "energetic", "upbeat", or "running" into beaTunes' search field and it will find those songs for you in your own music library!

Determining the Tempo

Now that you have some songs that may be great for running, how do you know how fast they are? Musical tempo is usually measured in beats per minute (BPM), loosely defined as the number of times you tap your foot along to a song per minute. Tempi below 100 BPM are generally considered slow, tempi above 100 BPM are fast (see Wikipedia). Both iTunes and beaTunes can display BPM for your songs. To see the column in iTunes, you might have to switch to the tabular song list view, and then select BPM in ViewSong View Options (also available by right-clicking on the table header or the ⌘-J keyboard shortcut).

Unfortunately, seeing that column does not fill it with values. And iTunes is incapable of doing just that. To automatically determine the BPM, analyze your library with beaTunes. Make sure to select the BPM task in the analysis options dialog. For beaTunes 3.5, choose the Rayshoot algorithm and a BPM range from 90-180 BPM. Depending on the size of your library, analysis might take a while. Keep in mind, that software is notoriously bad at distinguishing between say 90 and 180  or 60 and 120 —beaTunes 3.5 is no exception (I'm working on this for beaTunes 4). Some obviously slow songs will have a BPM value that is twice the tempo they really are. This is not a problem, as long as they still sound upbeat. This is because when you are running to a 150 BPM song, you can keep on running seamlessly to a 75 BPM song—the beat still matches your strides!

Finding the right BPM

Which brings us directly to the crucial question: What BPM is right for me?

As so often, the answer is:

It depends...

Really, it depends on two factors. The first one is obvious—the faster you run, the faster your music needs to be. The second one... well, the taller you are, the slower your music needs to be. It comes down to the length of your strides. Tall runners obviously need fewer steps for the same distance. And since you want to match the beat of your music to your steps, you essentially have to match your music to your speed and height.

Unfortunately, it's hard to give you a concrete example, like "if you're 5'5 (1.65m) and run 8min/mile (5min/km) your ideal BPM is X". But here are some examples to get you started, leaving your height out of the picture:

  • 7:00min/mile: 90/180 BPM
  • 7:30min/mile: 87/174 BPM
  • 8:00min/mile: 83/168 BPM
  • 8:30min/mile: 82/164 BPM
  • 9:00min/mile: 80/160 BPM
  • 9:30min/mile: 77/154 BPM
  • 10:00min/mile: 75/150 BPM

Start running with a set BPM and, if it feels too slow, next time ramp it up a bit. To improve your time, choosing a BPM that's a little faster than your usual pace definitely helps!

Building the Playlist

Now that you know what BPM you need and all your songs are BPM-annotated, simply enter "energetic" or something similar into beaTunes' search field, then select a bunch of songs with the right BPM (tip: sort by BPM) and create a playlist from the selection via the File menu. That's it!

Hope you enjoy your next run!

Labels: , , , ,

Thursday, January 19, 2012

beaTunes 3.5 Early Access 5: small and BIG Fixes

beaTunes2 logoTesting pays off. Always. Latest proof of this truism is a subtle but nasty bug I found in one of beaTunes' BPM algorithms. It's fixed as of EA5, but earlier 3.5-EA releases definitely produced bad results. Other changes in this release are some small inspection improvements, but not much else on the beaTunes side of things.

That said, the Windows version now comes with a bundled Java 7 runtime.

As always, there is some more info in the NOTES.txt file.

Alright, here's the obligatory warning: Before downloading and installing this, please make sure you understand what Early Access means:

  • Absolutely no warranty for whatever
  • Features may or may not work, appear, and disappear
  • It may not be possible to migrate data to future or previous versions (even though I make a reasonable effort)
  • This version will cease to function one week after its release
  • You cannot buy this version

And here are the download links:

Important

For those still using beaTunes 2: beaTunes 3.x changes beaTunes' internal database layout quite a bit, which takes a while. Do not interrupt this process, even if it takes very long! beaTunes 2.x will not be able to use the database anymore, after you ran beaTunes 3.x. If you intend to try 3.x and then go back to 2.x, make sure you back up the database before you try 3.x (depending on your OS it's in ~/Library/Application Support/beaTunes/Database, C:\Users\<username>\AppData\Local\tagtraum industries\beaTunes\database or C:\Documents and Settings\<username>\Local Settings\Application Data\tagtraum industries\beaTunes\database)! You also might want to check out this article about exporting beaTunes data.

Feedback

Please provide feedback! Let me know what does not work. Especially audio decoding problems, OutOfMemoryErrors and UI hangs and hiccups.

Thanks.

PS: The update from 3.0 to 3.5 will be free.

Labels: , ,

Friday, May 16, 2008

SynchStep is public!

A little while ago, we pointed you to SynchStep, which back then was still in private beta. As of yesterday, SynchStep is public.

From the press release:

"SynchStep is a fun and easy experimental way to plays songs from your music library that match your pace. That means when you're out struttin your stuff down "My Favorite Street", every step you take lands in-time with a drum hit, a bass slap, a piano chord. It's kind of like being in your own music video, where your your music becomes the soundtrack to your life. Ya, it's just like a your own music video, except you don't have to pay 3 hundo to some smug director and let his smarmy crew use your bathroom."

To support this special project, tagtraum industries has created a nifty little plugin for beaTunes, which automatically writes the BPM information into the comment field, so that it can be easily read by the SynchStep application on your iPhone or iPod Touch. You can get a special version of beaTunes from the SynchStep site that has the plugin already installed.

For those of you interested in how to write a plugin for beaTunes, check out the source code and email us any question you might have.

Labels: , , , ,