beaTunes News

Friday, June 30, 2017

AcousticBrainz Plugin Available Now

If you haven't heard of AcousticBrainz yet, it's a fantastic project that "aims to crowd source acoustic information for all music in the world and to make it available to the public". Crowd source means that the project needs people like you and me to run a so-called feature extractor through their music libraries and submit the results to the AcousticBrainz database. There are multiple ways to do this—e.g. you can use the tools available on the AcousticBrainz website or the MusicBrainz Picard Tagger. And as of today, there is another way.

beaTunes 5 offers a new plugin that runs the feature extractor and submits the results for you. You can install it via the plugin preferences (see screenshot above, select plugin, click on the + button). Once installed, it's packaged as an analysis task, which means, that it shows up at the bottom of the available tasks whenever you run an analysis. Just check the box and beaTunes will run it.

Please note that running the extractor is not a quick thing. It does a lot of things very thoroughly, so analysis will take a long time. But you'll be doing a good thing! :-)

Thank you for your contribution. Among others, beaTunes uses AcousticBrainz data internally and indirectly benefits from your submissions.

The source code for the plugin is available on GitHub.

Labels: ,

Thursday, June 29, 2017

Update: beaTunes 5.0.2

Just like 5.0.1, today's update is a maintenance release that fixes a number of issues reported by users. Most importantly, it increases stability and reduces memory consumption. If you are already using beaTunes 5, I highly recommend updating.

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

Changes in 5.0.2

  • Fixed issue with synchronizing folder-based library.
  • Fixed too large database cache setting during initial import.
  • Fixed loading too many entities after sync.
  • Fixed issue with channel display for mp4 video files.
  • Fixed potential NPE in online metadata import.
  • Fixed inefficient database query plan caching.
  • Fixed localization issue when opening file properties on Windows.
  • Fixed Amazon new releases lookup for IT and ES.
  • Increased iTunes write queue size.
  • Ensured paced writing of inspection solutions.
  • Added automatic max VM heap adjustment for common cases.

Labels:

Friday, June 23, 2017

Scan Mode

Back in 2015 I wrote a little plugin for beaTunes 4 that helped to quickly scan through a list of songs. For beaTunes 5 this plugin was promoted to a built-in feature. To activate it, just click on that little barcode button right below the elapsed time counter.

What happens when you activate scan-mode? It puts the player in a mode, in which it only plays a short part of each song before continuing with the next one. Which song part is played depends on the specific scan mode you choose. The three available options are: Beginning, third and prominent. They describe the start point for playback. Beginning and third are pretty self-explanatory. Prominent means that beaTunes will choose a segment of each track for you based on its automatic segmentation. Depending on the kind of music, this may work better or worse, i.e. YMMV.

But in any case, this feature allows you to sit back and relax while beaTunes gives you an impression of a playlist of your choice. BTW: The length of this short preview is configurable in the playback preferences.

Labels: ,

Tuesday, June 20, 2017

Update: beaTunes 5.0.1

Every real release is followed by the obligatory bug-fix update. And here it is. Thanks to your feedback, I was able to fix a number of unexpected issues, most of them having to do with the dreaded NullPointerException, a.k.a. NPE. Besides the fixes, a couple of things were improved or added. Most of this is stuff that I didn't get to for the original release. Some of this has to do with the new Play similar songs feature. BTW: if you're curious what the internal playlist looks like, there is a simple plugin available for that via Preferences -> Plugins (sources are available on GitHub). It adds a new menu item under Controls.

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

Changes in 5.0.1

  • Fixed NPE in master panel state restoration.
  • Fixed possible NPE during inline rating/loved edits.
  • Fixed inline editability of loved/mediakind for folder-based libraries.
  • Fixed ExceptionInInitializerError on very HiDPI screens.
  • Fixed NPE in inspection.
  • Fixed duplication issue when re-ordering playlists on Windows.
  • Enabled volume control while no song is loaded.
  • Enabled goto current song for play similar song mode.
  • Added speaker icon for song played via play similar.
  • Added menu items/keyboard shortcuts for loved (macOS/folder-based-only).
  • Added menu items/keyboard shortcuts for song rating.

Labels: , ,

Sunday, June 18, 2017

Re-Ordering Playlists by Property

Creating a playlist can be broken down in a two-step process: 1) selecting tracks, and 2) creating a compelling order. beaTunes supports selection through the matching song table below the main table. beaTunes 4 and earlier helped with ordering by letting the user apply a match ruleset, even on already existing list.

beaTunes 5 now offers an additional way of ordering: Order by property.

In it's simplest form this is like sorting by clicking on a table column header. The difference is that re-ordering is permanent, while sorting is just temporary. To re-order a list, so that all songs are ordered by their BPM values, just select a song in the list, right-click, and select Order Playlist by... -> Property from the context menu. Then select the property BPM.

Of course that's not all you can do. Obviously a choice between ascending and descending values is useful. And what about first ascending and then descending? No problem. Or ascending multiple times? That's what the Periods control is for. It lets you repeat the chosen pattern. Naturally, BPM is not the only property you can use for this. Key, mood and others are possible as well. Whenever the chosen property is circular in nature (mood, key), the selected song is taken as a starting point for a clockwise or counter-clockwise order. This is useful for harmonic mixing. Another application is workout playlists, when you want to increase intensity one or multiple times (e.g. spinning/indoor cycling).

Of course, after re-ordering like this, you can still fine-tune manually via drag and drop. In any case: I hope you enjoy this new feature.

Labels: , , , ,

Tuesday, June 13, 2017

Dealing with Analysis Errors

When analyzing tracks with beaTunes, every now and then, things don't go quite as expected. beaTunes 5 improved, how you can deal with such analysis failures. Whenever you see an error message in the Task Queue's message panel, you can right-click it to find some options. Often beaTunes will offer just a way to navigate to the problematic song. But in some cases real solutions are offered.

A good example is an iCloud song. As shown in the screenshot, beaTunes will offer to download it for you, as it cannot be analyzed while in the cloud (iCloud download only available on macOS).

Labels: , ,

beaTunes the 5th — Better Algorithms, Dark UI Theme, Improved Usability

I'm very happy to finally release beaTunes 5 today. It's been more than a year of work—and I think it was worth it. beaTunes 5 is smarter, looks better, and is easier to use.

Upgrading

You can download beaTunes 5 from the download section of the website. Note that this is not a free update for beaTunes 4 users (though some of you may have received an email and steeply discounted upgrade licenses are available). But should you upgrade from version 4, please be patient when beaTunes updates its database. It's quite the re-organization and takes a while. Also, should you want to downgrade back to version 4, please read this article. It's important, because the downgrade is possible, but not automatic.

Getting Started

To get started with beaTunes 5, I recommend to re-run the color analysis along with the new update popularity data task for all songs. In this run, you might want to disable all other tasks to get results quickly. In beaTunes 5 the color concept has changed and what used to be called color is now called timbre. But trust me, you'll want to use color. The are a bunch of other new columns. You might want to check the View -> View Options dialog to see them all.

If you're into electronic music and like Beatport, I recommend to connect beaTunes to the Beatport API. You can do that in the beaTunes general preferences. This will allow you to see Beatport charts and also use Beatport as a source for the matching songs table (no, there are no kickbacks or affiliate programs with Beatport).

And then... well, just play around! For example, after analysis finished, try out the new Play similar songs control that sits right in the context menu.

Enjoy!

Changes in 5.0.0

These are the most important changes in no particular order:

  • Added ruleset chooser to matching songs table.
  • Added ability to edit ruleset names.
  • Added support for embedding ID3 tags in WAV and AIFF files.
  • Added support for embedding acoustic fingerprints.
  • Added option to force overwrite fields.
  • Added support for ITU-R BS.1770 (EBU R128, ATSC A/85, ReplayGain2).
  • Added configurable artwork size in tables.
  • Added ability to show partial artwork in table.
  • Added popularity rule.
  • Added similar artist rule.
  • Added similar key rule for synced BPM (matches keys after playback tempo change).
  • Added ability to display keys for synced BPM (key after playback tempo change).
  • Added DBpedia/Wikipedia-based tooltips to genres (if available).
  • Added display of a known root genre to the genre field.
  • Added solution to remove identical ids from tracks that aren't duplicates.
  • Added automatic fetching of (missing) inactivity artwork.
  • Added media kind inspector (iTunes+macOS or folder-based).
  • Added support for field danceability.
  • Added support for field instrumentation (acoustic/electronic).
  • Added acoustic/electronic classifier based on lowlevel AcousticBrainz data.
  • Added support for fields loved, disliked, movement and work.
  • Added support for Media Monkey custom fields.
  • Added ability to show standard columns in table view.
  • Added additional online resources for key and tempo.
  • Added dedicated mood estimation task.
  • Added easy navigation from analysis error message to song.
  • Added offer to download matched iCloud songs when needed (macOS-only).
  • Added ability to show OS level file info dialog.
  • Added Open in AcousticBrainz, YouTube, Facebook, and Twitter action.
  • Added support for special library lists (podcasts, audiobooks, ...) to folder-based collections.
  • Added ability to read and display folder.jpg images.
  • Added forced database repair after crash occurred.
  • Added playback repeat.
  • Added playlist scan with different modi (beginning, third, prominent).
  • Added additional secondary sort orders for columns mood, key, and BPM.
  • Added display of synchronization results in status bar.
  • Added ability to abort synchronization.
  • Added ability to refresh metadata from files for iTunes-based library.
  • Added ability to export playlists containing relative filenames.
  • Added CSV playlist exporter.
  • Added WPL playlist exporter.
  • Added an easy way to create playlist builder plugins.
  • Added an easy way to create playlist sorter plugins.
  • Added ability to easily re-order a playlist by a chosen property.
  • Added ability to edit the field year in table view.
  • Added quick edit dialog for all songs in one album/by one artist/...
  • Added dark user interface theme.
  • Added context menu for playlist panel (delete, analyze, etc.).
  • Added Wikidata as metadata source.
  • Added social media links to Get Info pane.
  • Added gzip content encoding support for most web service calls.
  • Added new album/artist info context component.
  • Added rename playlist context menu entry.
  • Added support for media keys (macOS only, Windows will follow).
  • Added ability to exclude remote songs from inspection and analysis.
  • Added play similar songs.
  • Fixed change detection box for genres in multi item info dialog.
  • Switched Windows launcher for better UX.
  • Switched silence detector user interface from percent to decibel.
  • Improved song import via drag and drop.
  • Improved tempo/BPM estimator (rewrite).
  • Improved key estimator (rewrite).
  • Improved resilience against (external) file renaming in folder-based collections.
  • Improved similar genre rule.
  • Improved View Options dialog.
  • Improved rarely used genre inspector to suggest similar genres.
  • Improved typo inspectors to take advantage of built-in database.
  • Improved analysis error reporting by avoiding duplicate messages.
  • Improved missing/read-only file inspectors by reducing network traffic.
  • Improved correction hints in Get Info pane.
  • Improved lyrics web search in Get Info pane.
  • Improved performance of initial library synchronization.
  • Improved matching performance for BPM and mood.
  • Ignore obviously bad BPM from online sources.
  • Removed tile-based user interface themes.
  • Removed explicit Analyze New menu item.
  • Removed iTunes playback controls.
  • Updated most APIs to use java.nio.file.Path.
  • Updated to jipes 0.9.14.
  • Updated to H2 1.4.195.
  • Updated to JRuby 9.1.10.0.
  • Updated to Groovy 2.4.11-indy.
  • Updated to FFSampledSP 0.9.19.

Labels: ,