Itunes Bpm Analyzer

BPM それは Beats Per Minute。 音楽で演奏のテンポを示す単位だ。 (Wikipediaによると、医学用語でもあり、心拍の速さを示す単位らしい) その名の通り、1分間に何回ビートが打つかを表す単位だ。 ビート(Beat)とは、日本語で言うところの”拍. BPM Analyzer is a small application that allows you to find out, as its name suggests, the number of beats per minute of a song. The program functions very simply: you only have to download the music file that you want to analyze it will have, in under a minute, a list of the results. The GetSongBPM song analyser calculates the beats per minute of any song. The simple drag and drop app could not be easier to use, and will measure the BPM from any audio file. It supports a wide range of file formats. Finding the songs with the best tempo.

Last time, I mentioned that MixMeister BPM Analyzer does a great job of crawling through your music files and deriving the Beats Per Minute (BPM) for each track. However, running iTunes afterward and displaying the Beats Per Minute column, or setting up a smart playlist that uses the BPM attribute, I found that the BPM data had not fully made its way into the iTunes database. If you select a track, choose 'Get Info', and go to the Info tab, you'll see that the BPM value suddenly flashes into place, as if iTunes is reloading the track metadata (title, artist, genre, etc.) on demand.
I like smartplaylists, and was hoping to use them to help come up with a good 90 BPM playlist for running, so I need to get iTunes to know about all those individual track tempos, but with thousands of tracks the idea of clicking on each one to get it to load is a nonstarter.

Solution #1


Lifehacker has this helpful receipe, which I'll rewrite in a little more detail here:Itunes bpm detection
  • Open iTunes
  • Select Music library
  • Make sure BPM is one of the columns displayed. If not, right-click on one of the other columns, and check 'Beats per Minute'
  • Click on the BPM column to sort it, so all of the tracks that don't have BPM info are all at the beginning
  • Select all tracks showing blank BPM (or a subset if you have a lot of tracks and want to do this in batches)
  • Right-click on the selection and click 'Get Info'
  • On the Multiple Item Information screen, click OK without modifying anything
  • If there are a lot of tracks, a progress bar should come up. The total time it takes to update everything will depend on how many tracks are involved and the speed of your hard drive, but shouldn't be more than a minute or two in most cases.
  • Close and reopen iTunes to refresh the music list
Only one problem: this didn't work for me, at least not consistently, and I was still left with thousands of 'un-tempo'd' tracks. It may work for you; if it does, let me know in the comments.

Solution #2

(For the non-technical: skip to the bottom to download the app)
Time to write a little code. On Windows, iTunes has a COM interface (I hear you shuddering out there, but I'm nothing if not pragmatic). It doesn't appear to be well-documented, but a little web searching makes things clear enough. I'm working in C#/.NET/Visual Studio, but you could use Python, Powershell, or almost anything.
In Visual Studio, create a new Console Application project, add a reference, go to the COM tab, and select 'iTunes 1.13 Type Library'. Instantiate a new iTunesAppClass object representing the iTunes application:
var iTunesApp = new iTunesAppClass();
When done, in a finally block, be sure to release the object:
Marshal.ReleaseComObject(iTunesApp);

The LibraryPlaylist property contains all the tracks:

Itunes Bpm Analyzer 2020

Bpm analyzer itunes mac

Itunes Bpm Analyzer 2019

var mainLibrary = iTunesApp.LibraryPlaylist;

The collection of tracks for a playlist is on the Tracks property, from which you can enumerate individual tracks:
foreach (var track in mainLibrary.Tracks) { .. }
We want to limit ourselves to file-based tracks. One way to do that is to cast each track object to the IITFileOrCDTrack class, and only proceed if the cast succeeds.
var filetrack = track as IITFileOrCDTrack;
Finally, the IITFileOrCDTrack class has an UpdateInfoFromFile() method, which does what it sounds like:
filetrack.UpdateInfoFromFile();

If you're interested, you can download the source project, or the compiled application.

2019

Links

  • Top 10 iTunes Smart Playlists (lifehacker.com)
  • Set Up iTunes Smart Playlists to Give Every Song in Your Collection Its Due (lifehacker.com)
  • Update Your iTunes Library (lifehacker.com)
  • Controlling Your Tunes In F# (The Life of a .NET Developer)

Itunes Bpm Analyzer

I have a large iTunes/MP3 collection, and would like 'smarter' random playlists. I've come across BeaTunes in an Apple post - it's $35. I think it also tries to give you the key of the song, which is useful to me when I want to work on getting familiar with a particular key along with a recording in that key. I realize one can transpose any song electronically - I suppose that's a great way to get familiar with new keys also, by playing along up to tempo.
I don't suspect pinpoint accuracy - just ballpark...I realize the results will be far from perfect.
There are a few BPM analyzers out there. Has anyone tried BeaTunes and others (free or paid), and can comment on whether you thought it worth the money ? And which they liked best and why ?

Bpm Analyzer For Itunes