I have tomorrow (saturday) blocked out for a whole day of morituri hacking as I will be home alone.
One of the things a lot of morituri users are puzzled by is its relentless drive to extract every single sample of audio from the CD. Currently, even if it’s a really short pre-gap, and most likely just an inaccurate master or burn, with no useful audio in it.
For me, that was a design goal of morituri – I want to be able to exactly reproduce a CD as is. That is to say, ripping a CD should extract *all* audio from the CD, and it should be possible to make a copy of that CD and then rip that copy, and end up with exactly the same result as from the original CD. (I’m sure there’s a fancy scientific term for that that I can’t remember right now)
To a lot of other people, it seems to be annoying and they don’t like having those small almost empty files lying around.
So I thought I’d do something about that, and that it might be useful as well to analyze my current collection of tracks and figure out what’s in there. Maybe I can find some hidden gems that I hadn’t noticed before?
So I added a quick task to morituri that calculates the maximum sample value (I didn’t want to use my own level element in GStreamer for this as I wanted to make sure it was actual digital zero; this should be done in an element instead though, but I preferred the five minute hack for this one).
And then I ran:
rip debug maxsample /mnt/nas/media/audio/rip/morituri/own/album/*/00*flac
Sadly, that turned up 0 as the biggest sample for all these tracks!
Wait, what? I spent all that time on getting those secret tracks ripped just to get none? That’s not possible! I know some of those tracks!
Maybe the algorithm is wrong. Nope, it works fine on all the regular tracks.
Oh, crap. Maybe morituri has been ripping silence all this time because my CD drive can’t get that data off. Yikes, that would be a bit of egg on my face.
No, it works if I check that Bloc Party track I know about.
Ten minutes of staring at the screen to realize that, while I was outputting names from a variable from the for loop over my arguments, the track I was actually passing to the task was always the first one. Duh. Problem solved.
As for what I found in my collection:
- a cute radio jingle that brought back memories from a live bootleg I had made myself of Bloem. That’s from over ten years ago, but that must have been around the time I learned about the existence of HTOA and wanted to get one in
- found unknown HTOA tracks on Art Brut’s Bang Bang Rock & Roll, Mew’s Half the world is watching me; not their best stuff
- soundscapey or stagesetting tracks on QOTSA’s Songs for the Deaf, Motorpsycho’s Angels and Daemons at play And Blissard; not that worth it (the Blissard track was ok, but really quiet)
Pulp hid a single piano chord in a 2 second pre-gap on This is Hardcore; very curious. It’s not an intro to the first track, because it doesn’t fit with the sound at all.
- Damien Rice hid a demo version of 9 Crimes (the first track) in the pregap; instead of piano and female vocals, he plays guitar and sings all the parts.
- Got reacquainted with my favourite HTOA tracks: the orchestral quasi-wordless medley on the Luke Haines/Das Capital disc; the first Bloc Party album with a beautiful instrumental (up there with the hidden track at the end of Placebo’s first album; both bands delivering an atypical but stunning moodscape; the beautiful cover of Ben Kenobi’s Theme by Arab Strap on the Cherubs EP (no idea why that landed in my album dir, that needs to be fixed); the silly Soulwax skit for their second album.
Of course, Wikipedia has the last word on everything
I note that they think Pulp recorded a cymbal, not a piano. And now that I see the title of the QOTSA hidden track, I get the joke I think.
In total, on my album collection of 1564 full CD’s, I have 171 HTOA’s ripped, 138 tracks of pure digital silence, and only about 11 are actually useful tracks.
I expected to find more gems in my collection. I’ll go through ep’s, singles and compilations next just to be sure.
But with this code in hand, maybe it’s time to add something to morituri to save the silent HTOA tracks as pure .cue information.
For some reason this week turned out dEUS week at home in Barcelona. Ripping the deluxe edition of Worst Case Scenario that came with the DVD, I finally watched the ‘Time is the state of my jeans’ documentary about the album.
So I thought, why not go the whole hog, and use some dangerous pirate site to download the Belpop special about dEUS, and get through all of it.
The contrast between these two documentaries was very revealing.
The first one focuses only on the album, with interviews of the band members together, and they turn out very different than in the second where people were interviewed separately. In the joint interviews, you can see how Tom’s controlling side comes out and talks over the other people; maybe I’m reading too much into it, but you even see some of the band members bite their tongue and being reminded of why they left the band in the first place. It doesn’t paint as nice a picture of Tom.
The second documentary makes him look a lot nicer. They seem to actually show bits of the other interviews to each member, so they can still react, and usually it ends up with loud laughter. The stories are better too, the second documentary goes more in-depth. The international stars make a comeback experience, which I guess is unavoidable.
It’s fun to see the history from before the first album, and it reminded me of the first time I saw them – a little festival 20 km from my house in the sports room of a school, where they were the last band before headliner Nemo (who had just released their debut). dEUS in its early days was sloppy but dangerous – when you see the live recordings of that period of Suds & Soda for example, they mess up one of the two notes in the riff, mess up the rhythm and the phrasing, and so on.
The second documentary is full of funny moments. My favorite is when Rudy Trouvé talks about the EP after the debut:
“Tommy thinks that my sister = my clock really (long pause) made sure that a part of the audience tuned out. I think so too (starts giggling evily)”.
The Belpop documentary is definitely the better one of the two.
The bonus disc for the WCS deluxe edition is a nice collection of stuff I painstakingly collected at the time, just in time for our current music consumption culture. Kinderballade, their only dutch-spoken song (and one of my favourite tracks they ever did) was on a hard-to-find tribute album, probably made around my sister = my clock because the sounds are so similar, but beautifully done. Their b-sides from that album are plentiful and excellent.
The one answer neither documentary answers is the question I’ve always had about the debut album – why did the English version have a different tracklist ? For me, Via will always be followed by Let Go. Yeah, maybe Right as Rain is a better song, but it’s not right in the flow of the album. Same for Great American Nude – an amazing song, but after the 50 second splinter bomb of shake your hip (the real ending of the album to me), the only thing that fits is the completely atypical dive bomb djingle. Great American Nude brings the energy back up instead of doing something out of character to go back to the opening track. I just have no idea what was wrong with the original release.
I hope to get off planet dEUS by next week, but an album like this that hit when I turned 18 is going to be in my head forever. They were, and still are, an excellent band.
Here’s hoping that two years from now the WCS gang gets together again to play the album together. Come on Rudy and Klaas, give it a think.
After so many years, I also finally appreciate a track like WCS (First Draft). I used to hate that song, but today it’s one of my favorites. Time is the state of my jeans is as good a definition of time as time is what turns kitten into cats.
Since we are doing our yearly business planning weekend later this week, I had reserved the weekend to do work – mainly, put together eight (strike that, nine, our CEO added one at the 11th hour Sunday evening) presentations. But I wasn’t getting into the groove of things, and procrastination hit.
So I wondered, what’s the single most important thing that’s been on my mind and that I’d do right now if I didn’t have anybody else to answer to ?
And the answer was simple – I started another rewrite of DAD (Digital Audio Database) last year, this time based on CouchDB. I was in the middle of splitting up into a core (defining all base classes and simple implementations without any dependencies; for example, a pickle-based storage of the mixing data), a dadgst module (for a GStreamer-based player, since I will also have a pure web-based player), and a dadcouch module (for a CouchDB storage backend).
Before the split-up it was mostly a hardcoded GStreamer player playing from the pickle file, and a bunch of scripts to analyze files and put them into the pickle. I had not properly finished the CouchDB conversion – mostly, a bunch of methods that previously were synchronous now had to be made asynchronous with deferreds, and that was causing some conceptual issues (like, how to a lot of deferreds together – when chaining doesn’t work, and parallellizing brings down your computer).
So, that’s what I wanted to do this weekend first – get the couchdb backend to a state where it can select tracks slicing the audiofiles and providing the mixing information, and use the data from the old DAD database of now seven years ago. I want to hear those old songs again, according to my preference, and properly mixed. And with that in place, after a few hours of hacking, I could focus myself completely on the presentation preparing.
Well, completely except for the baby visits, the family lunching, and the pregnant friend visiting.
If you like looking at not-completely-finished-code that probably only I can get running usefully anyway, start here.
I am in Belgium this weekend for mostly one reason: The National were playing the AB, and it’s probably the last time I will see them in a smaller-than-2000-people venue. I actually had tickets to see Arcade Fire in Barcelona this same evening – but since they were going to play a 10.000 people venue, I preferred to go see the National instead.
For some reason this year the band really broke through. The concert was sold out in a day, and I’ve been getting asked by a lot of friends if I had any spare tickets. “But you’re always buying extra tickets for shows and you didn’t for this one ?” Yes, well, how could I know that out of all the bands I like you’d pick this one to like too ?
The boards were filled with requests for tickets, outside of the venue the streets were full of people asking if anyone had any left. It was one of those concerts booked right before a band jumps to the next level, and played when they’ve made the jump.
But I digress. High Violet didn’t grab me as much as Boxer did – although I don’t know if it’s because of the anticipation or because Boxer is actually better. I got lost in Boxer for two months straight.
When I saw them in London at the beginning of their tour they were just as good as any other time, but it was obvious the new songs weren’t road-tested yet and didn’t fit into the set that well yet. It wasn’t for lack of trying – I remember Matt climbing off stage, into the audience, and then up the rafters of the Royal Albert Hall. They just didn’t have the sound of the new songs down yet live.
This summer at Pukkelpop was good too, but a band like the National really needs a dark closed room.
I missed the Club 69 National concert of a few weeks ago – I have to admit I would have killed to have been there, but my life has changed now…
And then yesterday hit. Their sound was spot-on right from the beginning. This was the first show I’ve seen without Padma. His duties were mostly taken over either by the horn section (which was beautiful) or by Aaron or Bryce taking over keys. Matt was in great form, Aaron spoke French a lot and Matt interrupted him continuously. At one point Matt asked Aaron ‘say something in French again, it sounds so cool’ so Aaron thanked us in French, the audience cheered, and Matt said something like ‘I don’t know what you said, but you really brought it home.’
Really good set list too – finally got to hear Daughters of the SoHo Riots, which was beatiful live. They surprised me by throwing out Available/Cardinal Song from Sad Songs For Dirty Lovers. I would have gone with Slipping Husband (which I only recently learnt has a small snippet of ‘Don’t forget the alcohol, ooh baby’ as a nod to Afghan Whigs’ ‘Milez iz Ded’) myself, but hey, Sad Songs has a few gems on it and this was one of them.
Glad to hear About Today again, that song just hurts in all the right places. Right before K broke up with me I made a mix CD, and a live version of this song is on there, for the fantastic line of ‘How close am I/to losing you?’ Very, it turned out a few weeks later. A gentle wind of a song that picks up steam in the end and explodes into a gutwrenching whirlwind.
This must be the first National show I saw where they didn’t play Abel. I’d gladly trade the excellent Mr November for Abel any day.
All the High Violet songs have evolved live, all for the better. Some new guitar lines in some of the songs, a better drum pattern, whatever they did, it worked. My personal favorite, Conversation 16, sounded excellent. Matt’s intro was hilarious – he said something like ‘This song is about cannibalism. Most of the lyrics were written by my wife. When she was in college she ate people. I’m cool with it. It’s good she’s not here today.’
Fake Empire was beautiful with the horns. Aaron played both the waltz and 4/4 bits with both hands, I have no idea how a human being can keep up two different rhythms like that, and it looked awesome.
They ended with an acoustic version (no mikes!) of Vanderlylle Cry Baby, probably my least favourite song on the album, but it worked very well like this, and the audience sang along the whole song.
Last week in Barcelona I went to see Greg Dulli in a 250 people club and got to talking to their webdesigner, who asked me what else I was going to see soon. When I mentioned the National, he said ‘Oh, they’re great, they played here, once for 25 people and once for 60 people’. Jesus Christ – I wish I’d been there.
I’ll probably next see them in May 2011 when they play Primavera festival in Barcelona.
If you get a chance to go see the National live, make sure you do – they are at the top of their game right now. I’d love to hear more Alligator or even some more stray first two album tracks, but my mistake for missing out for so long.
Next Page »
I’ m finally making some progress on one of my 2010 goals – making a Lego robot that can take CD’s and feed them to my computer to rip.
What am I trying to do ?
I’m making a computer-controlled robot out of LEGO that will allow me to rip multiple cd’s onto my computer, using morituri.
The goal is:
- to use Lego Mindstorms for the robot
- only use regular lego pieces, like Technics, for everything else
- work with my computer, but preferably with any
- rip 50 cd’s or more in batch
I’ve been asked a few times why I’m doing this. The main reason is because by now I own over a thousand CD’s. I have most of them ripped by hand to Ogg Vorbis, but disks are big enough these days that I really want to rerip all of them just once to FLAC. I’ve spent quite some time writing an accurate CD ripper for Linux, and I want to have all my audio CD’s in correct digital bytes on a computer, so I can use the files to transcode to whatever format is useful for whatever player I’ll have.
This probably sounds strange, but a while ago I got to wondering what I would not like getting stolen from my apartment, and my CD’s are pretty high on that list, if not number 1.
Some people ask ‘why not just do it by hand? You’ll probably get it done just as fast as it would take you to make the robot.’ I guess people who ask that question don’t understand the joy of making something. But there’s another reason to do a robot – I’m planning to offer my friends a remote digital backup of their music. Ideally, I could drop this robot off at a friend’s house with a Live CD and some instructions, and I would then transcode their music for their iPod or whatever they have. And keep an offline copy at my place purely for archival reasons, of course.
In any case, I am working on my first attempt at robot after building two of the sample ones from mindstorms.
The base mindstorms set is a bit limited piecewise, so I started by getting a really big Technics set that has sawtooth pieces (because that’s the mechanism I wanted to try to use for the CD loader)
After looking at a few other approaches out there, I decided I wanted to try one of my own before trying to reproduce someone else’s.
After lots of thinking and discussing with some friends, the following ideas fell into place:
- If I want 50 cd’s at once, grabbing one is going to be a problem. After considering pneumatic pumps, arms, some fingers going through the middle and opening, or a wheel at the top of a stack, I went for a simple approach using the sawtooth pieces to space the cd’s, and a little axle going through the middle
- Peter had a great idea to use a USB drive – this way the robot is self-contained and should work anywhere with any computer
- I wanted to use the CD drive itself as much as possible, so I came up with the idea of rotating the CD drive, so that I can drop ripped CD’s by ejecting the CD when it’s 180 degrees rotated. I also want to insert the CD when the drive is either at 90 degrees (facing down) or some other angle, before loading it.
- Mindstorms has 3 motors, so you can roughly (without weird tricks) create three kinds of movements. So I’m using one to pull in the CD rack, one to rotate the first CD 180 degrees into the drive, and one to rotate the drive after ripping.
Here’s the CD loader I made; it doesn’ t fit 100% but rubber bands finish the job for now. I’ll need more sawtooth pieces if I want to load 50 cd’s – anyone know where to get some ? The LEGO site doesn’t sell those pieces individually.
This was with 2 motors but without CD drive; it already has the mechanism to pull in the CD rack, and the axle (with wheel rim) to pick up the first CD in the rack. It’s mounted on a touch sensor so I can stop pulling in the rack when the rim hits a CD. The motor will then rotate the disc 180 degrees around the axle of the sensor, and drop it into the CD drive.
This is the first complete build that I finished tonight. The CD tray is mounted and opened so you can see where the CD is supposed to go. After loading, the CD drive would rotate back to horizontal, then eject the CD the other way around to get rid of it.
I thought I was ready to start trying it for real, but when I went through the process by hand, I noticed two pretty fundamental problems…
First of all, the external drive I used is one of those where you have to firmly press down on the CD so that it fits tight around the round bit in the center. My robot cannot press down. It would be very wobbly anyway because at the point where it hits the tray the CD reader is floating at an angle.
Second, it seems this external USB CD reader has no way of triggering a load electronically, something I had not thought of. It turns out most external drives don’t, and again, my robot cannot press on the tray to close it.
So, I guess tomorrow I’ll try to shop around for external USB CD readers that can eject and load electronically, and that have a normal tray in which I can drop the discs, like my desktop PC’s have.
Backup plans are:
- Getting one of those hoover CD readers, that suck in and spit out CD’s. There again I don’t know if you can spit out electronically.
- Getting one of those 3.5 inch carcasses and put in an internal CD drive. That will probably make it really heavy though, so that might give stability problems with the robot.
If any of you out there know about an external USB CD reader that has computer-driven eject and load, please let me know! For example, this LaCie Lightscribe drive looks like it might be one that would work – if you have it, let me know.