Saturday, January 30, 2016

Audiophile Revival, part 1

In this post, I touch some history and lessons learned in nearly 3 decades of audiophile system ownership and enhancement, as well as what new frontiers I am currently exploring in that space.

System History

In 1988, I became the fortunate owner of an audiophile-grade stereo system, thanks to my dad and Byron Yang of Sound of Peoria who set me up with a great selection of quality components which started me off right. Those components were:
  • Luxman R-115 receiver - transparent and powerful, bright recordings don't soften up through this amp
  • Dahlquist M-905 speakers - transparent and musical, can be light on bass
  • 10 gauge fine stranded OFC Monster cable, 8 feet x 2 - bare wires only on all terminals
  • Typical entry level Philips CD player - the SP/DIF out turned out to be important
  • Generic interconnects between disc player and amp

Let's just say the Luxman is well liked. That thing is built like a tank and its a total powerhouse, delivering very accurate and neutral amplification with loads of extra headroom and a high damping factor. It is very enjoyable to listen to. Although its specs read very conservatively at 70 watts per channel, the truth is this amp can deliver peaks of 270 watts per channel into 2 ohm loads without breaking a sweat.

The Dahlquists are also gems, which can tend be overlooked in the used market, but offer a compelling value for the prices they fetch. Frequency response goes up to 24kHz, and being 2 way speakers, there is less damage done to the sound by crossovers when compared to many 3 way speakers. The woofer is only 8 inches in diameter, but it is very agile, accurate and has a long throw. When coupled with the Luxman, there is an amazing amount of tight, musical bass to be enjoyed. Adding in a sub fills out that lower octave quite sufficiently.

Component Upgrades and Additions

Over the years I upgraded a few items:
  • Audio Alchemy Dac-In-The-Box outboard DA converter (around 2000)
  • Wireworld Atlantis III 1 meter interconnects (around 2001)
  • Improved disc players (various DVD and blueray players, all with SP/DIF out)
  • Denon DSW-30 powered subwoofer (Thanks Gregg)

I think most people would not drop $120 on a pair of 1 meter interconnect cables, but let me tell you, I was shocked that this one change made such an audible improvement in quality. The highs became noticeably smoother and the ambiance of the reproduced sound was enhanced. Even for casual listeners, this change was immediate and obvious. If you have a high quality signal chain that is truly transparent (as this one seems to be), you may be surprised at how much of a difference such a small item can make.

Similarly, the outboard DITB converter brought a marked improvement to the playback quality of the entire system. Bass was given more definition, and the upper mid-range and sibilance elements were given more delicate treatment. I think that unit maybe cost $150 or so - very worth the upgrade.

Malfunction Junction

Sadly, the Luxman amplifier section eventually succumbed to damage due to its age sometime around 2010. After doing a little research, it seems that most R-115s eventually develop the same problem: a mechanical relay for the output stage starts disengaging randomly. This happens in small bits at first, but soon the unit simply will not engage the relay at all and there is no signal provided to the speakers from then on. I just packed the unit away in storage and forgot about it for a few years.

Repair Rescue

Fast forward to 2015, as I worked my way cleaning through some items from storage and saw the Luxman, I was sad about not being able to enjoy it, so I started a search for someone to repair it. Thankfully, I found the perfect repair shop to take care of this: stereorehab.com. They were able to quickly perform a thorough repair and reconditioning job that brought the system back to life, possibly to a state that was even better than it was before. After just a few hours of listening, I was hooked again!

Starting Over, Again

Sometimes when I take a break from a pursuit and re-engage it after a lengthy hiatus, the fresh perspective brings some really good things to light. I have been catching up with what's been going on in this space, and there are some truly revolutionary changes under foot, especially regarding improvements to how digital audio is processed. The site computeraudiophile.com is a great source of information for those interested in the topic.

Latest Upgrades

I have recently added a new outboard DA converter that handles all manner of high resolution bitstream formats up to 384KB/sec DXD/PCM and DSD128 too. I have also been testing several different open source computer audiophile playback systems, running on everything from vanilla PCs to Raspberry Pi boards, with varying degrees of success. These will all be the topic of future posts, but suffice it to say that I have never heard sound that is anywhere close to this sweet coming from this system before. It still has me dropping my jaw that for years, I owned a system which was this capable, if only it were fed input from such clean sources! Many of these amazing recordings are freely obtained within the high resolution audio community as demo tracks. However, even my large collection meager CD/Redbook rips have been seriously upgraded through simple, on-the-fly upsampling. There really is a lot of good information in those files! As it turns out, some fine details about how the information is extracted back out is critical to the final listening quality.

More to come!

Performance Testing A Wireless LAN

I have Ubiquiti wireless network gear on my 2.4GHz home WLAN. Recently, I opted to add one of their new Ubitquiti UAP-AC-LITE access points to provide a faster network path to better support running of Time Machine backups from my Macbooks to a new NAS I built (a story for another post).

This access point provides several nice features, including a wired gigabit connection and power over Ethernet.

This unit also provides a nice RF scan function that runs for about 5 minutes. Upon completion, it depicts the status of your RF environment so you can make informed choices about how you configure it. Below are the results of that scan for the area near my office.



RF Environment scan results for 5GHz spectrum in my office area

Based on those RF results, I've configured this access point to use a quiet 5GHz channel that is 80MHz wide to optimize throughput.

Often when one does an upgrade like this, it can be easy to accept any indicator of improvement as proof that the expected benefit is there. But when I saw some differences in WLAN performance between my Macbook and my Nexus 6P, I wanted to confirm what I was seeing with a solid test that isolated the wireless links. I considered trying to use a typical Internet speed test, but then that is measuring much more than just the speed of the wireless link. Even doing a file transfer of a large file from the NAS does not truly isolate the wireless leg of the network. This led me to do a little research and in the end, iperf3 came to the rescue.

To do this test, just SSH into the access point in question and run the following iperf command:


iperf -f M -i 1 -p 11111 -s -t 60 -N


Then on the client device (in my case, the Nexus 6P) I feed it the following matching client oriented options:

-f M -i 1 -p 11111 -t 60 -N -c 192.168.1.x

   use the ip address of your access point here


For this, I was rewarded with the following output on both the client and the access point:


[  4] local 192.168.1.x port 11111 connected with 192.168.1.y port 46275
[ ID] Interval       Transfer     Bandwidth
[  4]  0.0- 1.0 sec  15.0 MBytes  15.0 MBytes/sec
[  4]  1.0- 2.0 sec  15.9 MBytes  15.9 MBytes/sec
[  4]  2.0- 3.0 sec  15.9 MBytes  15.9 MBytes/sec
[  4]  3.0- 4.0 sec  16.0 MBytes  16.0 MBytes/sec
[  4]  4.0- 5.0 sec  15.8 MBytes  15.8 MBytes/sec
[  4]  5.0- 6.0 sec  16.1 MBytes  16.1 MBytes/sec
[  4]  6.0- 7.0 sec  15.8 MBytes  15.8 MBytes/sec
[  4]  7.0- 8.0 sec  16.0 MBytes  16.0 MBytes/sec
[  4]  8.0- 9.0 sec  15.7 MBytes  15.7 MBytes/sec
[  4]  9.0-10.0 sec  16.1 MBytes  16.1 MBytes/sec
[  4] 10.0-11.0 sec  15.4 MBytes  15.4 MBytes/sec


This is a decent improvement, about 2x. And it makes sense when I confirm the connection speeds on each network. First, here is the 802.11n network on 2.4GHz as seen by Android:



Based on the 117 Mbps rate, I presume this is a 20 MHz channel configuration with 2 streams in use, backed down off the max rate of 130 Mbps by 10% to arrive at 117 Mbps. The 130 Mbps starting number is due to not using a "Short Guard interval" feature, that would otherwise set the maximum speed to 150 Mbps. The explanations given here and here were very useful to help understand how reduced connection rates work. Note: expect to enjoy a little less than half of the shown "air link bit rate" due to things like partially degraded signals, driver inefficiencies and IP protocol overhead. Also, in this specific case, that UAP's wired interface is limited to 100 Mbits, so there's no way a wireless client to take advantage of that extra 17 Mbps in the link speed shown above.

Then here is the what the 802.11ac network connection looks like to Android:



This link speed matches with the expected max speed for a two stream 802.11ac configuration set for 80 MHz width, as depicted by this chart:



But, for reasons I still don't fully understand, even at the 867 Mbps link speed, the transfer rate is far below what I would expect (15 MB/sec instead of a more idealized 45MB/sec or so). This performance is still plenty good enough for me. Its also close to what I'm seeing for transfer rates on my Macbook, which gets around 20MBytes/sec. In the case of the Mac, I do get a little more information about the link speed by doing an option-click on the wifi icon:




The 351 Mbps tx rate shown here is probably lower than 867 because the mac is on a different floor than the AC access point. It does help to explain the lower than expected 20MB/sec transfer rate on that box. However, the Nexus phone peaked at 15MB/sec transfer speeds while being just a few feet away from the access point. Previously, the max speeds between the Nexus 6P and the UAP access points running 802.11n on 2.4GHz topped out around 7MB/sec, so although the gain of roughly 2x isn't as good as I would have hoped for, it is a very welcome improvement.

I suppose I could eek out a little more throughput numerically had I explored the lower overhead, UDP-only options of iperf, but most of what will stream over the WLAN will be TCP anyway, so measuring for that additional overhead in the test is probably best.

Have you speed tested your wireless LAN? If so, how did you do it and what kind of performance are you seeing?


Tuesday, August 7, 2012

Detecting site performance anomalies using cURL

I recently participated in an IBM Webshpere Commerce Server deployment and was tasked with hunting down the source of some performance anomalies. cURL is a tool that has the ability to easily probe and collect detailed timing data using its many options. Below are the links I referenced to write my scripts that provided critical information and insight into the problem. I will add more detail here soon about what exact steps I used. 


http://newestindustry.org/2006/10/03/baseline-testing-with-curl-2/

http://josephscott.org/archives/2011/10/timing-details-with-curl/

http://www.jonefox.com/blog/2011/10/10/find-the-time-to-first-byte-using-curl/

http://curl.haxx.se/docs/manual.html

Front-end enginerring: Image compression


I recently participated in an IBM Webshpere Commerce Server deployment and was surprised when I ran Google's PageSpeed against the site, that it suggests the use of image optimizers on the stock widget graphics. The analysis for one of our pages was as follows:




The detailed message under the Learn more link was helpful in that it linked to the tools they suggest using - bookmarking it here for reference:


Use an image compressor.

Several tools are available that perform further, lossless compression on JPEG and PNG files, with no effect on image quality. For JPEG, we recommend jpegtran or jpegoptim (available on Linux only; run with the --strip-all option). For PNG, we recommend OptiPNG or PNGOUT.

Tip: When you run Page Speed against a page referencing JPEG and PNG files, it automatically compresses the files and saves the output to a configurable directory.

I would expect an off the shelf tool to do these kinds of optimizations on their own graphics before shipping, no? Some of the absolute numbers seem small, but every 1.5K is a packet that doesn't need to be sent, and this is a small step to make for such an easy gain.

Friday, September 30, 2011

RAMDisk options for Windows

IBM Rational Application Developer can be real hard on the disk, especially when debugging in the test environment for Websphere 6. In lieu of convincing my employer that every developer should get a speedy SSD or RAM-based disk to minimize wait times between WAS6 restarts, I have been investigating the available options and have been looking at software based RAMDisks. These could even be faster than most SSD disks, in theory.
I was pleasantly surprised to find these options below are available for Windows 7:
For now, I need to test these out and see if there really is a benefit for some of the IBM RAD slowness I see on a daily basis. I will post my findings here at a later date.

Saturday, September 24, 2011

Graywater Heat Reclaimation

Just some links/notes on a topic I became interested recently. Why do I find graywater heat reclaimation interesting?
  • cost saving: reduced energy bill
  • cost saving: extends the life of the water heater
  • cost avoidance: average water heater recovery times are markedly improved
  • environmental goodness
  • low/no risk: passive system with no moving parts
See

Seems like the price is around $750 for a bit of copper pipe that is supposed to last about 50 years.