beaTunes News

Sunday, March 29, 2020

Update: beaTunes 5.2.7

This update improves overall performance of audio analysis, i.e., any analysis task that relies on reading audio data from files. Informal tests on a system with an SSD showed a roughly 50% performance improvement for audio normalization tasks (e.g., ReplayGain), which typically require reading through the entire file. Obviously, depending on where your files are stored, your mileage will vary. That said, reading audio in general should be somewhat faster, unless your HDD or (W)LAN is the bottleneck. This is the result of some tuning in the jipes library, which beaTunes uses for audio analysis, allowing the Java JIT compiler to better optimize the code.

As always, you can download the new version from the download section of the website.

Changes in 5.2.7

  • Improved analysis performance.
  • Moved to jipes 0.9.17.
  • Moved to CASampledSP 0.9.22.

Labels: ,

Sunday, November 10, 2019

Update: beaTunes 5.2.1

This update fixes a couple of issues that became apparent after the release of macOS 10.15 as well as a few general things. It's recommended for everybody using beaTunes v5.2.0.

As always, you can download the new version from the download section of the website.

Changes in 5.2.1

  • Re-added support for macOS 10.11.6 (was mistakenly disabled).
  • Fixed play/pause triggered by entering SPACE in genre field (Windows only).
  • Fixed very small application icon (Windows only).
  • Fixed analysis queue processing hang after SocketException.
  • Reduced memory footprint during iTunes/Music.app-based analysis.
  • Improved startup performance for macOS 10.15.
  • Improved handling of case-sensitive metadata file tags (esp. ReplayGain).

Labels: , ,

Wednesday, December 6, 2017

Update: beaTunes 5.0.6

Over the last couple of weeks a couple of fixes piled up so that it was definitely time for an update. Well, here it is!

As always, you can download the new version from the download section of the website.

Changes in 5.0.6

  • Improved memory environment variable manipulation (Windows).
  • Improved misspelled album inspector.
  • Improved robustness of folder-based synchronization.
  • Fixed Open in Chordify.
  • Fixed small errors in German translation.
  • Fixed range coercion for downloaded BPM values.
  • Fixed re-import of embedded ReplayGain tags.
  • Fixed embedding of true ReplayGain peaks.
  • Fixed issues with Canadian Amazon integration.
  • Added missing Wikipedia icon.
  • Added pre-generated icons.
  • Updated JAudioTagger library.
  • Only embed analysis date if something actually got changed.

Labels: , , , ,

Tuesday, July 26, 2016

Update: beaTunes 4.6.5

Two changes in this minor update are actually noteworthy:

  1. Auto-scrolling to a selected item when changing the sort order is one of those usability things that make your life much easier. To code it up took literally 2min after it was requested by a user. Small changes do matter.
  2. Potential hang during album ReplayGain analysis. This has been fixed. But! Here's a tip: When importing artist and/or album names from online sources, do not analyze album ReplayGain at the same time. When doing so, you are trying to hit a moving target, as the question "which song is part of an album" may be answered differently while the analysis progresses and new album/artist values are imported.

As always, you can download the new version from the download section of the website.

Most important changes in 4.6.5

  • Added auto-scrolling to selected song when changing sort order.
  • Fixed potential analysis hang due to database timeouts/pending writes.
  • Fixed table update notification for release year attribute.
  • Fixed Show All Columns menu item in column popup.
  • Fixed ClassCastException when setting image kind for id3 2.2 on Windows with iTunes.
  • Moved to Java 8u102.

Labels: , ,

Tuesday, June 7, 2016

Update: beaTunes 4.6.2

beaTunes4 logo

Just want to let you know, that there is a new beaTunes update. As always, you can download it from the download section of the website.

Most important changes in 4.6.2

  • Fixed potential infinite loop during list loading.
  • Fixed possible solution write failure of sort inspector.
  • Fixed no-new-songs-to-analyze issue.
  • Improved processing speed of ReplayGain.
  • Added workaround for dnd failure of images in Get Info on OS X caused by JDK-8156099.
  • Moved to HTTPS AcousticBrainz endpoint.
  • Updated to japlscript 3.1.6.

Labels: , ,

Wednesday, May 11, 2016

Faster Graphics, no Blank Lines

beaTunes4 logo

Among other things, today's update fixes a couple of display issues. If you have ever seen blank lines in the main song table—this update is for you. In general, beaTunes will feel a little faster and scrolling around in huge lists should be more responsive. Also related to graphics: the choice of GPU (graphics adapter) on OS X. There really is no reason why beaTunes should use the high performance GPU. Thanks to a recent Java update (8u92), beaTunes is now able to request the integrated GPU instead of the high performance one, resulting in lower power consumption. And as beaTunes comes bundled with a Java runtime, there is no need for you to update your system's Java to get this feature.

Another important bug fix deals with Album Replay Gain. Because the beaTunes analysis queue processes multiple tracks in parallel and independently, computing Album Replay Gain is a little like dealing with a pink, spotted elephant: All tracks for an album have to be loaded, analyzed and the metadata has to be written, while another analysis thread may already work on one of those files. Compared to all other values beaTunes computes, this is a big exception and requires some extra synchronization logic. For 4.6.1, this logic has been completely rewritten.

I'm sure you'll enjoy this update. As always, you can download it from the download section of the website.

Most important changes in 4.6.1

  • Fixed dragging songs from the main table to other programs.
  • Fixed write failures of Album Replay Gain values.
  • Fixed main table repaint issue (blank list until scroll).
  • Fixed launch failure when installed in folder with + char.
  • Improved sort order of different genre issues (by artist).
  • Improved speed of table rendering code for iCloud songs.
  • Improved matching of online metadata when Earliest Release is checked.
  • Reduced power consumption on OS X by allowing use of integrated GPU.
  • Updated to FFSampledSP 0.9.13.

Labels: , , , , ,

Tuesday, October 7, 2014

beaTunes 4.0.10: Now with AV framework du jour

beaTunes4 logo

I just released beaTunes 4.0.10, a minor maintenance update. If you have experienced crashes while analyzing Album Replay Gain on Windows, this update is the one you don't want to skip. On OS X, the move from the QTKit-based player to an AVFoundation-based one should not be noticeable. The reason for the move is not technical, but rather an attempt to use Apple's AV framework du jour.

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

Most important changes in 4.0.10

  • Moved from QTKit to AVFoundation on OS X.
  • Fixed possible crash when analyzing AlbumReplayGain on Windows.

Update

A nasty little bug snuck into the original release of 4.0.10 for 64-bit Windows (OS X and 32-Bit Windows are fine). You can easily tell whether this is of concern to you, as most analysis tasks crash right away rather unceremoniously. I have replaced the 4.0.10 release with a fixed version. If you are having problems, please simply download and install 4.0.10 again. Thank you.

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

Monday, May 18, 2009

Enjoy DSP coding? Heard of Replay Gain?

beaTunes2 logoHave you ever done any DSP coding? Well, if you have and you think you'd enjoy some DSP Java coding, let me know. I'm interested in adding a Replay Gain implementation to beaTunes and am looking for someone to code it up for me...

Labels: ,