Sunday, June 24, 2007

The Rube Goldberg-ian WMA to MP3 Converter

Since we've started using our new home NAS to consolidate and backup our media, I've also undertaken the task to convert my fiance's previous WMA media collection she had accumulated since we started dating. Some of our media devices already supported WMA, such as our Blaupunkt car stereo, and Panasonic DVD player, but the newest, an Ipod 5th gen, obviously wouldn't (well not out of the box at least). Even in the car stereo, however, WMA files never fully worked; tags were never read. So even though MP3s are as much proprietary as WMAs, and WMA has many advantages of its own, MP3's ubiquitous support has won my heart and hard disks. I'd like to believe that keeping OGG media around and supporting its file format by buying a player that supports it will change matters, but the winds of time are behind MP3. Soon enough, patents will expire on MP3.

I initially thought the task would be much easier; surely Google will save me by returning results for "WMA to MP3". Simple inexpensive commercial app links were returned, and they all seemed capable of doing the job, but I felt "icky" knowing that there had to be a GPL/GNU solution to easily do what I needed (or at least a "free as in beer" solution). I had faith I could find success using GPL tools such as mplayer, mencoder, and lame. And I was partly right; I found several examples of mplayer usage with lame in thier own Rube Goldberg-ian *nix bash scripts. So I had hope at least I'd be able to simplify or adapt these to a Windows environment.

I started using an all mplayer solution; pipe mplayer to mplayer or mencoder and be done with it! Eh, not exactly. I could get mplayer to output wav files though... or... to stdout... which lame can read! Well, that would be an awesome one line commando transcode, but I could never get it to work on Windows. I did find a patch by Slingbox that gave better support for stdin in mplayer or lame (I forget which now) which lead me down the path of trying to compile my own solution, but that got to be too much work. Plus, i realized that there doesn't seem to be much support for tags. And that's the rub; I'm an ID3 tag and filename freak. If I didn't appreciate metadata so much, I would probably wouldn't be writing this post, but there's just something I enjoy about a good ID3 tag.

So what did I end up with? Actually a couple of reasonable solutions. Now Winamp isn't free as in speech, but I am quite familiar with it and it is free as in beer-ish. The paid for pro version could probably do all of what I needed quite easily, and support my ipod, but here comes the icky feeling again. The free version does have a couple of great features though. It does have a built in transcode, and it does support a recent out_lame plugin. The transcode feature doesn't let you transcode to mp3 without paying for Winamp Pro, but there is a rather elegant hack of installing the lame ACM codec to add support to Winamp WAV ripping to convert to mp3. But after a couple of passes, it would crash, and I could only seem to get ABR support, not the full VBR I desired.

However, the out_lame plugin is quite nice. It will let you take whatever Winamp will play back and convert it to mp3, all according to what tags and filename features you setup in Winamp.
Now that alone is not very Rube Goldberg-ian, and I still had to at least drag and drop both the WMA files and output files, so I developed a couple of .bat scripts that when used with another Winamp command-line add-on called CLEveR, would allow me to batch convert every wma it found, using whatever lame VBR settings, tags and filenames of my choosing.

Would Rube Goldberg even know what I was talking about by now?

Saturday, December 9, 2006

Openfiler at Home

A few months ago, as I was anticipating my next move for my home NAS, i came across a slashdot poster's link to Openfiler . While I was originally going to use FreeNAS, i'm glad I saved that bookmark. The FreeNAS installer would not boot on my machine, and if it wasn't for Openfiler, I really wouldn't have a free web-based alternative that I could try turn-key.

Openfiler seems to have come a long way from it's 1.x days, where, if i'm not mistaken, it was a package to be installed on a standard linux install. At version 2.0, it was based on Cent OS, and now at version 2.1+, based on rpath. However, the features it now offers are way beyond Freenas. To me, that means it's getting leaner and meaner, and because it's used in production environments, by paying customers, reassuring.

Although it will take more disk space for an Openfiler install, I really think that's moot, at least in my case. A 32Mb install is great, but really, the cost difference in between a 32Mb compact flash and a 2Gb compact flash is not that inhibitive, especially when you have the ability for local authentication, raid 6, and lots of supported hardware.

Although my installation of Openfiler did have some hiccups, the support forums and irc channel had plenty of people willing to help. The web gui became very easy to navigate after a short period.

As for performance, I have only done cursory tests, but I have been very surprised at the speed. Both my workstation and the nas use run-of-the-mill rosewill gigabit PCI cards, and I have been able to make dvd isos move back and forth very fast. One thing I've found, is that any bottleneck that may exists (besides no jumbo packet support on my D-Link 4300 router), is probably due to my slower pata disks in my workstation, which steadily light their equivelent leds, while the server only blinks occasionally.

I still have lots of things to tweak on the server, such as the hardware monitor, and all the leds, which all blink in unison for some reason, but i'm very happy to have gotten this far, at the performance I was shooting for.

Tuesday, October 24, 2006

Gamble gone wrong

After a long debate on buying the Thecus 5200, an impressively built NAS bassed around a Celeron M, I decided I would instead use it as inspiration to build my own. Although it's plug and play, has gigabit ethernet performance, supports 5 discs and Raid 6, features high on my list, it is also a tad more expensive than what I believed I could spec out on my own. Plus, I wanted the experience of building my own always-on server.

I started out with an Icy Doc 4 bay backplane and a black Mapower 4 x5.25 bay external raid enclosure. One of my goals was to approach teh same size as the 5200, as well as create a look of a "just a bunch of disks" front facia. My first motherboard, an ASUS P5RD2-VM, was just a tad too big to fit in the enclosure without some heavy modification to both it and the backplane. I then exchanged it for a different Asus board, the K8N-VM, which is the smallest, least expensive microatx motherboard I could find. It didn't have the same exact features performance wise, but it was still workable. Or so I thought.

I tried several combinations of orientation, but nothing layed out well still. The motherboard would fit without modification, but because the case was never meant to mount a motherboard, it would have not mounted well on the little bit of metal to hang it on. Plus, the end of the enclosure would end up looking very ragged. So, I upgraded to the smallest, most reasonable looking microatx case that could hold 3 5.25 bays. The Athenatech A3603BB.400 is a good looking case, that sets itself appart in that sense. It takes the Icy Dock 4 in 3 backplane well, but as reviewers have noted, you can't use just any microatx motherboard, as the lowest 5.25 bay will probably hit. No problem, i have the smallest microatx board that appears to exist. Or so I thought.

I wouldn't be writing this now if everything was up and running. Instead, i'd probably be ripping my entire cd and dvd collection to my new fileserver. I used to think the Asus brand name was revered and sought after (I exaggerate), but I have come to realize I can't trust what even their own manual says, or the standards they say they support. This board does not have enough sata2 ports for my needs, but that shouldn't have stopped me, as it does have two pci-express slots, a 16x and a 1x. Using two run of the mill Rosewill sata2 pci-e 2port cards, I thought surely I could overcome this, and have extra sata2 ports to boot, especially since I could just use the onboard video. Not so, says Asus tech support, whom I called after the machine would beep with a 1x board in the 16x slot, regardless of bios settings. "Only a video card is supported in the 16x slot."

This seems to go against the pci-express standard, but that doesn't seem to be a concern with Asus, as they have other shoddy implementations on the board. Since I was also trying to boot from a CF ide adapter, I had to disable the udma options in the bios. Except that even if I disabled them, various flavors of linux insisted they were still on. I don't know who to trust, but i'm leaning towards linux gurus. It's already known that the linux acpi does not work well with Asus.

The tech support rep, although stumbling his way through an explanation, also led me to believe that their sata2 support does not support any type of switching used for port multipliers. I confirmed this looking up Nvidias 6100 chipset. If I had at least 1 sata2 port that did, i could use an add on switch that supported 5 disks, all at full speed. Simultaneously. My pci-express 1x card, however, does support port multipliers, so I still have that avenue.

So, now I'm fighting my way through any decent install of linux that I could at least test with. My original intent was FreeNAS, but I couldn't even get it installed, and even the developer suggests not to trust it's software raid. Openfiler is next, and if that installs successfully, I'll at least have a test bed to calcualte how far I may need to backtrack in design.

Friday, September 22, 2006

Mega Hurts

After multiple attempts to install Fedora Core 3 on the thinclient, including upgrading from a 1gb card(Transcend) to a 2gb card (riData), frying a cdrom trying to use the onboard molex, and an install bug that would send me in a loop if I was just a bit over the space limit, I finally got it installed(Yay!).

Then I found that there really is no margin to the processor requirements for skype and SkypeMate. Even though fc3 on the 266mhz Pentium Netvista with 256mb of ram is actually quite usable, Skypemate seems to take most of the cycles. Skype alone seems to do ok when up and running. I imagine that the overhead to use the B2k adapter as an audio device is just too much. It is also possible that if WikiPedia is correct about Skype doing constant writes to the hard drive, which in my case is a CompactFlash card, that could be slowing it down as well. I managed to call my cell phone and roughly get connected, but the sound was more than choppy. Either way, the results kept me quite bummed.

I still like the idea, and if nothing else, it satisfies my curiosity temporarily. I had never used Fedora or RedHat before, and it's a simple, if not too simple, setup (minus recurring bugs). I would like next to see if it is possible to bump up the systems processor, using an AMD K6. I just happened to find someone who has already done this and recorded it. Back to eBay!

Monday, September 11, 2006

Cheap Peeps

It's been a while since I posted but wanted to write a bit about most recent forray into Internet Telephony. I bought a usb to rj11 adapter a few months ago to try fax or data over Skype with my Dish Network receiver. I figured it would be a fun experiment, and there seems to be so much debate about whether or not data over voip is possible. Some Google searches say so using VOIP providers, but Skype is a bit different as I understand. Regardless, it did take up an afternoon of fiddling, and satisfied my curiosity. I put the adapter back on the shelf thinking it might come in handy sometime (even though we didn't own a regular phone). Sure enough, Eva found a use for it. After a couple of $200+ cell phone bills calling friends back in the midwest, I rigged up an inexpensive 900mhz phone with one of our workstations and taught her to dial out. With Skypes free skypeOut for the US and Canada until the end of the year, she should be able to save at least minutes, if not money (I hardly use my cell phone at all). I expect to try some international dialing to keep her connected to Paraguay as well. Don't expect the same quality using phone>adapter>wi-fi>internet. It appears to be too latent for good quality. So it hangs off of my wired desktop for the time being.

That got me thinking: wouldn't an always on thin client be the perfect application for this? My Netvista 8364 NUS has been gathering dust waiting for a nice touchscreen monitor to mate with it, so it might serve a better purpose serving Skype calls than just looking cool. There is some question as to if it has enough horsepower to not only run Fedora, but to keep skype going, but tinkering is what has got me this far. So, soon I will purchase a 1gb compact flash card and reference this guide to install Fedora Core 3, which apparently is the only linux that skypemate will install and work on.

Sunday, April 2, 2006

Damn Small Linux and the ThinClient

After finally locating a ps/2 keyboard in the dumpster (no, i wasn't specifically looking there, my neighbors were moving), I was able to try out my Netvista 8364. At first, the standard post screens looked quite normal: keyboard. check. Mouse. check. DHCP. check. But I soon got lost in what I can only describe as IBM menu hell. My only real aim was to try to boot from an external device, such as a cd rom drive or a compact flash drive, but it only wanted to boot to the network.

Finally, even after I scanned it before for pertinent info, i reread http://www.freegeekmichiana.org/netvista.html
and found the boot menu option I was looking for. Success! The boot from IDE option menu seemed hidden to me, but after I fiddled with it, I could now either boot from my attached desktop DVD-drive, or the CF adapter, which shows up as a hard drive.


A few hours later, it was up and running, with some caveats. As I learned later, the best instll method involves two partiions, one for the base install, and a backup partition for stuff you want to save across boots. Damn Small uses MyDSL, a nifty way to extend teh base install for users. It allows you to use and update the base install to boot, then add the components on the fly. So, to do a proper install, I will reformat and try again. The CF card does boot slower, truth be told, and I'm wondering if I couldn't try booting a bigger CF card. 128mb is tight when adding DSL extras.


For the most part, however, the only thing left in the hardware equation is a nice touchscreen LCD monitor.

Tuesday, January 24, 2006

Distro Decisions

Although I'm a big fan of various Linux distros, my Netvista 8364 NUS has sent me searching for the right one. Must work on older hardware, have some sort of desktop, and be able to boot from various media. I found it in Damn Small Linux, which has a number of extensions that allow you to modify what elsewise would be a standard LiveCD distrobution. Since I have no ps/2 input devices for the Netvista, i've been trying to create a frugal install on a new 128mb SimpleTech compact flash card via a Crucial Technology usb device, after booting off the live cd. It didn't take but one try for me to apparently "brick" the new CF card. Either the reader is not Linux friendly, or it was not done writing during install. Oops. I was confused to say the least, but now it doesn't show up in Windows, or when it does, it doesn't allow me to format it, giving "error in IOCTL call".

Although SimpleTech's tech support would not believe me that it was possible to put Linux on a CF card (?), the rep did say that they would RMA my product, just "Don't do it again". Not the type of geek advice I like. I'll try booting the netvista directly from CD-rom, and see if I can get it recognized there. Then maybe Linux will rescue me once again.