I’m wondering how Roon will deal with existing metadata in files … If in any way leveraged, what fields will be read?
Everything that we know how to extract is extracted and preserved in our databases. If something new arises, there’s a facility that allows us to go back to the files and re-extract the tags to grab it. I could fill a medium sized book describing what we do with each of the many fields we support, and all of the subtleties involved in how they’re used, and ultimately, I’d still be describing a moving target to you, since this process is constantly being worked on.
Instead of getting into those details (especially before you’ve even seen the product), I’d like to explain what our product philosophy is here.
We take a very serious attitude towards non-destructive behavior when it comes to metadata.
The Roon database is structured in layers, with data extracted from the files (tags + audio characteristics) at the lowest layer, metadata fetched from our cloud services above that, and user data/edits on top of that. When we determine what to display, we merge down through the layers, so edits take precedence over cloud-fetched metadata, and cloud-fetched metadata takes precedence over the tags in your files.
This architecture results in a lot of flexibility, both for us and for you. When we update metadata from the cloud, we can simply swap out the middle layer, without clobbering your edits, for example. And if you decide that on this piece of content, the cloud-metadata layer isn’t for you, it can be turned off for that piece of content, at which point you’ll see only the tags + your edits.
Will updates/ changes a user accepts to metadata be (optionally) written back to the underlying audio files?
Only if you use the export feature. Mucking with your source files creates a large potential for destructive mishaps.
What is considered the ultimate source of truth regarding metadata - what ends up in the app database or what’s contained in the underlying audio files?
I think I addressed this above with the layered approach . What you see on screen is what’s in the app’s database. The files are one of many inputs into what gets displayed.