Roon 1.1 Is Live!

Well folks, it’s finally here! Our 1.1 release is now live.

Roon 1.1 adds a huge number of new features and options for customizing your experience. We’ve been listening closely to all the feedback since our launch in May and as of today, you’ll find that Roon is more flexible, personalized, and stable.

One of our goals has always been to get away from scrolling through folders and files, so we can reconnect with the albums we love, and browse our music in its original context.

Roon feels different because you’re not just browsing files – you’re browsing the history of recorded music, automatically matched to the songs and albums that make up your collection.

Starting today, you’ll be able to look over your collection and choose exactly how you want your music displayed in Roon, whether you want to see your file tags, the rich information Roon retrieves automatically, or any custom information you enter by hand.

1.1 will also let you run Roon as a headless server on Windows and OSX. RoonServer is available now, and should make life better for those of you running Roon on a “headless” machine, or those of you wishing to run a Roon server on computers that don’t meet the graphics requirements for Roon’s full interface.

Finally, Roon 1.1 introduces the ability to remotely control Roon from supported iPads. Once approved by Apple’s submission process, Roon will be available in the App Store, and will include the entire Roon feature set, allowing you to browse your collection, build playlists, stream to multiple zones and setup Roon on iOS.

Beyond those marquee features, we’ve added many, many smaller pieces of functionality since our last release, all of which are detailed below. Combined with nearly 300 bug fixes, you can tell it’s been a very busy couple months for our team.

We can’t say enough about how much we appreciate everyone’s feedback and support. Even now, we’re looking ahead and can’t wait to get started on the next release. Thanks everyone!

:+1:

Warning

A few brief words of caution before I continue…

When you install Roon 1.1, your database will be upgraded to support the changes we’ve made over the last few months. It’s essential that you not interrupt this process or close Roon during this migration, so if you’re using a laptop, make sure you’re not going to run out of batteries during the upgrade.

Many of you have been grooming your collection and building playlists for months, while some of you have been waiting for our new editing features. In either case, the information stored in Roon will represent a good deal of effort.

We go to great lengths to ensure the integrity of the Roon database, and 1.1 includes a number of new protections to ensure the integrity of your Roon database. That said, like any other important data, it’s critical you take precautions to ensure you’re protected if disaster strikes.

Instructions for backing up your database have now been posted here. Making a backup is easy, so we strongly recommend you do it now.

Note that due to a number of database changes, database backups created using Roon 1.1 are not backwards compatible, and remotes running Build 30 or earlier cannot connect to Roon 1.1.

iOS

After completing the beta review process a few weeks ago, the final 1.1 build of Roon is now making it’s way through Apple’s infamous app store review process.

Our iPad remote requires Roon 1.1. Updated desktop and Android apps are released today, as we saw no reason to hold back the 1.1 release on our other supported platforms. We hope for speedy final approval from Apple, and truly appreciate everyone’s patience.

We will let everyone know when the app has been approved, at which point it will be available in the App Store for all iPads with OpenGL ES 3.0 support: iPad Air, iPad Air 2, iPad Mini 2, and iPad Mini 3.

Android

A new version of our Android app has also been released today. The requirements for running Roon on Android tablets are the same as for version 1.0.

Note that 1.1 software and 1.0 software do not interoperate. When you upgrade your server to 1.1, you will also need to update any android tablets that you use for remote control.

You can download the latest version of Roon from the Play Store, or at the following URL:

http://download.roonlabs.com/builds/RoonMobile.apk

RoonServer

Headless server builds are now available.

Our website will be updated with more detailed setup instructions for new users in the coming days.

For now, Roon users wishing to migrate their libraries to RoonServer can find download links and setup instructions here.

Metadata Handling Features

Overview

Even prior to our launch in May, it was clear Roon needed to do much more to meet the needs of users who want to exert control over how metadata is displayed and experienced in the app.

At launch, Roon was focused on the user who wants their files automatically identified and managed, but it quickly became clear that we had work to do if we wanted Roon to be flexible enough to support groomed collections, or collections comprised mostly of content our system couldn’t identify

We’ve received a huge volume of feedback about the metadata handling capabilities of Roon 1.0, and had many excellent in-depth conversations with you guys. This directly influenced the solutions that we’ve designed and implemented over the past few months. Thank you for your continued feedback and support.

Roon faces some unique difficulties with regards to metadata. Roon models a rich, linked graph of your music that is fundamentally different from the text stored in your file tags. Improving interoperability between these two worlds is a complex and ongoing research effort.

What’s Still to Come

The metadata-related functionality that we are releasing in 1.1 represents a first step, and addresses the highest priority issues. There are a few things that have deliberately not been addressed in this release.

  • Improvements specific to classical music comprehension and browsing
  • Improvements related to work-level navigation and work identification.
  • Editing of track, album, and performance credits
  • Editing of works and performances

These topics are deeply interconnected, and improvements in these areas are in the design phase for a future release.

3-Layer Editing Model

Over the past few months, we’ve mentioned Roon’s 3-layer editing model dozens of times on this community. This model has always been under the hood but with 1.1 it’s finally exposed, and can be used to ensure your collection is represented in Roon exactly the way you want.

The metadata attached to albums, tracks, artists, and so on within Roon is organized into three layers.

  • Edits
  • Roon Metadata
  • File Tags

When you add your music to Roon, file tags are extracted. These tags are stored in their own layer, and also used to identify the music in your collection. When an identification is successful, Roon’s rich metadata is retrieved and populates the Roon Metadata layer.

By default, Roon displays data from the top-most layer that’s present. In theory, this means that edits override Roon’s metadata, and Roon’s metadata overrides the information from your file tags. However, in Roon 1.0 editing was not possible so file tags were rarely displayed once content was identified.

Version 1.1 introduces the notion of metadata preference. By selecting “Prefer File”, you are telling Roon to flip the order of the two bottom layers like this:

  • Edits
  • File Tags
  • Roon Metadata

Metadata preferences are set up on a field-by-field and object-by-object basis. This offers extreme flexibility.You can prefer local data on an album-by-album or track-by-track basis to fix isolated problems, or you can select your entire collection in the album or track browser and prefer the track titles from your file tags globally.

Improvements to Release-level data

Version 1.1 introduces improved support for release information. We’ve added three new album-level fields:

  • Release Country
  • Product Code (UPC)
  • Catalog Number

When these fields appear in file tags, Roon will take them into account during automatic album identification. This should improve the accuracy of release-level information in cases where our database is aware of the exact release that you happen to have.

As of version 1.1, the three aforementioned fields, along with Release Label prefer data from your file tags over Roon data by default. After analyzing hundreds of thousands of real-world files, we discovered that though this data isn’t present most of the time, when it is present, it is much more likely to be accurate than our automatic identification systems.

Album Artists and “Performed By”

Roon 1.1 has made a significant change to the handling of Album Artists. This is directly related to the feedback and discussion in this thread.

In Roon 1.0, each album had a list of “Main Artists”, and sorting by artist sorted by the first name in the list. These were represented as links to standalone artist entities, which created a number of problems, and a good bit of arbitrary-feeling behavior. Additionally, it was not clear how to make “Prefer File” settings work for album artist when album artists were represented as links to artists as opposed to text.

In Roon 1.1, we’ve added an additional text field to albums called “Performed By”. This corresponds to the album artist field in file tags, and represents the text on the album packaging that describes the release artist for the album.

Throughout Roon, when we display album artist, or sort by album artist, we are now sorting by the “Performed By” text, as opposed to the first artist in the “Main Artists” list.

The list of Main Artists from Roon 1.0 still exists, and those artists are displayed as links at the top of the album page. Think of them as a list of interesting people or groups that you might wish to navigate to while viewing the album.

This model has a few more moving pieces than in Roon 1.0, but it represents the data that exists in the world more directly. It also makes it possible (in combination with the “Prefer File” preferences described above) to completely drive the text and sorting in the album browser via file tags, which will be a significant upgrade for many of our users.

Improvements to Tag Extraction

Version 1.1 introduces support for multiple instances of the same tag on a file. This is very important for fully supporting many of the capabilities that some file formats, particularly FLAC, offer.

Roon has added support for many file tags since version 1.0, including:

Track Credits:

  • PERFORMER
  • SOLOIST, SOLOISTS
  • CONDUCTOR, TPE3
  • PRODUCER, IPRO
  • LYRICIST
  • VOCALIST
  • REMIXED BY, MIXARTIST, REMIXER
  • FEATURING
  • DJMIXER
  • COMPOSER, TCOM
  • MIXER
  • ENGINEER
  • ARRANGER
  • ENSEMBLE
  • AUTHOR, IWRI
  • WRITER

Release Information:

  • PRODUCTCODE
  • BARCODE, UPC, EAN/UPN
  • CATALOGNUMBER, CATALOGUE #, CATALOGNO, CATALOG NUMBER, CATALOGUE NUMBER, CATALOG, CATALOGUE, LABELNO
  • LABEL, TPUB, ORGANIZATION
  • RELEASECOUNTRY, COUNTRY, RELEASE COUNTRY

Album Information:

  • ORIGINALDATE, TDOR, TORY
  • GENRE, STYLE, GENRES, STYLES
  • ISCOMPILATION, COMPILATION, TCMP

Delimiters within tags:

It’s relatively common for multiple values to be embedded within the same tag. This is distasteful, particularly when working with file formats like FLAC that support multiple instances of tag. The preferred way to represent multiple values is always to use multiple tags when that’s possible.

When Roon supports multiple values for a field in its data model, it will recognize semicolons and newlines as delimiters. Additionally, when parsing GENRE, GENRES, STYLE, and STYLES, Roon will recognize commas as delimiters.

Personal Album Ratings

We’ve received a lot of feedback about the album ratings provided by Roon’s metadata service. It’s hard to look at your favorite album and see that some reviewer somewhere gave it two stars, or to listen to complete garbage, and see a four and a half star rating.

Roon 1.1 introduces personal album ratings. This data is stored on a per-profile basis, so different members of your household can have their own personal ratings. When an album has a personal rating, the default rating is hidden.

Genre Handling

Genres are a very personal topic for many of our users – we were honestly surprised at the depth, variability, and intensity of opinions that users hold about this topic.

Roon now supports full editing of genres, and genre assignments. Don’t like that Daniel Barenboim is tagged as “Latin” by Rovi? By all means, remove it.

Roon now supports editing of the genre hierarchy itself. Is Tango a toplevel genre for you? By all means, put it at the top level.

Roon 1.1 also supports extracting genres from file tags. This creates some interesting problems: genres in file tags aren’t inherently hierarchical, and don’t necessarily match up with the default genres that come with Roon. It’s also fairly common for real-world files to contain junk in the genre tags that you’d rather not see in-app.

Display Settings

There are two new settings in Roon: “Show Roon Genres” and “Show Genres from File Tags”. They default to “Yes” and “No” respectively, preserving the 1.0 behavior by default.

If both settings are set to “No”, then you’re essentially starting with a blank slate–the only genres that you will see are those added using Roon’s editing functionality. If both settings are set to “Yes”, then you will see Roon’s genres and your genres side by side. Otherwise, you can choose to see only genres from Roon, or only genres from your files.

Genres from your files will appear, by default, in a special node in the genre hierarchy called “Uncategorized”. You can re-organize them as you see fit.

Genre Mappings

Roon supports mapping genres extracted from your file tags when they’re brought into Roon. This mapping allows you to:

  • Re-write genre names. This is common for near misses like “Prog Rock” vs “Progressive Rock” or “Post Bop” vs “Post-Bop”
  • Hide genres that you don’t want to see in Roon

You can access the Genre mappings editor via Settings -> Setup -> Genre Mappings

Album, Track, Genre and Artist Editing

Roon now supports manual editing of many metadata fields at the track, album, genre, and artist level. You can access the editing screens by clicking the edit pencil on the album, artist, or genre page, or by selecting (right click or long-press) an album, track, or artist and selecting “edit” from the command bar at the top of the screen.

The editing functionality supports editing single items or multi-selecting items to edit several items at once. You can perform high level operations (like setting metadata preferences) on many items at the same time by selecting them in the album or track browser, and clicking the “edit” button at the top of the screen.

Import Dates

Traditionally, Roon has kept track of “Date Added” for tracks based on the first time that Roon saw a file or TIDAL track. This isn’t ideal when our collections typically go back for decades and Roon has only been out there for a few months.

We’ve added a few features to improve this situation. In version 1.1, you can edit the import dates for your tracks to match the file modification or creation times in the filesystem (multi-select a bunch of tracks in the track browser and use the “Metadata Preference” tab if you want to perform this operation to large amounts of content at once). You can, of course, also edit your import dates manually.

Support for Production Credits

Roon 1.1 adds artist pages for production personnel, and adds a section on the artist screen called “Production” that lets you navigate from a person or group to the albums that they produced. Album and Track focus now support focusing based on production personnel as well.

Improvements related to Live, Compilation, Bootleg etc.

Roon has added support for tracking live albums, compilations, and bootlegs, as well as live tracks. We are populating this data from two different metadata providers at the moment, but it’s fairly new to us, and may contain inaccuracies. Please let us know if you run into incorrectly flagged tracks or albums.

These flags are editable. There’s also a setting in Settings->General to flag albums as live albums, compilations, or bootlegs using icons in the album browser if you want that information to be a part of your browsing experience.

Minor Features

  • Re-organized Roon’s database layout to make it significantly more resilient against data corruption during power cuts, crashes, etc.
  • When databases do become corrupt, Roon recovers if the data can be safely discarded, and fails more crisply when the situation is unrecoverable.
  • Audio analysis settings are split up so that background analysis and on-demand analysis can be tweaked separately.
  • When performing edits, status of saving changes to the database is displayed in the background work spinner.
  • Performance of Roon’s databases has been improved.
  • Improved the selection of example artists during genre browsing.
  • TIDAL import dates now correspond to the date when the content was added to your TIDAL library, not the date when it was imported into Roon.
  • Added a 10s memory buffer to the playback subsystem to help smooth out behavior when networking or NAS’s are not performing ideally.
  • SongKick concerts data is now collapsible.
  • The entry field for typing in the address of a Roon server now supports hostnames in addition to IP addresses.
  • Roon tracks the bitrate of lossy files and supports displaying bitrate, focusing on bitrate, etc.
  • Many performance and memory optimizations.
  • File format information and version tags are now visible in the album browser (turn it on in settings).
  • Added a “re-scan files” button that nudges Roon to re-extract tags from files, for cases where Watching for new files in realtime is unable to work properly due to OS or storage device limitations.
  • Added a “Force Rescan” option in storage settings, for cases where Watching for new files in realtime is unable to work properly due to OS or storage device limitations.
  • Renamed “Fixed Volume” setting to “Force Maximum Volume”
  • Added a new volume option “Disable Volume Control”. This puts Roon in a “no-touch” mode where it just plays audio and never attempts to interact with OS-level volume/mute controls.
  • Added branding for many more devices in “Signal Path”.
  • Improved handling of track credits and Various Artist situations when scrobbling to last.fm.
  • Focus and sort settings are now preserved across runs along with the rest of the navigation stack.
  • Screen blanking options on tablet builds are improved.
  • Compatibility with the latest version of the iTunes Library XML file.
  • Roon no longer ignores punctuation and symbols when sorting and searching. This should make many personalized ordering schemes behave better within the app.
  • If a directory that contains music files contains only one image file, that file is treated as an album cover regardless of the filename. Otherwise, the rules from 1.0 apply.
  • Roon now supports touch-based alpha navigation when browsing albums, artists, tracks, composers, and works. For touch platforms, this is enabled by default. For Mac and PC, you can turn it on in Settings->Setup if you are using a touchscreen with Roon.

Notable Bug Fixes

  • Workaround for an issue with Linn’s AirPlay implementation that was causing Linn devices to misbehave when Roon attempted to send an AirPlay stream.

  • Media file parsing is more tolerant of slightly broken/non-standard files in several formats. We make a stronger effort to index and play these files, and prefer to fail later.

  • Improved stability of TIDAL playback.

  • Fixed several bugs related to TIDAL library and playing syncing.

  • Many copy improvements and UI clarifications.

  • Fixes for difficult to read text in “dark” theme.

  • Playback of multi-part works in “Radio” now correctly adds multi-part works to the queue instead of splitting up the parts.

  • Improvements to ASIO lifecycle handling that should improve reliability, especially on laptops and devices that sleep.

  • Fixed compatibility problems with common RealTek audio chipsets in exclusive mode on windows.

  • Workaround for compatibility issues with DIRAC products on Windows.

  • Fixed handling of HE-AAC files from TIDAL on mac. They should now decode and display as 16/44.1.

  • Fixed stability issues that resulted from selecting “play all” on the artist browser.

  • Fixed several issues that prevented Roon from operating when a user’s home directory on Windows contained special characters.

  • Fixed several out-of-memory and display corruption bugs on “View All” screens when large amounts of content were being displayed.

  • Fixed a common cause of “Playback has failed due to playback parameter negotiation with the audio device” on Macs when the CMediaDSF plugin is installed on the system.

  • Volume control and mute behavior has been tightened up. Roon should be much nicer about manipulating your device volume controls at unexpected times on both Mac and PC, and should do a better job at staying in sync with the system-provided mixer interface on Windows.

  • Fixed a bug that caused duplicate albums to be hidden inappropriately under some circumstances, and several other issues related to hiding/showing/grouping albums.

  • Fixed some minor issues that may have interfered with discovering AirPlay devices.

  • Searches for genres/tags ignore words less than 3 characters long to reduce irrelevant results.

  • Fixed several minor issues related to transferring zones.

  • Fixed a performance problem that occurred when merging albums within large collections.

  • Fixed several bugs related to metadata display on the Apple TV during AirPlay streaming.

  • Smoothed out the handoff of audio devices between iTunes and Roon during AirPlay streaming.

  • Many multi-select operations in the album, track, and artist browsers are now well-behaved regardless of the number of items selected.

  • File watching infrastructure is now more resilient against permissions errors.

  • Fix display of Windows version on 8.1 and 10 in the server picker.

  • Smoothed out many small annoyances when logging in and out of accounts, switching servers, and switching the same install from “remote mode” into “server mode” or vice versa.

33 Likes