beaTunes News

Wednesday, September 18, 2024

beaTunes on macOS 15 Sequoia - don't update just yet!

Apple just release its latest macOS update named Sequoia. If you're using beaTunes v5.2.34 or earlier, I recommend to wait with the update as it apparently breaks beaTunes' analysis feature.
If you have already updated, I recommend the following workaround:

  • Go to /Applications/beaTunes5 in Finder
  • Right click on beaTunes5 and choose Show package contents from the context menu
  • Navigate to Contents/Java
  • Delete or rename the file casampledsp-complete-0.9.23.jar to casampledsp-complete-0.9.23.jar_
  • Start beaTunes
Background: Apparently the integration with CoreAudio broke with Sequoia. Deleting/renaming that file will force beaTunes to fall back to FFmpeg for decoding audio.

Labels: , , ,

Wednesday, January 15, 2020

Update: beaTunes 5.2.5

This is yet another update that fixes issues with FFSampledSP, the primary library beaTunes uses to decode files on Windows (on macOS, CoreAudio-based CASampledSP is preferred). The previous FFSampledSP version tended to crash on encrypted (a.k.a. DRM-crippled) files. This is hopefully completely fixed now. Additionally, this update fixes a couple of issues with drag and drop from iTunes/Music.app to beaTunes, file deletion issues on drives without trash/recycle bin, and overall functionality of the Add To Library action (File menu), when used with iTunes or the Apple Music app.

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

Changes in 5.2.5

  • Fixed issue when deleting files that cannot be moved to the trash/recycle bin.
  • Fixed cache invalidation issue in Add To Library action.
  • Updated built-in Discogs database.
  • Improved drag and drop on main table.
  • Added skipping of .itlp files during content-based analysis.
  • Moved to FFSampledSP 0.9.32.

Labels: , ,

Monday, December 23, 2019

Update: beaTunes 5.2.4

This update mainly fixes a bug introduced in 5.2.3 that led to beaTunes crashes on Windows, having to do with FFSampledSP 0.9.30. Updating from 5.2.3 is therefore highly recommended.

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

🎅Happy Holidays!🎄

Changes in 5.2.4

  • Fixed playing wrong track in filtered view of main Music playlist.
  • Moved to FFSampledSP 0.9.31.
  • Moved to CASampledSP 0.9.21.

Labels: ,

Wednesday, December 18, 2019

Update: beaTunes 5.2.3

This update fixes two important things: 1) By updating to FFSampledSP 0.9.30, beaTunes is now more error-resistent, especially when encountering old ID3v1 tags. This has mostly been an issue on Windows. 2) I have found and fixed a bug in one of the base libraries that is used by both tempo and key estimation, which means that both are now a bit more accurate. Note that you do not benefit from this fix when you are using "online resources" as analysis option.

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

Changes in 5.2.3

  • Disabled old library file warning for macOS 10.15.
  • Moved to FFSampledSP 0.9.30.
  • Fixed bugs in tempo and key estimators.

Labels: ,

Sunday, April 21, 2019

Easter Update: beaTunes 5.1.13

Just in time for Easter: a new beaTunes update. This release features a couple of bug fixes and minor performance enhancements. Additionally, it provides initial support for DSF files—at least for folder-based libraries. Note that this is still rather new, i.e., your mileage may vary.

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

Changes in 5.1.13

  • Fixed accidental genre removal in multi-item Get Info dialog.
  • Fixed search bug in large collections.
  • Fixed matching logic in similar artist rule.
  • Improved rendering performance of tags column.
  • Prefer FFmpeg-based decoding over Windows Media Foundation.
  • Added initial support for DSF.

Labels: , , ,

Tuesday, April 10, 2018

Update: beaTunes 5.1.3

Version 5.1.3 contains a couple of fixes that accumulated over the past weeks. Most notably, FFSampledSP has been updated to fix a dithering bug that occurred when converting 24bit/sample WAV files to a 16bit/sample signal.

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

Changes in 5.1.3

  • Improved safeguards against unusual iTunes Library.xml.
  • Moved to FFSampledSP 0.9.25 (fix for 24bit WAV issues).
  • Fixed possible NPE during synchronization.

Labels: ,

Tuesday, February 13, 2018

Update: beaTunes 5.1.1

Most of the changes in this update are based on user-feedback. So yes! Please let me know what bugs you. Often small changes can make a huge difference.

Version 5.1.1 introduces limited support for importing and exporting Serato crates. Limited, as the way crates are stored is actually quite unusual. Apparently a single crate can be spread over multiple volumes (devices), which is not supported (yet). Anyhow, to import a crate via File -> Import Playlist, you will have to find its crate file, which is typically located in a folder named _Serato_. To export a playlist as crate, you will need to make sure that all songs in your playlist are stored on the same device and then save the .crate file in the appropriate _Serato_ folder. To initiate the export, just use the regular playlist export functionality, i.e. right-click on a playlist and select Export Playlist..., then choose CRATE (see screenshot). Serato should pick up the new crate during the next restart.

There are a bunch of other small improvements and fixes. For details see the list below. As always, you can download the new version from the download section of the website.

Changes in 5.1.1

  • Added New Folder to context menu.
  • Added ability to import multiple playlists at once.
  • Added (limited) ability to import and export Serato crates.
  • Improved volume adjustment latency.
  • Improved sync speed for iTunes collections with many non-music items.
  • Improved UX of scan mode.
  • Updated Get Info detection algorithms.
  • Fixed premature playback end after seek.
  • Fixed playlist selection on tree drop.
  • Fixed issue in prominent scan of short tracks.
  • Moved to CASampledSP 0.9.14.
  • Moved to MFSampledSP 0.9.9.
  • Moved to FFSampledSP 0.9.23.

Labels: , ,

Friday, December 16, 2016

Update: beaTunes 4.6.10

beaTunes4 logo

Did you ever notice that the British pop band "Oasis" is named "Oasis (2)" on Discogs? Because there are a number of different bands with the same name, Discogs simply appends "(N)" for disambiguation. I'm not sure this is documented somewhere, but it makes matching songs from your library to Discogs tracks slightly more difficult—especially, when you're not aware of this quirk. Today's update works around the issue and thus improves lookup results for artists with not so unique names. Most of the other changes in this release are fixes to small problems I discovered while working on beaTunes 5.

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

Most important changes in 4.6.10

  • Added signature to Windows executable.
  • Moved to FFSampledSP 0.9.17.
  • Consolidated multiple mood keywords into one ID3 tag (requires ID3v2.4).
  • Fixed possible UI freeze when creating matchlists.
  • Fixed lyrics translate function.
  • Fixed sorting by compilation.
  • Fixed does-not-contain matchlist filter.
  • Fixed crash when searching for regex ().
  • Fixed handling of Discogs artist disambiguation.

Labels: , , ,

Monday, November 7, 2016

Update: beaTunes 4.6.9

beaTunes4 logo

Because of playback problems with some FLAC files, today's update contains a new version of FFSampledSP, which is based on http://ffmpeg.org/ 3.2. Further, the folder-based synchronization has been made more robust, and some other minor things have been added, improved or fixed.

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

Most important changes in 4.6.9

  • Added mood keywords to embed special fields action.
  • Enforced lowercase ISO-639 language codes.
  • Fixed early abortion of folder-based synchronization.
  • Moved to Java 8u112.
  • Moved to FFSampledSP 0.9.16.

Labels: , , ,

Tuesday, October 11, 2016

Update: beaTunes 4.6.8

beaTunes4 logo

Mostly thanks to user-feedback, today's update fixes a number of little things having to do with showing the right cursor, dealing with filter issues, synchronization artifacts etc. That aside, the most important change is probably, that for now I have dropped support for directly writing to STEM files. Whenever the file manipulation happens via iTunes (in an iTunes-based library), things work as expected. But beaTunes itself will not modify STEM files anymore. It turned out that the library beaTunes uses for MP4 manipulation wasn't able to correctly adjust a certain value for all five streams contained in a STEM, which led to problems when playing the file in Traktor. The problem is understood and fixed, but a newer version of the library that contains the fix is not released yet.

People using MIK made me aware that it uses different tags when writing the initial key into OGG and FLAC files. I have updated beaTunes to make sure that they are imported correctly.

Last but not least, a bug that led to rare application crashes was fixed in both MFSampledSP and FFSampledSP, which is why I updated both libraries.

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

Most important changes in 4.6.8

  • Added support for MIK-style key tags for OGG and FLAC.
  • Fixed loss of sort order after folder-based library sync.
  • Fixed manually entered ratings shown as computed until sync.
  • Fixed possible disappearing resize cursor for table headers.
  • Fixed display refresh problem when editing inline while a filter is set.
  • Removed some tagging support for stems, due to file corruption issues.
  • Improved automatic iTunes library detection (non-ASCII paths).
  • Improved resilience against Windows COM errors.
  • Moved to MFSampledSP 0.9.7.
  • Moved to FFSampledSP 0.9.15.

Labels: , , , , ,

Thursday, July 14, 2016

Update: beaTunes 4.6.4

beaTunes4 logo

Today's update fixes some minor nuisances, namely a harmless NullPointerException (NPE) in the lyrics lookup code, which leads to a confusing error message, and a rare MP3 playback failure, which also manifests itself in an unhelpful error message ("Failed to open item. 0"). The latter issue was caused by a bug in FFSampledSP, an open source wrapper for FFmpeg. Both problems are now fixed. Additionally, all communication with Last.fm now happens via HTTPS.

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

Most important changes in 4.6.4

  • Fixed possible NullPointerException in lyrics task.
  • Moved to HTTPS Last.fm endpoint.
  • Updated to FFSampledSP 0.9.14.

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

Wednesday, November 4, 2015

Splitting Stems with Java, FFmpeg, and FFSampledSP

Just a short note regarding the FFSampledSP library: Version 0.9.12 now provides an API for splitting Stem files into their parts. For a simple code sample, check out this page.

To split Stems from the command line, please take a look at my post from September 2015.

Labels: ,

Thursday, September 17, 2015

Destemming Stems

DJ Techtools just ran a great story that explains how to extract individual stems from stem files using FFmpeg and Audacity. Their well working approach is a mixture of installation, configuration and drag and drop.

If you are using OS X and are comfortable on the command line, you might appreciate a different approach, allowing you to batch destem your stem files to a format of your choice. To do so, simply install FFmpeg, so that it is in the PATH. Then download the BASH script destem.sh and make sure it's executable (chmod u+x destem.sh) and in the PATH as well (if you don't know how to do that, please do not ask me, but Mr. Google.).

Once installed, the script is pretty self-explanatory. Open a terminal window, go to the folder that contains your stems and type:

MyMac$ destem.sh aif .

This will destem all files in the current directory and encode the results in AIFF. Other formats are possible. To get a list, simply type:

MyMac$ destem.sh

Yep. Just don't give it any arguments. Explicitly supported are: m4a | flac | wav | ogg | aif.

Enjoy.

PS: The script may fail, if there are less/more than 4 stems plus the original in a file. It really isn't the sharpest tool from the shed.

Image by Joshua Rappeneker

Labels: ,

Tuesday, August 19, 2014

beaTunes 4.0.4: Configurable key formats

beaTunes3 logo It's been requested many times, but so far there just wasn't time. Now it's finally built-in: Configurable key formats. This means, that beaTunes can now display the tonal key in several different formats (traditional, OK-Notation, Wall Clock, etc). And for those, who are still unhappy with the built-in formats, there is an API that allows you to create custom renderers.

For those of you, who use the KeyToComment-plugin, please note that there is an update available via the beaTunes plugins preference pane. The plugin now features the ability to choose a key format.

To avoid misunderstandings: beaTunes still writes the same standard information to Id3 tags—exactly as it is defined in the specification. But it is now capable of displaying this information in multiple different ways. In other words, the Id3 TKEY frame will not suddenly contain information formatted in OK-Notation, just because it is rendered as such in the beaTunes user interface. This is to ensure interoperability between different applications.

Besides this addition, v4.0.4 contains some important bug fixes for Windows users who keep their music on network shares. Interesting for everybody is a fix for a bug that led to missing BPM values in iTunes when analyzing with Use online resources turned on.

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

Most important changes in 4.0.4

  • Fixed use online resources for BPM (0 values).
  • Fixed ignore solution for acoustic. duplicates.
  • Fixed UNC path support.
  • Moved to FFSampledSP 0.9.7.
  • Moved to MFSampledSP 0.9.4.
  • Added interface for custom key text renderers.
  • Segment analysis of songs longer than 30min now skipped.

Labels: , , , , , , ,

Wednesday, August 21, 2013

64 bit beaTunes on Windows 7/8

beaTunes2 logoFor years now, beaTunes has used Apple's QuickTime SDK for Windows to decode and play audio files (on OS X, beaTunes uses CoreAudio and QTKit). Unfortunately, QuickTime for Windows is 32 bit only and has been all but abandoned by Apple a couple of years ago. In the OS X world it has been first replaced by QTKit and more recently by AVFoundation—and both are available in 64 bit, but not on Windows.

Truth be told, the QuickTime SDK is covered with quite a bit of patina. But to my knowledge it is the only commercially available, comprehensive cross-platform multimedia API. The only other library that comes close is the open source project FFmpeg (…which does not take care of licensing issues).

Why am I telling you all this?

Without some sort of inter process communication (a trick used by the QuickTime X player), any program that wants to use a 32 bit library, has to be a 32 bit process as well. And 32 bit means 4 GB of addressable memory per process—a boundary beaTunes with a big library and lots of parallel analysis tasks can bump against. As a consequence, to allow beaTunes to run as 64 bit process, I have to get rid of QuickTime and replace it with something else. This something else will be a mixture of different SampledSP-libraries—FFSampledSP for free codecs like FLAC and OGG and MFSampledSP for commercial formats like AAC, MP3 and WMA. For a complete list of available MFSampledSP decoders, please see this Microsoft Media Foundation article.

The switch away from QuickTime is planned for beaTunes 4, not due for at least a couple of months. But since most of the code for 64 bit audio decoding is already written and available, I'm making a special 64 bit Windows 7/8 build of beaTunes 3.5.15 available for you today. This should be interesting to folks with memory problems on Windows. In the 64 bit version they can increase the maximum heap size to a much larger value than the typical 1200 MB. If you want to try this, please keep in mind, that you need at least Windows 7—this will not work properly on Vista or XP! Obviously, you also need a 64 bit operating system and 64 bit hardware.

You can get the 64 bit version here: beaTunes-3-5-15-x86_64-win.exe

This build contains MFSampledSP, but not FFSampledSP. So working with most commercial codecs should be fine. Free or Apple specific codecs (e.g. Apple Lossless) on the other hand might be problematic.

Of course I'm putting this out there for your benefit, but also for mine. Please let me know, if you run into any kind of problems! I need your feedback to solve issues.

Thank you.

Labels: , , , ,