the itjerk

my adventures with technology

Category Archives: Audio

Oppo BVD-103

Yep, time to get into Blu-ray. This was mostly precipitated by the imminent arrival of a new Gentle Giant compilation, Three Piece Suite, which features 5.1 remixes of tracks from their first three records. The Oppo BVD-103 had been on my radar for a long time… so long, that it was discontinued in favor of the newer UDP-203. But the newer model doesn’t support older formats like HDCD and VCD, so I was off to find the older model.

As much as I thought it could be found for less than the newer model ($550 MSRP), the reality was that I really couldn’t find one. However, Amazon did have a few listed as “Warehouse Deals,” so purchased one for $430 that was listed in “very good” condition. I figured if it didn’t turn out OK, I would simply return it – the beauty of dealing with Amazon!

I received the player with Prime shipping the following day. It was complete with the exception of a manual (which I downloaded from the Oppo website), and the battery contacts on the remote needed a little scrubbing. Otherwise, it was in top condition, and immediately upon connecting the player to my (wired) network, it set opon upgrading its firmware — definitely a good sign.

In addition to providing me Blu-ray capabilities, the UDP-103 is definitely a step up from my previous Oppo universal player, which I purchased about 9 years prior.

minidlna

When talking about digital music servers other than Squeezebox Server, I feel like a cheater. It’s been my reliable go-to method for serving up my ripped and downloaded music for over a decade now. But not every piece of hardware speaks to it; Beep appeared a while back and saw me install miniDLNA on my linux box, where all my music files reside.

The Digital Living Network Alliance is a trade group that certifies compliance to a standard for delivering digital media. MiniDLNA is an implementation for Ubuntu, and mini it is! No interface (save a bare bones web page at port 8200), it is configured by editing /etc/minidlna.conf.

Set the path to your music; I’m only looking for audio files, so I mark the directory with an A.
#media_dir=/var/lib/minidlna
media_dir=A,/mnt/data/music

Set the database cache directory (important!) and enable logging:
db_dir=/var/cache/minidlna
log_dir=/var/log

Tell it to look for new files or not:
inotify=yes

Set the name of the server presented to clients. This provides a simple way to check if you’re connecting to you server.
friendly_name=My-MiniDLNA

That’s it! Restart the service after you make changes to the configuration,
sudo service minidlna restart

or rebuild the database if you’ve changed or added music.
sudo service minidlna force-reload

There’s a ton more it can do, including serving videos, pictures, etc, and it also offers per-user configuration as well; but for my purpose my newly acquired Oppo BVD-103 can now stream all the music on my computer.

On the web:
MiniDLNA Ubuntu
ReadyMedia

record cleaning

If you didn’t know, I’ve got a lot of albums, the earliest of which I started collecting in the early 1970s. They’ve been through a lot – teenage years, moves, and many of them were bought used. As I catalog them on discogs.com, I’ve been looking at each and every one. Most look pretty good; very good plus or even mint minus; others, not so much: finger prints, dust and who knows what! A record is made of polyvinyl chloride – PVC. It’s pretty hardy stuff, most modern plumbing is made of it. The grooves are more fragile, and once scratched, scuffed, etc, it cannot be undone. Yet anything that gets into those grooves that makes for a less than perfect playing experience can be rectified with proper cleaning. But please have realistic expectations about $3.00 records from Salvation Army. You can’t undue wear to vinyl – scratches and scuffs are permanent – dirt and dust are not.

Now let’s talk about money. If one had unlimited resources, they could just buy a better copy of an album. Or a $5000 ultrasonic record cleaner. Or even pay someone to clean their records. But I didn’t spend 40 years collecting records just to replace them; that wear and tear is my wear and tear, and those records and all they’ve been through are part of my story. And cleaning them, is my work.

The best way to clean records is by using a wet solution and then vacuuming it dry. Record cleaning machines start at about $500, and go up, though the Record Doctor V is only $200. A product like Spinclean handles the washing part, but not the drying; microfiber clothes are okay, but they don’t provide the “lift” that vacuuming does.

The $29 Vinyl Vac is not only one of the least expensive ways to get into vacuuming records, it’s also one of the best! It’s a PVC tube that attaches to the end of a shop vac, and over the spindle on a turntable. The tube has a slot cut into it, with felt around the edge that rides over the vinyl – pictures speak a thousand words, so here it is:
6183536_1
One can absolutely shine in all their obsessive-compulsive glory when talking cleaning habits; my record cleaning regime may not be yours, but if you’ve made it this far, you must be interested. Make no mistake, ideally, I’d prefer to never clean a record. If it was purchased new and handled properly, there shouldn’t be any need to. But my records are road-hardened. It’s time to clean!

The solution: Guess what’s the most effective cleaning chemical in the world? Water! Yep, all the other stuff – surfactants – just help water do its job. I use a 3:1 mix of distilled water and 91% isopropyl alcohol as the base, and add a minute amount of Dawn dishwashing liquid, and Photoflo, a Kodak “wetting” agent, which helps the water spread across the vinyl as well as aide in drying. Isopropyl Alcohol is a solvent for cutting grease, aka finger prints, and dries quickly. While some consider this controversial, it’s diluted, and PVC is thermally bonded. Plus, it’s only on the record for a few minutes at most.

The tools: I use a flat paint brush to scrub the records on my lazy susan, and a 4″ sponge brush to rinse the records. The Vinyl Vac and a shop vac dry the records. After vacuuming, I let them air dry for a short while, before I return them into the sleeve.

The process: Here’s the video.

The result? The records that needed cleaning are now clean. It’s mostly a one and done process, as I don’t expect them to get dirty again. Yes, it’s a lot of work, but these are my records, scratches, scuffs and all.

audio bliss with the piCorePlayer + HiFiBerry

If one thing has changed in the past forty years of my listening to music, it’s not the music; as Lemmy said in his documentary, (to paraphrase) “you always return to the music of your youth because that’s when you figured out what music you like”. What has changed is how I listen to music; as much as I still enjoy flipping a vinyl record over (and that delicious analogue sound), nothing beats the convenience of digital streaming. Basically, I want all my music on a computer so I can access it, with a click, wherever I may be.

Not like any of this is new. Since the iTunes revolution, music has been reduced to ones and zeros, in more ways than one. The album has vanished, and CDs are mere content delivery units. Services such as Spotify, Pandora, Google Music, Amazon Prime, iTunes Airplay, etc… are the new record stores, serving and predicting what music one wants to hear. Their respective apps, and devices such as Sonos, Beep, Amazon Echo, and the newly announced Chromecast Audio are all there to push that music your way.

But I want my music, the music on my computer. Logitech Media Server, aka SlimServer or Squeezebox Server, has been my go-to for music streaming for probably a decade now. Problem is Logitech stopped making Squeezeboxes years ago. Beep seemed like a nice substitute, but honestly it mostly crashes, far too often to be considered usable.

Screenshot from 2015-09-30 04:04:27

The most elegant and inexpensive solution is the Raspberry Pi equipped with a HiFiBerry DAC running piCorePlayer. The latter has made some serious leaps in the past year in terms of usability and stability, and with the addition of the HifiBerry, sonically as well. So all of this is a long winded way of giving the trio another, hopefully louder shout-out for earning the top spot in my hifi rig. It works, it’s simple and it sounds fantastic. Thank you!

On the web:
piCorePlayer

amazon echo, arrived

echo
I received my Amazon Echo unit this week, several months after ordering it. The $99 (with Prime Membership) unit is sleek, solid, and very black. While it should have been simple to configure – get the app for Android (or via the web, as long as it’s on one’s wireless network) and follow the instructions – getting it to sign into my wifi required a call to Amazon and then a talk to the development team. (Seems the issue was with the app not recognizing WPA/WPA2 correctly). Anyway, that aside, I was up and running.
Alexa has problems understanding:
“What time is it in a stop stop?”
“Would you like to eat it blueberries?”
“when is the next bus gonna be at at us an in game”

And knowing pretty basic stuff:
Who did the chicago blackhawks play tonight?
Q&A
Sorry, I couldn’t find the answer to your question.

But she’s kinda funny:
“Would you like to eat a blueberry?
Q&A
I don’t have preferences or desires.

Are you a man?
Q&A
I’m female in character.

Are you hungry?
Q&A
I don’t get hungry or thirsty, but thank you for asking.

The kids love her,
What is eighty one minus twenty eight?
Q&A
81 minus 28 is 53.

Yet her pronunciation isn’t so good (“Jonathan Toes” vs “Toews”)

The Echo App logs “cards” of what Alexa has heard, allowing one to send feedback to Amazon, which presumably will help improve her.
She’s perfect for playing music and sounds very good, but wouldn’t it be great if she could find a UPnP server on my local network and access that? So yes, the possibilities of Echo are boundless – think Wikipedia reader, think Translator, think Sports – but she’s definitely a work in progress. I can’t wait however until I can call her Samantha or… Sudo!

squeeze2upnp + beep = lms

Screenshot from 2015-03-11 18-56-42

Logitech Media Server (LMS), the old Squeezebox Server or Slimserver, is my go-to for playing my music library on hard disk. I use a Squeezebox v3, various Raspberry Pi’s, and now with the help of this nice little program, my Beep. Squeeze2upnp (sq2u) is as it says, “a bridge between LMS and uPNP devices”. It translates LMS instructions for UPnP devices. More simply, it makes my Beep appear as a playback device in any LMS app or webpage.

You can download Squeeze2upnp below, it’s precompiled for Linux and Windows. There’s instructions in the user guide on how to set it up and get it running. Make sure your Beep is playing while Squeeze2upnp is in “discovery” mode, and be sure to daemonize it with the “-z” option, otherwise CPU usage goes through the roof. You will also have to edit the config.xml file to support FLAC playback. Also, you may have to monkey with your firewall, I’m not sure what ports it uses, but it caused an issue for me. (more later).

to discover UPnP devices on local subnet and configure sq2u to play them:
./squeeze2upnp-x86 -i config.xml
to daemonize sq2u:
./squeeze2upnp-x86 -z

That’s it, give it a few minutes and your UPnp device will appear
Big shout out to philippe44 for his active development of the Squeeze2upnp program. I had an issue with it crashing, sent him a debug file, and all is now well. That’s the beauty of FOSS.

Update: philippe44 is currently working on a third-party plug-in for LMS that automates discovery and playback to your Beep inside the LMS interface. Check out the thread above at slimdevices.com for more info.

On the web
https://github.com/philippe44/LMS-to-uPnP

this is beep

Just before the holidays I received Beep, a $99 music streaming device. It’s a very simple thing, whose purpose is to provide wireless streaming capability to dumb systems, like a pair of powered speakers, stereo system, boom box, well, just about anything that has an audio input that accepts either 3.5mm analog or digital optical output. I especially like that last part, digital. The Beep runs on 5VDC, sports a metallic finish and consists of a large multifunction knob (start/pause/skip/stop/volume) and some cool flashing lights.

It’s controlled by an app, available on either Android or iOS, that also helps you setup the player on your network. When I first got it, Beep was pretty limited. I could play either Spotify or Pandora, or in my case, neither (because I don’t use either service), though it now also supports SomaFM radio. Okay, it’s still pretty limited. No support for Google Play, Amazon Music, that iTunes thingy, etc.
Screenshot_2015-03-09-17-01-40
Recently however, Beep have added support for DLNA music servers. This is great news, because I can now play all the music on my local media server via the Beep. In order for me to do so, I first installed MiniDLNA software on my Ubuntu box using apt-get, manually edited the config file to get it setup, and opened a few ports in my computer’s firewall, 8200 TCP and 1900 UDP to let MiniDLNA out. It would have been easier if the Beep would just connect to my Squeezebox Server (aka LMS), but it’s just not there, yet…

It would also be better if Beep were a little more stable, and transparent. Throughout the day it randomly lights up “smiley face” (looking for network connection) and “sun shining” (all lights glowing, who knows what this means). That’s ultimately going to be the hard sell on Beep: without a display, no one wants to decode blinking lights; what’s it doing? why is it doing that? It just needs to work.

To use Beep as a renderer (something that plays media from a DLNA server), I had to get another Android app, BubbleUPnP. It’s a fairly straight forward app, though I did have to install the “demo server” in order for it to find my MiniDLNA server. Not sure if this is me or the app, but it was not very intuitive to figure out. That done, however, I can stream my server’s music library to whatever I connect my Beep to.
Screenshot_2015-03-09-16-50-06

On the web:
Beep | Bringing music to every room in your home
MiniDLNA
BubbleUPnP Server

new year brings model b+, beep, chromebook

Happy holidays and all that. Xmas brought a few new electronics to the household, here’s a very brief recap:

Raspberry Pi B+ replaced the old model B. I have a feeling that the old one was a dud somehow because every time it had an unclean shutdown, I had to reformat the SD card. Anyway, in with the new out with the old.

I received my Beep unit just before the holidays, in fact, even before email notification of the shipment. But of what use is a music player – one that handles digital output btw – if there is not any software that can access the music that you actually own!?! In a box it will sit until I can use it with something other than Spotify or Pandora.

The Acer Chromebook is quite nice, though the keyboard takes a little getting used to. Supervised mode is a bust because although you can limit/restrict web access, it is not possible to allow a supervised user the use of apps or extensions.  Really Google?

gear…

10552619_587868511324026_138143329154628104_n

linux box, clean install

Hardware all happy, it’s time to do a clean install of Ubuntu 14.04 LTS. The most important step before installing is to get a complete backup and a list of applications/settings etc. before tearing down the old computer! It’s also a good time to think about your new system, so consider what needs to be installed, and what needs to stay backed up, and what needs to be forgotten.

After installing from disk and running apt-get update/upgrade, there are a few usability tweaks I want to do right away:
1. Add packages nautilus-terminal, openssh-server, numlockx, update-motd, weather-util, landscape-common.
2. Setup ssh keys for my hosted server, and secure sshd!
3. Disable guest login in lightDM.
4. Import bookmarks and set panel applets (this could be a lot easier Canonical).
5. Fix writing to USB drives, then flash motherboard bios (F9 to F12)
sudo hdparm -r0 /dev/sdg

Then,
1. Configure router DHCP to give computer a fixed IP via MAC address.
2. Set privacy options in Unity. Include Imageviewer and Movie ;).
3. Install firewall (using gufw).
4. The fstab entries: Mount my new media hard drive. Side note here, always, always mount these things to /mnt/. The /media/ directory is not for anything in /etc/fstab. My backup directory (which is on a NAS drive), I have to enable cifs-utils, and set the cifs password.
5. Restore data from backup, sparingly.
6. Install applications, ditto.

Music stuff:
1. sudo apt-get install eyed facc lame flac vorbis-tools moc sox
2. I also installed Audex, Banshee, EasyTag, DeVeDe, Asunder, VLC, Audacious and Audacity.
3. Reinstall Logitech Media Server, located here.

Webserver:
1. Reinstall LAMP. You’ll be prompted to set MYSQL password, so be prepared with the one for your old databases!
sudo apt-get update.
sudo apt-get install tasksel
sudo tasksel install lamp-server

2. Create empty MYSQL databases, then restore backups. It’s as easy as:
mysql -u root -p
Create database databasename;
exit

then
mysql -u root -p databasename < path/to/backup.sql
3. Copy website backup to /var/www (or wherever), fix permissions. Then set initial directory in sites-available/default.conf and restart apache2.
4. For Drupal, I need to install php5-gd and add cron.php to crontab. For clean urls, I need to enable mod_rewrite (a2enmod rewrite) and configure .htaccess by adding this to sites-available/default.conf:

<Directory /var/www>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
<Directory>

5. Restart apache2.

SSD:
Because I now have a speedy SSD drive (oh yes, it’s fast!), I read up on potential tweaks to improve performance and life of the drive. With 14.04, the trim command is executed weekly (/etc/cron.weekly/fstrim) by default. This is fine because my box is on 24/7, otherwise it should be moved to rc.local so it executes on boot. If you want to check if trim is enabled, try this script:
sudo hdparm -I /dev/sda | awk '/.*TRIM supported.*/{ if ($1 == "*") print "Yes, TRIM is enabled"; else print "No, TRIM is not enabled.";}'
1. Add noatime parameter to /etc/fstab for / to disable file read stamps.
2. Create a virtual file system with /etc fstab:
tmpfs /tmp tmpfs defaults,noatime,mode=1777 0
3. Then, move browser Firefox and Chromium caches to /tmp
4. Change swappiness? Actually I don’t use swap. RAM is cheap and faster!
5. Finally, I debated moving /home off the SSD, but couldn’t discern any benefit: I mean, every $$$ notebook ships with one, right? Easy to get sucked into all the tweaking… So I’ll opt for just paring down what’s in my home folder, and moving music, photos and videos to my /mnt/media drive. Heck I should buy another disk and create a RAID 1 for all that media…

Anyway, that’s got me up and running. Job complete.