beaTunes News

Friday, July 25, 2014

Visualizing Playlist Flow

beaTunes2 logo Playlists are basically songs put into a specific order, sometimes for a particular occasion. So much is clear. But what makes a playlist good? A recent paper by Thor Kell and George Tzanetakis suggests, that good EDM playlists or DJ sets are usually made up of songs that match sonically: "Our transition analysis has shown timbre to be an important attribute used by DJs".

But while timbre (related to beaTunes color) apparently is a very important choice for EDM DJs, it may be less so for the madly in love teenager who works on his graduation mix, or the oldies show DJ, who is restricted to songs from the 50ies. But in any of these scenarios it can be helpful to get some visual feedback for how the list, not the song, sounds and what the transitions are like. beaTunes 4 addresses this by displaying a playlist image above the textual list and also showing a transition column in the main table.

The playlist image represents each song in three dimensions: height, width, and color. Each of these dimensions can be assigned to a song property, e.g. duration, BPM, or key. To change the current setting, simply right-click on the image and re-define what is being displayed. To listen to a given song, double-click on it to start playback.

While the playlist image is a positive, descriptive approach, i.e. it tells what you have, the transition column is a somewhat negative approach. Like a little brother it nags, it tells you with little icons what may be wrong with your playlist. Among the things it indicates are tempo, key, and language changes (all of these require prior analysis). If you are keen on avoiding certain transitions, like a harsh tempo change, the corresponding icon will make you aware of it (a tooltip shows more info), and might help you to avoid it.

Without a doubt, automatic playlist generation has come a long way and certainly has its (very convenient) place. But it does not replace manual set-building, as it cannot know your goals and interests or the given occasion. Automatic playlist algorithms simply cannot detect intent. What's left is trying to support playlist creators. That's where beaTunes shines. It's meant to support you in building excellent playlists—giving you a little more feedback than just the song names.

Labels: , , ,

Monday, July 21, 2014

beaTunes 4 is out!

beaTunes3 logo I'm very happy to announce that after a year filled with lots of work beaTunes 4 finally saw the light of day today. Compared to version 3.5 there are a bunch of changes—most are improvements of existing features. Please note, that after multiple years of free updates for 3.x, the upgrade from 3.x to 4.x is not free. However, owners of beaTunes 2 and 3 licenses can count on significant discounts.

When updating, please let the database re-organization run through to the end to avoid database corruption. Even if this takes a while. Should you run into any problem, please let me know.

You can download the release from the brand new website.

Most important changes in 4.0.0

  • Semantic music player
  • Completely rewritten BPM, key, and color algorithms
  • Acoustic dupe detection (requires prior calculation of fingerprints)
  • Configurable playlist visualization
  • Last.fm scrobbling, tag import, and mood inference
  • Playlist import
  • Completely overhauled UI
  • Find and replace in textual metadata
  • Improved scalability
  • 64-bit support for Windows

Thank you for your continued support!

Labels:

Friday, July 18, 2014

Featuring: Fancy Find and Replace

beaTunes2 logo Most beaTunes users love its inspection feature. It's probably the best way to manage a large library, cleaning metadata, keeping it all consistent. But for some things inspections aren't specific enough—especially because they cannot be configured (by design). A good example is: "featuring". How do you write it in your library? "feat.", "ft.", "featuring"?

To tackle this kind of problem, beaTunes 4 (to be released soon!) has Find and Replace functionality built-in. It treats the visible text fields in the current playlist like one big document and allows you to search it. Naturally you can also replace stuff. But how does this help with the "featuring" problem?

Glad you ask! Obviously you can run multiple searches. But using regular expressions, you can also use just one. It gets a little tricky, but bear with me for a second. In regular expressions a vertical line | means or. So to search for "feat", "ft", or "featuring" you could write "feat|ft|featuring". But this will also find all instances where "ft" is just part of a word as in "left". So we need to add spaces like this " feat | ft | featuring ". That's better. But now we are missing all the cases where there is a dot after the word. So we need to add something to the expression that says: Oh, and perhaps there is a dot, too. In regular expressions this is done with a question mark. Now before we simply add a dot and a question mark, I have to mention one thing: just like vertical lines and questions marks, dots have a special meaning. They act pretty much like a joker, meaning any character. That's certainly not what we want, which is why we have to escape the dot character; meaning, tell the program to use the dot literally. This is done with a backslash. In the end our regular expression looks like this: " ft\.? | feat\.? | featuring "

Voilà!

beaTunes highlights all visible matches, and when searching with regular expressions even displays an overlay with the potential replacement. This is especially handy when working with capturing groups.

If you'd like to try this out an Early Access release, please go to the Early Access Page download page and download the latest version. And if you do so, please provide feedback.

Thanks!

Labels: ,

Tuesday, July 8, 2014

Semantic Playback in beaTunes4

beaTunes2 logoSome of you might already be aware of the Early Access (EA) series I'm currently releasing. It's all in preparation for beaTunes4, the next version I've been working on for the last year. Needless to say, I'm very excited to be so close to the actual release.

So what's new?

The most obvious change is probably the built-in player. Front and center it lets you play the audio part of whatever you have in your library. It respects ReplayGain and can scrobble to Last.FM–both features can be configured in the new Playback preferences. Of course you can access parts of any song simply by using the slider. But unlike most other desktop music players, beaTunes also lets you navigate semantically. Usually pop songs have a strong structure, using sometimes repeating elements like intro, verse, chorus, bridge, and outro. With the new analysis task Similarities & Segments, beaTunes can automatically annotate songs with the corresponding information, which in turn allows for easier intra-song navigation. A simple example for this feature is Peek (in the song context menu). It performs on-the-fly segmentation and starts playback at a prominent spot–often the chorus or the verse. In essence, this is much like audio-thumbnailing or previewing. Another way to take advantage of segments and similarities are the controls in the aptly named Controls menu. If a song is segmented, you can navigate to the next segment or similarity via keyboard shortcuts. Without segmentation data the same shortcuts perform jumps.
Note that the computed segmentation is not always perfect. For example, it does not work very well for weakly structured or monotonous music like EDM, or for music with unsteady tempo (e.g. live performances with a bad drummer). However, polished productions by pop music artists like Adele can usually be segmented very well (see screenshot).

Naturally, this is not the only new feature. In the screenshot, you can also see the new Transition column, an alternative BPM value, and more... If you'd like to try out an Early Access release, please go to the Early Access Page and download the latest version. And if you do so, please provide feedback. I'm especially eager to hear more about the 64-bit-Windows version.

Thanks!

Labels: , ,