beaTunes News

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.


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: , , , , ,

Wednesday, February 18, 2015

beaTunes 4.0.19

beaTunes4 logo

beaTunes 4.0.19 was released today. As always, the release contains some more or less important fixes, improvements, and updates. For those of you interested in seeing partial artwork in the main table, please check out this discussion.

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

Most important changes in 4.0.19

  • Fixed display of progress dialog on initial import.
  • Reversed mousewheel direction on volume knob on Windows.
  • Improved automatic BPM range detection for EDM.
  • Improved repair/rebuild logic and dialogs.
  • Improved performance of adding selected songs to queue.
  • Improved caching of auto-completion.


Monday, February 9, 2015

Creating great Playlists

So, now that I have bored you enough with overview, libraries, analysis options, and inspection, finally I'm getting to the point of it all: Building better Playlists.

At the core of playlist creation stands a concept. Something that is supposed to make the list tick. Something that ties it all together. This can be something as common as "Best Rock of the 80ies", "Love Songs of 68", as personal as "Songs you made out to as Teenager" or as specialized as "Songs influenced by Nirvana's Nevermind". Or, if you're into working out "Driving Beats for Aerobics", "Steady Steps for Marathon Trance", and "Up and Down on two Wheels". You get the idea.

The point here is, every one of these concepts follows different rules and therefore requires different data.

Regarding data we're in luck. Analysis and Inspection should have whipped your collection in shape. But how do you find the right songs? How do you make beaTunes understand the rules?

Song Matching

Naturally, you can simply browse your library or use the filter field to search, build your lists completely manually. Another approach is called query by example. The idea is, that you choose a song and ask beaTunes to find a similar one. The $100.000 question is: What exactly is similar?

beaTunes sidesteps this question by letting you define what's important to you. This happens in the Song Matching preferences. There you can set up sets of rules that emphasize certain aspects of similarity, like tempo, mood, or color.

Creating Matchlists

Once you have created a ruleset appropriate for the playlist you want to create, select a song that the other songs are supposed to be similar to. This song is called a seed song. Then choose New Matchlist from the File menu (or use the corresponding toolbar button). beaTunes will then display the dialog shown below. Once you click OK, it will automatically create a new playlist according to the configured rules.

Building Playlists Iteratively

Matchlist are a great tool for building playlists with the click of a button. But they also take all the fun out of the creative process. beaTunes supports another way to create playlists, one that works song-by-song.

To get started, again select a song that you want to use as the first song of your list—your opener. Then click on New Playlist from Selection in the File menu. beaTunes will create a new playlist and you might want to change the default name to something better. Then select that very first, lonely song, open the View menu, and make sure that Show Matching Songs is turned on. Below the main playlist table, a panel with matching songs should appear.

To build your playlist, check out the matching songs. Once you've found a good candidate for song #2, simply drag it into the main playlist table above. You will find that beaTunes automatically selects the newly added song, triggering the match process again. So now, beaTunes shows you potential candidates for song #3. And so on... The process is also nicely demonstrated in this video. If you're unhappy with the current match ruleset, you can select another or modify the current one in the preferences. And for those people interested in harmonic mixing, I'd like to point out the key filters. They let you hide songs that are not in a defined harmonic relationship to the selected song.


I hope this articles helped you getting the most out of beaTunes when creating playlists. 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 3 takes a closer look at analysis and analysis options.
  • Part 4 takes you step-by-step through the inspection process.

Labels: , ,

Wednesday, February 4, 2015

DigitalDJTips features beaTunes

beaTunes4 logo

Phil Morse from just featured beaTunes in his article 5 Ways To Create Better DJ Sets With beaTunes. The article contains a great video walkthrough that I can highly recommend to anyone using beaTunes. Especially the bit about manually building a set using the match table (5:20) is awesome advice.

Today I also released a minor update. As always, the release contains some more or less important fixes and improvements. You can download the software from the download section of the website.

Most important changes in 4.0.18

  • Fixed read-only check on Windows.
  • Fixed issue with tuning rule.
  • Fixed additional matchlist filters.
  • Improved timeout handling on inspection commit.

Labels: ,

Monday, February 2, 2015

Improving Tags through Inspection

After explaining the overall idea, how libraries work, and the finer details of analysis options, today I am going to talk about inspection.

As you might recall, the main idea of inspection is to improve your textual metadata. Inspection does not magically tag all your files correctly (there is an analysis task that can help with that, though). Instead, it supports you in identifying potential issues like spelling mistakes and offers appropriate solutions. Let's look at this step-by-step.

Before you run an inspection, you might want to synchronize the beaTunes library with iTunes or your music files, so that the internal beaTunes database is up to date. You can do so via the File menu. Then click on the inspection button in the toolbar, the Tools menu, or simply use the keyboard shortcut Shift-Command-I. beaTunes will scan your library for issues. How long this takes depends mostly on the size of your library and which inspectors you have enabled (fewer = faster). Once the initial scan is complete, beaTunes will display the found issues along with suggested solutions.

Then the procedure is as follows:

  • Select one or more issues
  • Only if you selected a single issue: Select the songs you want to apply a solution to
  • Choose the solution and apply it
  • Move on to the next issue

Note, that when you select more than one issue at once, not all displayed solutions will necessarily be appropriate for all selected issues—however, they will only be applied to appropriate issues.

Whenever you apply a solution, beaTunes displays two dialogs. The first dialog makes you aware of the fact that the actual change has not happened yet. Instead, the chosen solution has been added to the list of pending solutions. This list appears at the bottom of the inspector list. It allows you to review all applied solutions before you actually commit them. More about that in a bit.

The second dialog asks, whether the issue at hand has been completely resolved. If your answer is Yes, beaTunes removes the issue from the open issues list. If it is No, the issue stays and you can apply another solution to the same issue. This makes sense, e.g. when an issue lists five songs as having the same rarely used genre. Upon checking the songs out, you might realize that the first two belong to pop, while the other three belong to jazz. So you first select the pop songs, apply a solution that changes their genre to pop, and then select the jazz songs and change their genre to jazz.

Committing Solutions

As mentioned above, applied solutions aren't immediately committed. Instead, they are collected in the pending solutions list where they can be reviewed, dropped, and committed. To do any of these things, select the Pending Solutions item in the left pane of the application window. Once you see the list of pending solutions, you can either commit them or delete them—either in bulk or individually via the context menu.

If you dislike this two-step approach of applying and committing—well, you can turn it off. The corresponding switch is located in the inspection preferences and called Delay committing changes. You guessed it, in order to commit solutions right away, you must turn this option off. The same preference pane also lets you turn individual inspections on and off.

Removing Duplicates

Even though the bulk of the offered inspections aim at consistency of textual data, one of the more popular inspections has nothing to do with metadata improvements. Finding and removing duplicates is a great pain in large collections and beaTunes has an inspection that can ease this pain. By default, beaTunes uses the existing textual metadata like song and artist names to find duplicates. Sometimes, songs already have identifiers like ISRCs embedded—those are used as well. Additionally, to identify duplicates that come with wrong or insufficient metadata, beaTunes can use acoustic fingerprints. Unfortunately, it can take quite a while to compute those, therefore they are not calculated during inspection. In order to take advantage of them, you must first analyze your library with the fingerprint analysis task turned on. Once that has happened, beaTunes will take them into account when you run the inspection.


This little guide hopefully explained in detail how inspection works. 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 3 takes a closer look at analysis and analysis options.
  • Part 5 concludes this little series, showing how to build great playlists.

Labels: ,