Every thousandth track from my library:
|How the West Was Won and Where It Got Us
|New Adventures in Hi-Fi
|Lesson 8 / Ex 3
|The Acoustic Guitar Method, Book 2
|Way of Woe
|The Jig Is Up
|Exercise: Changing Chords
|First Lessons Banjo
|The Edison Museum
|They Might Be Giants
|Got The Jake Leg Too
|Light Is Returning
|Rise Up Singing: The Teaching Disc O
|Rise Up Singing: The Teaching Disc J
|Bring Me A Leaf From The Sea
|Carolina Tar Heels
|Mountain Frolic (Rare Old Timey Classics 1924-37) – Disc D (1925-30)
|Window to Mars
|In a Cave
|The Book Of Doves
|O Holy Night
|Classic Carols (Piano-Vocal Harmonies)
|Teach Yourself Harmonica
|The Soft Machine
|The Soft Machine
|Shapes And Colours Game
|The Mayor Of Simpleton
|Upsy Daisy Assortment
|Everything Merges With the Night
|Another Green World
|Great Races – The Marathon
|Ivor Cutler, et al
|King Cutler, Part 6
|Coal Creek March
|His Folkways Years (1963-1968) Disc 1
|The Ghost You Draw On My Back
|Summer Make Good
|Tidy (Previously Unreleased Demo)
|Little Music: Singles 1997-2002
|First Lessons: Dulcimer
|On A Monday Morning
|Rachel Unthank and the Winterset
Well, not really that awe-inspiring. But it does show that the Sheevaplug boots and runs out of the box. Given that it has only 512MB of RAM and the same amount of Flash storage, it’s a fairly small system.
I really want to have this replace my Firefly Media Server installation on the laptop. First, I need to work out how to get it to boot from an external HD.
Someone asked how the automatic podcast works. It’s a bit complex, and they probably will be sorry they asked.
I have all my music saved as MP3s on a server running Firefly Media Server. It stores all its information about tracks in a SQLite database, so I can very easily grab a random selection of tracks.
Since I know the name of the track and the artist from the Firefly database, I have a selection of script lines that I can feed to flite, a very simple speech synthesizer. Each of these spoken lines is stored as as wav file, and then each candidate MP3 is converted to wav, and the whole mess is joined together using SoX. SoX also created the nifty (well, I think so) intro and outro sweeps.
The huge wav file of the whole show is converted to MP3 using LAME and uploaded to my webhost with scp. All of this process is done by one Perl script – it also creates the web page, the RSS feed, and even logs the tracks on Last.fm.
Couldn’t be simpler.
My music archive just hit 20K. The lucky track is Momus‘ I was a Maoist Intellectual.
Momus is giving away his albums that he did for Creation as an advent calendar. So far, he’s released The Poison Boyfriend and Tender Pervert; more to follow.
My home server went phut last week. There was a brief power outage, and everything else came back on — except the server. It was a three year old Mini-ITX box, and I’m casting about for ways to replace it.
To serve my immediate music serving and podcasting needs, I have pressed The Only Computer That Runs Windows into service, running Ubuntu using Wubi. Unfortunately, I do still occasionally need to run Garmin Mapsource, which only runs on Windows, and also The Only Computer That Runs Windows is also rather too nice a laptop to be sat doing server duty.
I have some options:
- Get a new motherboard for the mini-itx box. Via still has some crazy ideas about pricing (over $200 for a fanless C7?) but maybe I’ll go for Intel’s snappily-named D945GCLF, which looks okay for what I need and is only $80.
- I could resurrect the old Athlon box I got in 2002, but it’s big, loud, and its components are probably near end of life. Also, why disturb a mature spider habitat?
What I was really looking for was one of those tiny fanless internet appliance boxes that were so 2007 (like the Koolu and the Zonbu, both of which have moved on to other things), but such units, without the tied storage service contract, are upwards of $500.
My needs are simple:
- run Firefly to feed the Soundbridges;
- generate the automatic podcast every day, which realistically means a linux box with Perl, sqlite and the like;
- have something to ssh into when boredom strikes the need arises. Perhaps unwise having an open machine sitting directly on the internet, but only the ssh port will be open.
I really also need to get rid of all the computer junk in the basement. It now includes two fritzed mini-ITX systems and the world’s slowest PostScript laser printer. Such fun.
mp3 tagging is a minefield. Like all metadata, one has to balance obsession with detail against ease of acquisition.
Some Firefly clients are pickier than other about tagging. Regrettably, some of the music I get from emusic has bad characters in the tags, which throws the players right off. Finding the problem files is the majority of the problem – here’s a method that at least helps:
wget -O- http://host:port/rsp/db/1 | perl -pwe 's,<(?![/\?]),\n<,g;' > firefly.xml
xmllint --noout firefly.xml
You’ll likely get a few lines like:
firefly.xml:463415: parser error : PCDATA invalid Char value 65535
<title>ï¿½Singing in the Bathtub</title>
In this case, the song title tag has some junk characters in it that you’ll need to fix. After cleaning up the tags and rebuilding the database, try this process again to see if you’ve caught all the errors.
ffms2m3u – create playlist for all files on a Firefly Media Server.
If you run Firefly Media Server, you can run this script to create an M3U of all the tracks on your server. You can play this in most audio players; VLC likes it, as does iTunes (though big playlists take an age to load). Rhythmbox and the default Ubuntu Movie Player won’t touch my playlist of over 17,000 tracks.
To configure the script you need to edit three lines:
# where the Firefly database lives
# server domain name or IP address
# Port to talk to server - don't leave blank
If you’re running Ubuntu, you’ll probably only need to change the SERVER line. It spits the M3U playlist, ordered by album, to stdout. Note that in the default Ubuntu install, regular users can’t read the database file.
If you’re running this from a cron job, it’s probably a good idea to fill in the real paths for sqlite3 and awk.
1626 Artists / 1124 Albums / 17082 Tracks / 39.4 Days / 70.15 GB.
That was a lot of ripping.
1492 Artists / 999 Albums / 15245 Tracks / 34.9 Days / 62.12 GB
(and here’s me thinking I had about 2000 CDs, too)
CDs that wouldn’t read: 0 (so far). That’s not to say that there weren’t some difficulties (copy-controlled CDs can go die, glitching and gronking in my drives) and my oldest CD (XTC’s Skylarking, my copy of which I think has just turned 20) had a ton of retries.
Lost CDs: Thomas Dolby’s Aliens Ate My Buick is somewhere in the house, but nowhere I’ve looked.
Found CDs: My long-lost promo copy of the (Portland) Decemberists’ Picaresque, which I thought had vanished in a road trip to Missouri. It was lurking in a long-forgotten portable CD player in the bottom of a storage bin.
Pleasant surprises: that freedb is generally better than it used to be.
Peeves: copy-controlled CDs (see above); flappy cardboardy cases that only have the title on one spine; oversized CD cases (Japanese imports, I’m looking straight at you), dark blue text on a black background, idjit freedb submitters who insist on Band, The syntax or worse, submit whole albums called sdfsdf;aefhsdf; bonus DVD “premium” releases (who watches these?).
1332 Artists / 774 Albums / 12074 Tracks / 27.1 Days / 47.34 GB
— and the sad thing is, this would barely half fill a current iPod.
m4a2mp3 – convert AAC to MP3. Uses Perl, LAME and faad. Semi-gracefully converts weird iTunes genres to ID3v2, or to “Other” if it’s something else. Uses lame’s new VBR settings, so you end up with an MP3 not massively bigger than the source M4A.
PS: broke the 8000 tunes on the Firefly server …
Up to 7470 songs on the server last night. It’s mostly down to me importing all of my emusic tracks.
Now I’ve got the Soundbridge set up to share from my server, I’ve been ripping CDs like crazy. I’ve got two drives on my Ubuntu box, and hooked an external CD drive to my laptop, so I’m rocking four drives at once. After years of using Grip, I converted to Abcde this weekend. What I really like about it is that I can run multiple copies at once, and it very nearly things right (aka “my way”) out of the box.
By the end of tonight, I should have about 6700 tracks on my share, and a bunch of CDs in storage.
This is my work PC running Firefly Client, serving my music from home. Who needs to install and manage local music libraries now?
I just installed Firefly Media Server and it is good.