In an online-community that I belong to, some slick folks like to upload their work at a constant bit-rate for speech. That's not bad in itself, but when they do this at 192kbps or yes, even 320kbps that's just uncessary. Still though, that's the only format they put up for us, so what little choice I have. I started transcoding a few of my favorites down to the LAME VBR preset V8. It's perfect for speech in my opinion. The bitrate usually averages below 64kbps, but there is still plenty of headroom when it needs it. So, that's what I was doing to save myself some space (because 30 hours of speech at 320kbps is considerably large) and others download time. The problem is that even though my CPU will happily churn out 60 seconds of transcode per second, 30 hours still takes a long time at that speed.
LAME is not multithreaded. There is a multithreaded version of it, but it violates the integrity of the audio quality. So, I wrote a little utility to use both of my CPU cores, to give an speed doubling effect. It was all hardcoded at first (meaning it would only run on my system, or someone who likes to organize things exactly like I do). Looked like this:

the very first builds were hardcoded with settings the way I liked
them, and drives & folders where I put them. It was also slow,
showing only a 30% increase in speed.
I did some bug fixing and wound up rewriting it to work on any PC that can run the .NET 2.0 Framework. I've tested it on a single core Althon Thunderbird XPSP2 machine and a dual-core Vista machine. It seems pretty stable right now. I don't have a quad-core machine so I didn't bother added support for more than two CPUs. But, if anyone has one and will be willling to let me know when things go wrong on a quad-core setup, I will be happy to add support for them. If you have two harddrives (or more I guess on a quad setup) it will use them to reduce disk-fragmentation.
It's working as far as I can tell...but I won't release it today. Maybe in a day or two, there are some things I want to add first. There's no tag support, but I will add that after the first release.
Here's how it looks at the moment:

click to enlarge

50% & 50% is 100% - Nearly a 100% speed boost with one extra core. Each extra core
will be an additional 100% increase (compared to not using the utility). It'd be fun to
watch it run on an octocore Phenom or whatever is coming out next.
Be the first to rate this post
- Currently 0/5 Stars.
- 1
- 2
- 3
- 4
- 5