Category Archives: Personal Computing

The Moocher bakes a Raspberry Pi

In poking about audio sites, I discovered Roon Labs Roon music server product. Roon is the music server I’ve been looking for for 20 years. Roon Labs has its origins in the Meridian Audio Solooes product over in the UK. This is a highly regarded embed music server organized in proper client server fashion. This post describes Roon, my Raspberry Pi build of a Roon Transport, and the commissioning process. Though not a step by step (see the references), this post includes some lessons learned during the build and setup, and the bandaging of my knuckles.

Listening Experience

After several weeks of living with Roon and the HiFiBerry Digi+ transport, I’m seriously taken with the product.

  • The composer, composition, and performance reviews are of high quality, written in an engaging and informative style.
  • Roon Radio is helping me rediscover records and tracks I had forgotten I had. Starting with a Thile-Meyer track, it worked through the album, into Fleck & Meyer, then to Nickel Creek, and Punch brothers and back to Thile-Mehldau. Poor dogs had to listen to acid grass and acid folk while I was shopping.
  • The Digi+ kit just works with the metal case and HiFiBerry standard power supply. There’s no need for expensive linear supplies or unobtainium wire cryogenically aged in unicorn blood. The DAC is going to jitter buffer, retime, and reformat for rendering and any exotica outside this final device is unable to improve the sound. Save your money.
  • Parasound got things right with the P5. The Optical and Coax inputs work well. USB input is reserved for disk mastering off my old Mac Mini and Parasound Z-Phono USB. This device has an ADC with line level and moving-mangent/moving-coil phono preamp. And it works as well as the P5 preamp and DAC. John Curl is a wizard!.

I really love the sound of this rig. If the album is well recorded and the mix is phase coherent, Brad Mehldau’s piano notes dance in space from string to string with a Brad and his Stienway are in the lounge sound.

Continue reading The Moocher bakes a Raspberry Pi

Introducing Roon Audio

I’ve been using Plex as my audio player for a while. Noodling around on the Internet looking Raspberry Pi stuff, I stumbled across HiFiBerry and from there Roon Audio. Roon Labs is a spinoff from Meridian of their multi-room digital audio player. These folks have done something right by starting with a client server open architecture which organizes the system as

  1. A music server process
  2. A music management service that builds metadata for your library
  3. A control service that determines what plays where
  4. And endpoints that play content or deliver content to an audio system

They’ve made the endpoint easily embeddable in high fidelity and home theater components. They’ve made the server run as a service so a machine need not be logged in to make your music available. The control runs on Linux, MacOS, and Windows and as iOS and Android applications on phones and tablets.

Where I’m At

I have a two week trial running on my new Mac. In August, I’ll subscribe and build a dedicated Roon Bridge using HiFiBerry parts. This Roon Bridge will replace the AppleTV 3 serving the HiFi. I’ll keep the TV and ChromeCast TOSlinks initially but will likely retire the ChromeCast.

Listening Impressions

It works with less fuss than Plex, a superior user interface, better library material encouraging music discovery, and potentially, state of the art digital audio as a result of removing first-mover constraints from the protocol designs and software architecture. I find Roon very listenable using the iMac’s built in speakers. They image surprisingly well in the near field when playing good source material. The sound is also good through an AppleTV and Parasound P5 built in DAC. This combination sounds less good than the Chrome Cast Audio feeding the same DAC. There seems to be a bit more image via the Chrome Cast than the AppleTV.

Continue reading Introducing Roon Audio

Introducing “Trey”

I name my hosts after notable greyhounds. The new iMac is no exception. It’s Trey, named after Kiowa Sweet Trey, Nick’s sire and Crash’s sire. Crash is a friend’s hound pawcationing with us this week.

References

  1. Apple’s iMac user guide at the iBook store describes the basics.
  2. David Pogue’s “MacOS Sierra, the Missing Manual” explains how to make best use of a Mac running Sierra.
  3. There are no current manuals for High Sierra coming this fall.

Revision History

  1. Original issue

First Impressions of Trey

Packaging and Unboxing

Apple packed Trey cleverly in a trapezoidal box, an outer corrugated shipping box covering a similar pasteboard point of sale box. The boxes are designed to stack up nicely in an outer shipping container by putting one base up next to one that is base down.

It was a surprisingly easy procedure to open the boxes. Tamper evident paper tape closed the outer box at the top. Cutting the tape allowed the front flap to drop down and the top flap to fold over revealing the inner package and its carrying handle. Once freed from the outer packing, the pasteboard point of sale box is opened the same way. Flipping the top open gives access to the accessory tray holding your choice of keyboard and pointing device.

Opening the inner enclosure shows the foam shock protection which is easily separated from the machine. A non-woven fiber envelope encloses the machine. A film covering protects the screen finish and case finish. All of this is easily removed.

Continue reading Introducing “Trey”

A New iMac On Its Way

Today was a bit pricy. I ordered a new adjustable height desk to put under a new 27 inch 2017 iMac.

advanced-keypad-photo-gallery-main-3

My ancient trestle dining table desk is always at the wrong height for work so I decided to treat myself to an adjustable desk from The Human Solution in Austin, Texas. The desk I chose was a 30×60 radiused front bamboo top on an adjustable trestle base like that shown above. An electric drive lets you easily move the desk to one of 4 preset heights and even tells you how high the work top is.

The New iMac

After some poking around at the Apple Store and some on-line reading, I chose a new 27 Inch i7 iMac. Apple makes it tricky as they never change just one thing from model to model. I use my machine primarily for photo and video editing, at least that’s my design basis usage. In reality, it spends its boring life writing this blog.

When fan boys are talking about computer hardware, they are usually speaking about how well the part games. I’m not a gamer so most of their observations are irrelevant. Gaming workloads are unique and are tuned to nVidia graphics by and large.

Apple places a premium on how well the hardware supports OpenCL application computing with graphics rendering a secondary consideration. OpenCL performance is the primary consideration in video and audio rendering. Cryptography support is increasingly important as data is encrypted at rest and decrypted on the fly.

What Apple Changes

From model to model in a line, Apple changes the display, the graphics hardware, storage, and the processor. This means that there are sweet spots in the product line but it also means that upgrading one capability may require accepting additional changes. When you look at the fan-boy discussions on-line, the posters tend to focus on one aspect of the machine without much regard to what it would be doing or that it would be doing several things at once. I thought I’d take a deeper look in this article.

The graphics chipset is the primary differentiator of the 27 inch 5K Retina iMac line. The display and display hardware must be chosen at time of purchase. The processor, memory, and storage can be changed in the field although only memory updates are easy. Storage and processor updates require dealing with the double sided tape holding the iMac together. Of the two tasks, updating the storage is easy. Tinkering with the processor is less easy as Apple has tailored the cooler to the specific processor it uses.

Display

Apple offers 4K and 5 K retina displays in the iMac. The 4K display is more than adequate for general use. The 5K display is aimed primarily at those working with large images. The big display has room for a full 4K video frame with additional pixels for the video editing menu. The display can’t be changed in the field. The iMac’s current USB-C/Thunderbolt interfaces can drive an external 4K display but not an external 5K display. Thunderbolt 3 does not quite have the bandwidth for the 20% larger display.

If you tend to hang on to a machine like I do, opting for the 5K display will give a longer service life. This was the one place where commenters had expressed regret, settling for the 4K display when working as a video producer.

Video

Apple makes three versions 5K Retina iMac best identified by the graphics part used. The three models use the Radeon 570, Radeon 575, and Radeon 580. Reports are that the Radeon 580 chip gives the most crisp rendering experience with the 5K display. This shows up as a smoother control experience when using brushes and other direct manipulation tools in Adobe Lightroom or Phase One Capture One.

In the Radeon 580 variant, Apple ups the video memory from 4 GB to 8 GB. It is believed the bump in video memory is responsible for the improved interaction. The amount of video RAM cannot be changed in the field. I opted for the 5K 580 graphics hardware.

Processors

Apple offers Intel Core i5 and Core i7 processors in the iMac. Both processors have 4 execution units but differ in cache architecture (arcane) and availability of hyper threading. With 4 cores, these machines will be able to process network traffic, play music, send content to Air Play, etc without affecting user interaction. They are well quipped to “walk while chewing gum”.

Hyper threading

Intel hyper threading adds a second prefetch, decode, and execute queue to a core that allows it to work concurrently on two threads from a single process. A modern application has several threads. One is running the user interface event loop. This thread receives mouse and keyboard events that it dispatches for processing. Any graphical program will have this thread.

Depending on its purpose, a program may have additional work threads. For example, the simulation I worked on had 3 threads, one for the user interface, one that took simulation time steps, and a third that exchanged information with other simulation instances collaborating to run the problem.

As I understand it, hyper threading adds a second program counter (program status word) and user register set that supports the second thread but the two threads share the memory address mapping, cache, and processor execution units.

One CS lecturer used the example of one thread using the integer unit while the second used the floating point unit. If both threads needed the integer unit, they would be taking turns. This is not as bad as it sounds since the integer unit is pipelined and has several instructions in the works at once. Once you have multiple functional units, instruction reordering, and register renaming hardware in place, the second set of user registers and hyper threading logic produces a 10 to 30 percent performance gain for a smaller increase in the core’s complexity.

I opted for the i7 with hyper threading over the i5 without. Mostly because my Core 2 Duo mini was a dog rendering in iMovie. I felt I would keep the i7 machine longer and it would have a better second life when Apple finally removed OS update service. This choice made the 2 TB Fusion drive standard.

 

Storage

Most PC applications have relatively low disk I/O demands. Typical applications read the document into memory, operate on it there, and write it to disk in its entirety at save/close. There are two notable exceptions, software development and video rendering. Compiling and library updating using traditional Unix compilers tends to be a disk write intensive task. Video rendering is also disk write intensive.

The Radeon 570 and Radeon 575 iMac base storage is a 1 TB Fusion Drive. A Fusion Drive is a MacOS mashup of a regular 1 TB electromechanical disk (EMD) and a solid state disk 24 GB (SSD) at the operating system level. MacOS creates a single virtual volume from the two physical devices and migrates the most recently used files between the EMD and the SSD. Basically, the SDD behaves like a persistent buffer cache for the EMD. Things recently read or written are in the SDD and shadowed on the EMD.

Apple offers a 2 TB Fusion drive as base storage for the Radeon 580 iMac. This disk combines a 256 GB SSD and a 2 TB 7200 RPM EMD. The disk speed will make a difference for tasks that produce long streams of data to write to disk. As the application writes, data goes first to the buffer cache, then to the SSD and from there to the EMD. If the volume to be written exceeds the SSD free space, long sustained writes characteristic of video rendering will eventually drop into equilibrium with the EMD’s ability to put data away on disk.

Apple uses standard 3.5 inch disk drives and M.2 SSD modules but does not make them accessible for user replacement. iFixIt makes repair and upgrade kits available including the proper double sticky tape needed to close the iMac. Opening an iMac and replacing drives in the field is doable but be advised that working with the sticky tape is time-consuming and may be a bit tricky. Apple techs get lots of practice at this.

After fiddling around with the Radeon 580 5k Retina 27 inch iMac, I concluded that the standard 2 TB Fusion Drive would be adequate for my needs. This device is much bigger than the 512 GB SSD in my Mac Mini and the 256GB cache SSD was big enough that it would be a long time before I outgrew it.

Memory

Apple starts all configurations out with 8 GB of main memory. This is generally adequate for writing, drawing, and photo editing. Interestingly, Apple makes the memory accessible and field replaceable behind a trap door. I ordered the base memory and opted to add 16GB in the field should it be needed. That would give a total of 24 GB in the machine.

An Aside on SSD’s

SSD’s work their magic by eliminating rotational and seek delays but current NAND flash devices have finite but high write lifetimes. As the number of times a block has been written approaches the design life, the probability that it will fail goes up. The operating system should sense the error, mark the block bad, and write the data to a new block from the free pool. When enough blocks are bad, the disk will become unusable. I have not personally experienced an SSD failure so I can’t comment from first hand experience here as disk writes are low in my read-dominated disk workload.

This observation is important to video editors. SSD’s used for fast rendering should not be used for asset or product storage as the disk will eventually reach the end of its design life. Many video editors render to external SSD. Economics dictate the fastest sustained writing rates and replacing this device frequently is affordable for the professional video editor.

 

The Moocher Builds a New Server

Last week, I took the plunge and ordered bits and pieces to make a new FreeBSD based FreeNAS file server. This server consolidates Plex, my iTunes library, and Time Machine backups on a new ZFS ZRAID2 volume. I made this move for several reasons.

  • I was double maintaining my media library, once in iTunes and again to update the Shield TV external disk
  • My Drobo directly attached storage is about 10 years old. It had FireWire and USB2 interfaces and no network interface making it unfriendly to modern computers without these interfaces.

After a lot of review of the usual suspects in the market place, I was unconvinced that they were sufficiently robust to prevent bit rot. Most were built on Linux, Linux software RAID, ant the EXT4 file system. NetGear Ready NAS uses Linux with the BTRFS making it a bit more robust but was not comfortable with a Netgear solution as it I was unsure if the entire product line used BTRFS or if current products were a mix of BTRFS and EXT4. I also wanted the freedom to run other applications such as audio recording in the future, something an appliance would probably not allow.

This article describes the component selection, commissioning, and software configuration. The references give the detailed procedures used and these procedures were correct and complete. The only disappointment was that UniFi NVR does not play on FreeBSD and I elected not to install a supported OS in a jail. Ubiquity distributes the packages directly rather than through the normal distribution work flows and services. At this point, they are a year behind the community and have yet to release a Win 10 version.

In a future article, I’ll describe how I use ZFS snapshots to give some protection against user filesystem encryption malware.

Continue reading The Moocher Builds a New Server

New WiFi for Chaos Manor

Apple has left the home WiFi market. Airport Express and Airport Extreme products are discontinued and the work group that was maintaining the device firmware was dispersed to other Apple work groups. One of the attractions of Apple Airport is that Apple announced device firmware updates in the same way as other software updates. The App Store applied the update and life was good. I had been spoiled since I bought my first Airport Express back in 2002 or 2003.

Revision history

  1. Revised to describe IPV6 configuration. It appears auto does not configure IPV6.
  2. Added references.

Continue reading New WiFi for Chaos Manor

Network Attached Storage

The Moocher operated his home network with host attached storage for a number of years. Two Drobo storage arrays provide storage for media and serve as a Time Machine spool volume. These machines have served well but are running into age-related limitations. It is time to consider replacing them in the near future.

freenas-mini
IXsystems FreeNAS-mini storage array

Revision History

  1. 12/28/2016: Add references, revise summary of commercial products, revise home-brew discussion to reflect actual costs after actually adding them up.

Continue reading Network Attached Storage

nVidia Shield TV First Impressions

A few days ago, I wrote about setting up an nVidia Sheild TV set top box and configuring Plex Media Server on it. Now that I’ve had a chance to live with it for a few days, I thought it would be appropriate to share my first impressions of this piece of kit.

Left to right: game controller, media player remote control, pedestal and computer.
nVidia Sheild Android TV Components

Why nVidia Shield?

  • It runs Plex Server! It’s that simple.
  • And it is the most expansive walled garden.
  • And it is hackable with nVidia folk spilling the beans on the nVidia Shield developer forums
  • It is cheap enough to buy one to experiment on.
  • It is capable enough to use for other appliance tasks about the Moocher’s cave.

Continue reading nVidia Shield TV First Impressions