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
  • 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!


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 "


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 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.



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.


Labels: , ,

Thursday, May 22, 2014

beaTunes 3.5.19

beaTunes3 logoJust like the last couple of releases, this is a minor update that fixes—you guessed it—minor issues.

You can get the updated version via the regular download page.

64bit support on Windows

Also, I'd like to offer a 64bit version for Windows. This version requires Windows 7 or later. Because it does not use QuickTime anymore, some audio formats like Apple Lossless are not supported.

You can get it here.

BTW: I've been talking about beaTunes 4 for quite a while now... and it's not going to take much longer. Look forward to the next step in world-class BPM and key detection! Plus a bunch of exciting new features!

Changes in 3.5.19

  • Increased lyrics timeouts.
  • Added fallback for creating Matchlists for very large libraries.
  • Window painting speed-up.
  • Fixed rendering of disabled inspectors.
  • Fixed issue with mp3 rating import.
  • Fixed LuckyLyrics import.

Labels: ,

Tuesday, April 15, 2014

Does 24-bit audio matter?

beaTunes3 logoYou have probably heard of Neil Young's Pono music player. Supposedly it sounds awesome. However, scientists have doubts. The usually very knowledgeable people at Xiph say: Unfortunately, there is no point to distributing music in 24-bit/192kHz format. Its playback fidelity is slightly inferior to 16/44.1 or 16/48, and it takes up 6 times the space.

The argument against higher sampling rates is clear. And using lossless formats also provides clear advantages–even if it seems like people cannot distinguish between a quality-encoded AAC-file and a CD. But what about the individual sample resolution? Does 24-bit really provide no advantage over 16-bit?

Imagine a very quiet recording, really only using the lower 4 bits out of 16. Will it not sound worse than the equivalent recording using the lower 12 bits out of 24?

I admit, I assumed it will sound far worse. Then I tried the following.

To test, whether it sounds any different, I took an ordinary mp3 file and converted it to 16-bit Wave using sox.

sox rumour.mp3 rumour.wav

Now that we have a 16-bit version, let's create a very quiet version, that uses only the lower 4 bits. That's equivalent to shifting all samples by 12 bits. This is equivalent to multiplying each sample with 1/2^12≈0.00024. As it turns out, this can be easily accomplished using sox:

sox -v 0.00024 rumour.wav rumour_quiet.wav

Now we have a very quiet 16-bit file, really only using 4 bits. Let's do the same for a 24-bit file. To do so, we first convert the 16-bit Wave file to 24-bit. And yes, I know, this does not magically increase the quality, but bear with me for a second.

sox rumour.wav -b 24 rumour24.wav
sox -v 0.00024 rumour24.wav rumour24_quiet.wav

At this point we have two files. One with 16-bit resolution, one with 24-bit. Both are very quiet, but we assume that the 24-bit file sounds better, just because it supposedly still has 12 bits to represent the signal, while the other one only has 4 bits. The fact that we converted from 16 to 24 bits earlier does not matter, because we down-scaled the signal so much by using the -v flag that any disadvantage we might have had is gone anyway.

Well, judge for yourself: rumour_quiet.wav and rumour24_quiet.wav.

Can you tell the difference? I guess the appropriate question is: Are you able to hear anything at all?

That's right. The result is hardly audible, even with great amplification. Now, if you can tell a quality difference between something you can hardly hear and something else you can hardly hear, you astonish me. So unless this little experiment is somehow flawed (please point out any errors!), 24-bit audio does not matter.

Labels: ,

Monday, March 24, 2014

How to kill DRM on old iTunes files

beaTunes3 logoWired has a really useful article on how to get rid of DRM on old iTunes songs—if you are using iTunes Match.

So if you still have DRM protected songs, check it out, it's worth your time: "Kill the DRM in Your Old iTunes Music Purchases"

Labels: , , ,