Wednesday, November 7, 2012

An Anecdotal Review of Monoprice's In-Ear Headphones

I like good sound, but I don't like to pay a ton of money for it. So, I look for headphones that are inexpensive but that I can make sound good. "Good" to me means that I can hear all of the instruments in a fairly complex piece of music and that have enough frequency response that I can get decent highs and lows (even if it takes some equalization). As a drummer, highs and lows are most important to me, especially a nice dull thump from the bass drum without disturbing the rest of the instruments.

In other words, I prefer the drivers to not be overwhelmed by sudden peaks of energy. For me, this is most obvious in the presence of low frequency sounds just after the bass drum is hit.  If, for instance, during a bass drum kick the bass guitar drops out suddenly and just as suddenly restores or, in softer music, the normal echo of the inside of the bass drum after a kick is not present, it's an indication that the driver has been overwhelmed.  Doing a test like this with your favorite music is a great way to evaluate a sub woofer for a theater system by the way.

Finally, I am annoyed by added compression that brings the hard-to-reproduce frequencies into an easier-to-reproduce range because it makes it harder to make out the difference between a high hat roll or the strum of an acoustic guitar (Bose).  This probably won't be a problem in headphones under $20.

I'm not an audiophile.  I don't have a golden ear.  I don't have fancy equipment to objectively assess my findings.  The only expertise I have is that I am a musician using music I am extremely familiar with.  So, obviously, this is a completely subjective analysis.

Monoprice 8320 ($8)
All that being said, in the "sub $20" range, the Monoprice 8320 headphones are well known for being "audiophile quality" to budget consumers like me. I purchased them, and I agree. They sound great. But, the design hurts my outer ears - and, yes, I am wearing them correctly by wrapping them around the back of my ear.  I had the same problem with my old pair of Koss Cans (I think they are called "Pathfinder In-Ear Headphones" now).  The Koss headphones aren't cheap enough for this review, and they aren't nearly as good sounding as my favorite's here anyway.

So, I began my search for something that sounds just as good for the same price.  First up, I tried the Panasonic RP-HJE450 phones.  I searched Amazon for phones that got great reviews under $20, and these popped up. 
Panasonic RP-HJE450 $20

These Panasonic's fit really well, but that's about all they have going for them.  They have great frequency response, and the drums are incredibly clear, but there are NO mids.  It's hard to make out the vocals, and the very faint echo you can hear from the room the music was recorded in is totally lost which makes the audio sound artificial.  Equalizing up the mids really helps, so I'll keep them.  Explosions in movies make my eye balls shake.  So, there's that.  Also, the cable is more than 50% split so I found it catching on everything.

After that experience, I decided to go back to Monoprice and try out their other models.  First up, the Monoprice 8321s.
Monoprice 8321 $5
The difference between the 8320's and 8321's is more than 1 integer.  The specs on Monoprice's site are totally different, and it's obvious.  Regardless of how much you pump into these things, you will NOT be able to hear the bass drum resonate or anything that rings in the high end.  These might as well be the crappy headphones that came with your smartphone - useless for anything other than talk radio.


Monoprice 9398 $12
Monoprice 9397 $13
Monoprice 9396 $7

Finally, there are these three.  The 9396, 9397 and 9398.  The 98, despite having the largest product number is NOT the best sounding.  It has really good metal construction, but it's REALLY bass-heavy and muddy.  Granted, these are intended for "video gaming" so I guess gamers want to loose their low frequency hearing.  With equalization, these sound fairly good for $12, but in comparison to all of the other's in this review, and without equalization, these are nearly as bad as the horrible 8321s.  If you don't turn the bass down on those units, you will find the rest of the audio washed out due to the fact that there is only one driver in these, and all of the movement of the speaker is dedicated to billowing whale sounds into your brain.  They can probably be made to sound as good as the Panasonics with less equalization than the Panasonics.

The 97s have a slightly larger driver than the 98s and are a little bass-heavy.  They are excellent for under $15!  Way better than the Panasonics, or the 98s.

The 9396s sound even better!  Without any equalization, they sound almost as good as (maybe better than) the 8320s!  And, they are more comfortable than the 8320s.  The only real complaints I have are that they are cheaply constructed and it's hard to find which one is the left or right one.  I painted some white-out on the back of the right unit: problem solved.  I think I'll probably purchase a few of these 96's.

So, how do they stack up?  The 8320s and 9396s are the best sounding, but these 9396s are my favorite due to comfort.  The 8320s are my second favorite sounding and the 9397s are my second favorite over all.

Ranking:
  1. Monoprice 9396 - Possibly the best sounding.  The most comfortable from Monoprice.  Cheap construction (buy a few).
  2. Monoprice 9397 - Takes a little equalization to make the mids available.
  3. Monoprice 8320 - Probably the best sounding, but they hurt my outer ear.
  4. Panasonic RP-HJE450 - without equalization, the mids don't exist.  With equalization, there is enough response across the board to get really good sound.  The most comfortable overall.
  5. Monoprice 9398 - I could hear the music somewhere behind the bomb going off inside my head.  After equalization, amazing for $12.
  6. Monoprice 8321 - Seriously, you're paying more for shipping.  Go to the drug store and get some buds - they'll sound just as awful.

Tuesday, August 21, 2012

JQuery: Keeping the UI Responsive During Slow Page Loads With The Event Queue

Let's say we have some really slow operation that works like this:

$("#container").empty(); $(giantArray).each(function(i, element){      verySlowRenderOperation(element).appendTo($("#container"); });

It's possible that this will make the page lock up while the above routine executes.  Most web browsers will even become unresponsive while this happens.  The most popular way to solve this problem is to use setTimeout.  The problem with setTimeout is that things might occur out of order, but the above code should maintain order in some way.  Here's a fairly elegant solution to the problem that uses jQuery's built in function queue to delay processing of any queue of arbitrary functions in order.  We can create a 1ms pause between each call which will free up the page to process other things and do all of our work in a separate thread.

$("#container").clearQueue(); //Prevent race conditions if a previous run is still pending. $("#container").empty(); $(giantArray).each(function(i, element){     $("#container").delay(1).queue(function(){         verySlowRenderOperation(element).appendTo($("#container");         $(this).dequeue();     }); });

More information can be found in jQuery's documentation on queue() and delay().

Monday, July 23, 2012

HTML is Diverging. This is a good thing.

I'm seeing this news piece floating about the web today about HTML5 diverging into two separate standards.  The story was on Slashdot a few days ago and my comment was modded +5, so I figure it's worth reposting here for others to see:


This is the similar to any source tree having a "development branch" and a "stable branch". WHATWG will be responsible for evolving the fast-paced devlopment branch of HTML while W3C will take occasional snapshots and stabilize the features of the development branch into "full standards". I assume that most of the complaints here are related to either bad marketing - WHATWG should just start calling their version HTML6 or "future HTML" or something - or the fact that these bodies (especially the W3C) move slowly and we are in the middle of a new stable branch getting pulled.

By the way, HTML5 isn't, according to the W3C a standard yet. The current HTML standard is 4.0.1. HTML5 is planned to be a "full standard" in 2014. In that time, WHATWG will introduce dozens of new major features into what will probably be called either HTML6 or HTML5.1 when the W3C gets around to pulling another snapshot.
http://en.wikipedia.org/wiki/HTML#Version_history_of_the_standard

Tuesday, June 12, 2012

Ubuntu Amazing Sound With Mediocre Headphones

I have a pair of Koss UR40 Titanium headphones. I like them because they are fairly portable super light-weight open-air and completely cover my ears which means I can wear them an entire day without them hurting or getting too warm. They cost about $40 and have a lifetime warranty. And, they have a frequency response rating of 15hz-20,000khz. Since they are cheap, the mid-range frequencies are much more pronounced which means that super high and super low frequencies (guitar plucks, cymbals, bass guitar and the bass drum) are lost under a flat equalizer (what your computer normally puts out). But since they have that nice frequency response, we can make them sound acceptable with what's called the smiley face curve equalizer.  This will be the case with most headphones that cost under $150. So, here's how I made the problem a little better:

$ deb http://ppa.launchpad.net/nilarimogard/webupd8/ubuntu precise main
$ deb-src http://ppa.launchpad.net/nilarimogard/webupd8/ubuntu precise main
$ sudo apt-get update
$ sudo apt-get install pulseaudio-equalizer 


Now, run pulseaudio-equalizer and set it up like this.  Make sure that nothing goes too far over 1.0 because it will cause saturation noise (it'll sound like crunchiness):

If you want to see what a difference it makes, play your favorite song and check/uncheck "EQ Enabled" to see what it originally sounded like and what it sounds like now.  You'll notice a HUGE difference.

Thursday, June 7, 2012

A Simple URL Redirection Service In Javascript

Bit.ly, TinyUrl, goo.gl... You've probably had an opportunity to use a URL Shortening service in the past, but maybe you want one of your own that allows you to create your own custom shortened URLs with coherant names rather than "http://bit.ly/9SDFH43". Here's how I did it with a small client-side script I added to the index.html for my site 
Just put the following code inside your home page:
<script language="javascript"> var key = window.location.href.split("?")[1].replace("/","") var urls={ 'delicious':'http://www.delicious.com/davidron', 'ssh':"http://sdf.org/ssh", 'blog':"http://blog.davidron.com" } if(key){ if(urls[key]){ window.location.href=urls[key] }else{ document.write("'"+key+"' not found :("); } } </script>

Now, all you have to do is edit that "urls" block to add more redirected URLs. Just make sure that each one except the last one should end with a comma (or else it won't work in IE).

I embedded that code directly in this blog. You can surf to http://blog.davidron.com?ssh and the browser redirects! I redirected http://davidron.com/ to http://blog.davidron.com? so that you can also surf to http://davidron.com/ssh to get to the same redirect.

Thursday, May 31, 2012

Fix The Verizon FiOs Westell 9100em Arp Cache Bug

It seems like the Verizon FiOs Westell 9100em has a very small ARP table that ages out old IP address ->mac address mappings before the lease has expired on those IP addresses.  The symptom is that over time, you can't ping any device on your wireless network.  You get a "host not found" or "destination host unreachable".  One way I was able to solve this without introducing additional complexity (another wireless router) was to simply increase the frequency with which all machines must renew their IP addresses.  The default is 24 hours, so I reduced it to 6 hours.  Here's how:
  • Log into your Westell 9100em (http://192.168.1.1)
  • Click advanced->IP Address Distribution
  • Click the "edit" button next to "Network (Home/Office)"
  • Change the TTL from 1440 to 360
  • Apply

Friday, April 20, 2012

Running Bookmarklets from the Firefox URL Bar

I have certain bookmarklets bookmarked with "keywords" in firefox so that when I am on a page, I can, for example, just navigate to the url "offline" which executes the pocket bookmark.  Mozilla has recently disabled this functionality and there is now an add-on that adds that functionality back.  This add-on allows users to run bookmarklets from the command line in Firefox again.

AddThis

Bookmark and Share