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

Tuesday, February 25, 2014

App Nap—or why analysis might be extra slow on Mavericks

beaTunes3 logoAs most OS X users have upgraded to Mavericks by now, more and more people realize what App Nap does to applications running for a long time in the background: It puts them to sleep.

In other words, when you start an analysis batch in beaTunes and then go on to work with other programs in the foreground, OS X may decide to essentially halt analysis, while beaTunes is not the frontmost application. It does so to preserve battery life and give you the best possible performance for the app you are working with in the foreground. While these intentions are noble, they interfere with background analysis.

But not all is lost, Mr. Redford. Finder allows you to turn App Nap off for individual applications. To do so, simply select beaTunes3 in Finder, and open the Get Info dialog (see image above). In the dialog, find the box Prevent App Nap and check it. That's it.

In beaTunes 4, I will hopefully come up with a more elegant solution.

Labels: , ,

Tuesday, January 28, 2014

beaTunes 3.5.18

beaTunes3 logoJust like 3.5.17, this is a minor update that fixes—you guessed it—minor issues.

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

Java7 support on OS X

Just like for previous releases, I'd like to put a version out there that contains a bundled Java7 runtime environment. This version requires a 64bit OS X 10.7.3 or later. It does not explicitly support Retina displays.

You can get it here.

Please note that the Java 7 version is not properly signed, because of changes in Apple's codesign tool. To run it, you must turn Gatekeeper off—otherwise OS X will tell you that the app is broken and should be moved to the trash.

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.

Changes in 3.5.18

  • Updated Windows JRE
  • Fixed some intra-list drag and drop issues
  • Fixed track id deadlock issue in filesystem-based libraries
  • Song ratings for iTunes libraries can now be embedded
  • Fixed middle-of-song silence issue
  • Fixed matchlist filter with ranges
  • Workaround for //?/ paths on Windows (issue seems to be caused by the Amazon MP3 downloader)
  • Small Retina related fixes for OS X

Labels: , , ,

Monday, November 11, 2013

beaTunes 3.5.17

beaTunes2 logoThis is a minor update that fixes a couple of small things and introduces the possibility to write SongAnalysisTask beaTlets.

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

Java7 support on OS X

Just like for previous releases, I'd like to put a version out there that contains a bundled Java7 runtime environment. This version requires a 64bit OS X 10.7.3 or later. It does not explicitly support Retina displays.

You can get it here.

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.

Changes in 3.5.17

  • Updated Windows JRE
  • Fix for handling case changes in filenames on Windows.
  • Fixed tablecell-editor for genre and composer.
  • Better support for Task beaTlets.

Labels: , ,

Copying data to the comment field

beaTunes2 logoUnfortunately, iTunes does not support a number of fairly standard fields—most prominently probably musical key. To help solve this problem, there have always been beaTunes plugins that copy certain information to the comments or grouping field. Those plugins can be installed via the beaTunes preferences. However, it seems that many people want to have more control over what exactly is written to the comments field. Some prefer OK-Notation, others want musical keys, yet others want to come up with a completely new notation.

While it is possible to code up a new Java plugin for beaTunes that suits your personal needs, many people find this too much trouble. This is why I introduced beaTlets a while back. beaTlets allow you to script beaTunes plugins using Groovy, JRuby, or Jython. In other words, instead of installing, Java, Maven, an IDE etc. you just have to code a single class in whatever text editor you like (TextMate, JEdit or Notepadd++ come to mind), drop it into the beaTunes plugin directory and restart beaTunes.

But before beaTunes 3.5.17 it hasn't been possible to script a SongAnalysisTask. That's the kind of plugin that works like the KeyToComment plugin you might have installed via the beaTunes preferences. It shows up in the Analysis Options dialog, when you click on Analyze. So... if you're interested in controlling how the key field is copied to some other field, please check out the new sample code for Song Analysis Task beaTlets. When rolling your own, please keep in mind, that any error messages are dumped to the beaTunes log, the file name of your beaTles must reflect its class name, and that no two entities can have the same name (you might have to uninstall plugins with the same name).

Enjoy.

Labels: , , ,

Sunday, November 3, 2013

Eco Spinning

For all you DJs, this may be a little off topic. But I know for a fact that loads of people use beaTunes for creating spinning playlists. You know, those stationary bikes, installed in endless rows in the your gym. Bicyclists spinning away, generating lots of unused power...

Well, it does not have to be unused. Some small gyms like The Green Microgym actually let you generate real power. Yep, that's right! Your muscle power does not get wasted. And, if you like the idea, you can build a generator bike yourself. Time's Up has detailed plans for the generators they used during OWS on their website and The Green Microgym sells a kit on their site. But there are plenty more. Most likely you can find someone near you, who can help you set up a generator bike.

Wouldn't that be a great New Year's resolution: Never charge your iPhone through a regular outlet? ;-)

Happy spinning!

Labels: