Sunday, May 15, 2016

Digital Music Project

Ok this is to document a new project on digital music. I need to get my thoughts in one place and also record the steps i am taking and the rationale.

Introduction

I've had digital audio files since the day Napster was born. There are old cdrw's (some unreadable now) with downloaded 128bit mp3's in no particular order. At one time i used to import them into iTunes before that program became an unwieldy beast and one that did not scale that well. Later on i started digitizing my audio CD collection into MP3 and then FLAC and storing them on a NAS. I tried various things from running dlna servers on a PC to serve up the files, to linking the NAS to my ethernet capable receiver but nothing really worked that well. When i moved to XBMC i used it as the media player. This worked well for albums that i had converted into a single MP3, but the library was a mess because the metadata in the files was a mess.  I also found it did not scale particularly well when i pointed it at a NAS box containing 3gig of singles. Ouch! And my conclusion after playing with 11.1 multi-channel music is that it is not worth it. There are only a few titles listening to and the expense and space required is too much. You can create a killer movie system in a small space and reasonable expense but it is not optimized for most music listening. So i put together a 2.1 audio only system, first with a turntable and tape deck as source and then a differential CD as source.

Project

Anyway, so i've decided to go in a different direction. The goal is to build a collection of music in hd format to be stored on a USB 3 external drive hooked to a SFF pc running Kodi with the audio output being sent via USB to an external DAC feeding a 2.1 audio-only system in the living room. I don't need multi-room access but i can get to the music from the home theater room pc running kodi, if i had to. The goal is a digital music delivery system to an analog 2.1 channel audio system.

The files would be organized into folder, each folder being an album. The file naming convention would be Artist - Album Title (YYYY)

I envision two possible approaches:

  1. Do not use the library function but set up the drive as a source and Browse using the Files option. Each folder would contain an image of the album cover as folder.jpg 
    I may also create NFO files with the metadata but i'd rather have it in the actual files. This approach would seem to be quicker and less work, albeit less metadata is displayed.
  2. Use a third party program to tag the files and set Kodi to use local information only. This ensures the library operations do not use scrapers and overwrite the existing metadata.
Hardware

The first steps are complete in that most of the final system is in place and the test hardware has been set up.  Here are the components for the test phase:
  • Dell optiplex 760 SFF pc running a striped down version of windows 7 x64 using wired ethernet (although tests using wifi n were successful)
  • Kodi (latest version)
  • Insignia 32" LCD for viewing the collection
  • Windows MCE remote (HP one) and Logitech k400 wireless kb/mouse for navigation
  • Emotiva XDA-1 differential DAC
  • Emotiva XSP-2 gen 2 differential pre-amp
  • Wyred4Sound SX 1000 differential amplifiers
See http://hometheaterhifi.com/reviews/dac/introduction-to-the-emotiva-xda-1-differential-reference-dac-for-the-audiophile/ for a review of the Emotiva. A good value for the price but the USB input is limited to 16/48 resolution and we need higher. Once the system is set up that unit will be replaced by either the Emotiva XDA-2 which does 24/192 over USB or the Wyred DAC-2 which does the same but can be upgraded to DSD capability.

Initial tests indicated that option 1 worked reasonably well, although the list of albums gets too long for ease of browsing quite quickly. Which means as the collection grows, we have to investigate using the library functions of Kodi for enhanced browsing (genre/artist/year) and searching. Concerns over scaling remain, a flat file database (like iTunes or Kodi) will always have scaling problems. Which means either finding a different software product or researching the use of a back end mySQL database for the metadata.

Hopefully i can put in place a system that functions well and can easily be updated with a reasonable procedure. If so i can dump all the physical CD's and rip the ones i want to keep and buy any new stuff from HDtracks or other online sources (they should come with good metadata).

Metadata

I had used MP3Tag (http://www.mp3tag.de/en/) before for tagging MP3 files but found it a bit of a chore, especially when i tried to tag the thousands of MP3 singles on the NAS. Ideally i would like to find an automated solution in which i could point a program at the hard drive of digital audio files and have it index them.  Kodi supports musicbrainz tags so i downloaded and installed the Musicbrainz Picard app (https://picard.musicbrainz.org/) and it seems to work fairly well, but can be really slow at times. I think the problem is at their server end as the app goes back to their database to look up files and then to download and write the metadata to the files. 

However, you can download and install musicbrainz on linux (about 10 gig) and since i have a linux box....
  1. Install and configure musicbrainz database on linux and figure how to direct client to use local.
  2. If that works, test if a batch job can be done overnight against a large directory of files
  3. Connect hard drive to audio kodi pc and add as a music source with 'local file metatadata' 
  4. Report results
Idea - if the network traffic between the client on windows and the server on linux overloads the switch i could always VirtualBox it so that traffic is only on localhost...hmmmm  although those computers are on a separate switch from the router so as to not interfere with Liam's PS4 and Steam machine which are on a different switch...home networking nightmares?


Update: on hold till i can find the DAC i want. Too many are uber expensive for a couple of chips, and a lot are old tech. So right now doing analog music projects while i wait...