Road Trip Playlist – for the way home, 2015

  1. In The Bleak Midwinter — Kith & Kin
  2. Jed’s Other Poem (Beautiful Ground) — Jason Lytle
  3. The Ballad of Mr. Steak — Kishi Bashi
  4. Baby, We’d Be Rich (Cuss Version) — Old Man Luedecke
  5. Arms I Know So Well — Emma Ruth Rundle
  6. One Nation Under A Brolly — Trixie’s Big Red Motorbike
  7. Guantanamera — Holly Near, Arlo Guthrie, Ronnie Gilbert, Pete Seeger
  8. Takeshi and Elijah — The Music Tapes
  9. Gone Beyond — Akron/Family
  10. Green, Green Rocky Road — Dave Van Ronk
  11. Same Old Man — Holy Modal Rounders
  12. One More Robot/Sympathy 3000-21 (Album Version) — The Flaming Lips
  13. Oh God, Where Are You Now? (In Pickeral Lake? Pigeon? Marquette? Mackinaw?) — Sufjan Stevens
  14. Thumbtacks and Glue — Woodpigeon
  15. Long John — Holy Modal Rounders
  16. The First Day of Winter — Ivy Mairi
  17. Baby Bluejay — Poopy Lungstuffing
  18. A Pickle and Two Pearl Onions — The Golden Motors
  19. Delicate Cycle — The Uncluded
  20. Tongues — Ty Segall & White Fence
  21. Plastic Jesus — The Flaming Lips
  22. Highwire — Tall Tall Trees
  23. Roo-Buh-Doo-Buh-Doo — The Statesmen
  24. Nitrous Gas — Frightened Rabbit
  25. John Hardy — Silver Apples
  26. Water Fountain — Tune-Yards
  27. The Ghost in You — Robyn Hitchcock
  28. Since Yesterday — Strawberry Switchblade
  29. When the Levee Breaks — Memphis Minnie
  30. Un — Y Niwl
  31. I Wear Black — Ty Segall & Mikal Cronin
  32. Never Let Me Go — Basia Bulat
  33. Stop Error — John K. Samson
  34. Desiree — The Left Banke
  35. friend — bo en
  36. Forked Deer — Sheesham and Lotus
  37. Send Them Kids to War — The Burns Unit
  38. Shanzhai (For Shanzhai Biennial) [feat. Helen Feng] — Fatima Al Qadiri
  39. 8 bit Blues (Chicago to LA to NY) — Kid Koala
  40. Biscuit Roller — Peter Laughner
  41. Walking on the Moon — The Police
  42. aisatsana — Aphex Twin

spiff with a silent X

I’ve been playing with XSPF, mostly so I can use the XSPF Web Music Player. There’s a Perl API for working with XSPF (XML::XSPF) which works well, but is extremely short on documentation.

Creating a playlist with XML::XSPF is pretty logical: create a new track object for each new track, then feed an array of these tracks into the playlist object. It took me a couple of hours of fiddling about (and much use of Data::Dumper::Simple, the plain man’s guide to tortuous data structures) to find that out.

The end result is this:
id32xspf – create XSPF playlist to stdout from a list of MP3s with ID3v2 tags.
It’s intended for use on a local directory of MP3s, which will subsequently be uploaded to a website. It uses MP3::Info to do the tag work.
It has some limitations:

  • every file must have ID3v2 tags.
  • it doesn’t handle file:// locations at all well, as their syntax is system-dependent. You’ll probably have to use the --urlbase option. For example, for Unix systems for local files in the current directory, I find -u file://`pwd`/ works well.
  • it doesn’t include track numbers, as I didn’t know that XSPF supported them.
  • it doesn’t create track artwork links, as this isn’t included in ID3 data.

One slightly amusing caveat about the XSPF Web Music Player is that it doesn’t understand the rate of some of lame‘s more amusing VBR presets. If you feed it files from the voice preset (56kbit, mono, resampled to 32000Hz), the results sound like Pinky & Perky