A Django site.
July 26, 2008

Hans Fugal
no nic
The Fugue :
» On Rolling Cables

Have you ever rolled a cable? Maybe I should ask, how many cables do you roll a day? Don't forget the headphones, laptop power cord, extension cords, hoses, etc.

And what happens every single time you go to unroll one of these cables? They get all tangled up. Guaranteed.

Well it doesn't have to be like that. There is a simple way to roll cables that is easy, avoids tangles, and lies well. Well, actually, two ways—one for big cables and one for small ones like headphones. Oh, and did I mention it's good for the cables, and the way you have been doing it is bad for the cables?

For the big cables, watch this video. Go on, I'll wait.

For small cables, like headphones, raise your index and pinky fingers and wrap the cable around them in a figure eight. The figure eight nature does the same thing as the over/under technique for larger cables, preventing tangles, and it also makes a nice compact easy-to-stash roll. See this lifehacker article

July 14, 2008

Clint Savage
herlo
Sexy Sexy Penguins » Tech
» What I’ve been up to lately.

Well, its been more than two weeks since my last post about FUDCon.  I figure its high time I posted something about what’s been going on in my neck of the woods.  Things have been quite busy and are bound to continue at this phrenetic pace for a bit longer.

DarkIce - Audio Streaming

I’ve been working this past week on getting darkice packaged for Fedora.  Darkice is a front end audio recording tool for streaming servers like Icecast.  I much prefer it over ices and any other streaming client I’ve tried.  It does have bits for mp3/mp2/faac as well as ogg/vorbis, so I’ll be packaging it for only the latter.

It seems rpmbuild is a bit more cryptic from my last foray into building RPMs and I have to hunt a little harder for the libs and the binaries.  Its coming along nicely, now that I have my virtual machine back in place.  I’m also hoping that darkice will be easy to integrate into Fedora Talk as I’ve never dealt with the asterisk end before.

Utah Open Source Conference

This past weekend, we spent a good bit of time reviewing and selecting presentations for the Utah Open Source Conference.  I am the head organizer and founder of this all volunteer conference. In fact, our very own FPL, Paul Frields will be keynoting on Thursday evening.  Keep an eye on this blog for future updates about the conference.

A New Interest

I’ve recently started to see someone of the female persuasion.  Many of my friends have met her, and I’m guessing they like her as I do (well, not quite as much).  Here’s hoping things go well with Jennifer

There’s more here, and I’ll try to be more vocal about it as I think its good to share.

Cheers,

Herlo

July 10, 2008

Hans Fugal
no nic
The Fugue :
» k20

I finished the promised K-20 meter. I imaginatively called it k20, and you can find it at http://hans.fugal.net/src/k20. Here's a screenshot:

k20 screenshot

From left to right, read average (VU), peak (instantaneous with 26 dB / 3 sec falloff), maximum peak, and overs.

This is pure unadulterated printf() abuse. No ncurses. Not that I have anything against ncurses, just that I'm lazy. Of course you need an ANSI capable terminal, but I'm sure you can find one lying around.

July 9, 2008

Hans Fugal
no nic
The Fugue :
» dB and Gain

I've been studying up on audio recording on the web, so that I can make decent recordings for my research. Making good recordings is a lot more involved than you might think. One of the perhaps needlessly overinvolved aspects is understanding gain.

A microphone detects sound and produces a faint electrical signal, usually too faint for practical use. So, the signal is amplified. But if you amplify the signal too much, you get distortion. Once the signal passes from the analog to the digital domain, you have forever lost some information, so the natural thing is to get as much gain as you can before the A/D conversion.

So how do you know how much gain is enough but not too much? A good indicator is a peak meter. Here's a picture of an analog peak meter (called a PPM):

PPM

In the digital world, the practical equivalent looks something like this:

DPM

We'll ignore the wacky scale on that analog meter for now. Notice the scale on the DPM—it goes from 0dB at the top to about -70dB at the bottom. Now, decibel (dB) is a ratio, meaning it has no meaning without some reference point. In this case it's actually dBFS (dB full scale), calculated as dBFS = 20log10(|x|/1.0) when representing samples as floating point numbers between -1.0 and 1.0. Whatever you divide by inside the logarithm is your reference. You would divide by the maximum sample value if you were using fixed point or some other representation. So our reference is 1.0, aka full scale. Since we can't go over full scale, all dBFS numbers will be less than or equal to zero.

So, if you record such that you are just below 0dBFS, you are using every bit of quantization to its fullest. The trick is that you often don't know just how high the maximum peak will be (unless perhaps you're recording something repeatable, like playing back a tape). So, you need to leave a little headroom in case you have some peaks that are larger than average. How much headroom to use is hotly debated, but really it is just a function of the kind of thing you're recording (and the environment in which it is being recorded). There is no substitute for experience here. Here's a hint: record stuff with plenty of headroom, find out what the maximum peak, and calculate how much extra headroom you have. Do that a bunch, and you will begin to get an idea of how much headroom you need.

Or, don't record that stuff, just watch a meter. Good digital meters will have a resettable maximum peak indicator.

But there's more. The peak isn't a good indicator of how loud it is. Loudness is perceived more closely to the average signal amplitude. The most common way to calculate this is Root Mean Square (RMS): sqrt(sum(x)/length(x)). A common meter which measures loudness (although it doesn't measure RMS, exactly) is the VU meter. You may have seen it:

VU meter

The VU meter does not measure peaks, but it does measure loudness. But there's a trick. 0 dB is not 0 dBFS, but rather 0 dBu, which in turn is usually 4dBV. Those are electrical voltage references for the analog world. In this world, you aim for 0dB to be "forte", and it's ok if the meter occasionally goes higher than 0dB. Remember the wacky scale on the analog PPM meter? It reads dBV, i.e. 4 on the PPM is 0 dBu (but the marks are usually 4 dB increments, so 5 on a PPM would be +4 dBu).

So how do we relate these to the digital world? Well that depends on your ADC. In practice there will be some variation in how the same strength (dBu) signal is converted to digital, although the variation is probably not too great. The important thing is to use the proper meter. When you're doing a digital recording, the proper scale is dBFS and it's irrelevant what analog signal you need to get the dBFS you need. Not entirely irrelevant—you want to make your signal hotter earlier because that reduces the noise introduced by each component in the system, but ultimately how much gain you apply (early in the system) is governed by your digital meter.

But wait, aren't most digital meters peak meters? Yes, but there are loudness meters if you look for them. On Linux and OS X with JACK, look at jmeters (a derivative of the neglected meterbridge). At the time of this writing they it has VU and PPM meters, though you will have to play with them to get the hang of their reference points. Or I could walk you through it.

Go grab some calibration tones. Included in the zip available there are 1kHz sine wave at -20 dBFS RMS and various pink noise tones (different bandwidths) at -20 dbFS RMS. But wait, what's this?

octave:1> [x,sr] = wavread('1khz sine wave -20 dBFS.wav');
octave:2> 20*log10(sqrt(sum(x.^2)/length(x)))
ans = -23.322
octave:3> [x,sr] = wavread('PINK NOISE FULL bw -20 dBFS.wav');
octave:4> 20*log10(sqrt(sum(x.^2)/length(x)))
ans = -22.908

Gee, looks like those are -23 dBFS RMS doesn't it? Well, technically they are. But here's the rub: the smart people at the Audio Engineering Society declared that in the analog world we should measure a sine wave with -20dB peak as -20dB RMS, i.e. a sine wave has the same measurement on a peak and AES-17 RMS meter. Whether they originated this or it came from history I don't know, but probably the latter. So, since a sine wave has about 3dB crest factor, these test tones have -23 dBFS true RMS, but -20 dBFS AES-17 RMS. Confused yet?

So we fire up jmeters -t vu x and jmeters -t ppm x, then hook up the JACK connections and play the sine wave. The VU meter settles nicely on -10 VU and the PPM reads 2. So it would seem that Fons has decided that 0 VU should be -10 dBFS, which gives 10 dB headroom. The gain is adjustable if you don't like that choice, by the way.

Ok, so now you know enough about meters to be a little dangerous. Now let me throw another wrench in things. Let's talk about mastering. After you record all the tracks, you need to mix them together into songs and then finally master the album. Mastering is (to oversimplify) all about loudness. You want the songs to all fit together when you play the whole album. You don't want some songs to sound too loud relative to others. Ideally, you'd want all albums to have similar loudness. But you and I know that isn't usually the case. This is the result of the "loudness war". Over the past 20+ years, albums have been getting louder and louder and louder. Everyone wants the loudest-sounding album. Everyone wants to be the baddest.

And bad they are. audio engineers have always mastered to take full advantage of the medium. You can count on the highest peak usually being right up to the clipping/distortion threshold. It's only right. But then how do things get louder? Dynamic range compression. I won't go into the technical details of how it works, and I exhort you to read up on it. Just Google loudness war. Suffice it to say compression brings the peaks (and valleys) closer to the RMS. The loudness war is a crying shame. So much music that could sound so good sounds so terrible because the life has been compressed out of it.

So what does this have to do with metering? Well, the whole point of this post is to inform you of the K-System meters. A smart audio engineer by the name of Bob Katz (author of the newest book on my wishlist, Mastering Audio) proposes this system which borrows from history and other industries that have standards which have protected them from the loudness wars. He proposes 3 meters, the K-20, K-14, and K-12 meters. The number is the amount of headroom above 0 dB, so a K-20 meter will set 0dB equal to -20 dBFS, and 0 dB again means "forte". Then, you calibrate your studio monitors such that pink noise that reads 0 dB RMS gives 83 dB SPL (sound pressure level) to your ears. You need fancy equipment to do that, but unless you're mastering in a studio (in which case you have the fancy equipment) it doesn't really matter. The CD has dB FS, not dB SPL. If everyone did this, even if everone calibrated "forte" to -20 dBFS, all the CDs would sound about the same loudness, there would be plenty of dynamic range to make the music come alive, and the world would be a happy place.

I have talked to Fons and he has been working on a K-20 meter for jmeters. I've also been writing one with a simple printf display, which I will make available once I get it working properly. The take-home lesson is to record such that your highest peak is as close to 0 dBFS as you can get without clipping, and master to forte (83 dB SPL) at -20 dBFS RMS.

But there's still that question of headroom. Why not just adjust the gain so that forte is -20 dBFS RMS and be done with it? I'm not implying you wouldn't have to master to get a professional-sounding recording (mastering is more than just adjusting gain), but that it should give you a nice volume with enough headroom. I think it's a great idea. I'm glad I thought of it (though I'm sure I'm not the first). But make sure you're using as many bits as possible for quantization, preferably 24 bits, since you are potentially sacrificing bits for extra headroom.

I hope this little treatise was interesting and/or useful. To learn much more, I recommend starting at Bob Katz' articles on level practices.

June 29, 2008

Clint Savage
herlo
Sexy Sexy Penguins » Tech
» FUDCon F10 Boston, One Week Later…

So I am sitting in my hotel in Los Angeles, preparing to head back to Utah, its 2:37am PDT and I have been meaning to post the rest of my experience at FUDCon.  First off, I’d like to thank Mo and Ray for letting me stay at their home with them.  They were great hosts!  I’d also like to re-thank Max and Paul and the FedoraProject for sponsoring me out to Boston on such short notice.  I still feel grateful to be part of such a great community!

FUDCon F10, for me, was a time of realization.  Understanding what it is to get involved in projects that scratch that itch.  For providing services toward something I’m good at, into a larger community who could really take advantage of that service.  And while I am still feeling my way through the Fedora world, I think a few things are clearer now after reflecting on this last FUDCon.

I want to record and stream audio and video.

I’m thinking that along with the Fedora Talk project, I could configure and use tools to provide a non-interactive streaming server for certain events/presentations.  What I am thinking of here is things like FUDCon keynotes and sessions.  In fact, I plan to purchase a higher quality microphone / mixer combo to better record the audio at the source.

Video and screencasting in real-time seems a bit more of a challenge.  Putting that together with the streaming audio seems like a fun project and scratches several itches I’ve been experiencing lately.

I need to learn how build better RPMs

Spot taught a great session at FUDCon F9 in Raleigh about RPM packaging, and Rex Deiter talked this time about becoming a package maintainer.  I’ve got a few packages that I’d like to get into the fedora tree, and I think by the end of this year, that can happen.  I’m okay at packaging, but haven’t ever submitted a spec file to spot.  While I’m nervous about how ugly the first package will look, I’m also excited at the prospect of learning better and more efficient ways of building useful tools for the masses.

I think everyone should build their own spin of Fedora

After the 5+ hour session on Friday’s hackfest regarding the spins website and what the spins SIG has already accomplished, I’ve taken some initiative and started to create content to help the prospective spin enthusiast.  I’m a big fan of the Eee PC and am looking forward to purchasing the 901 in the winter.  Until then, I’m planning on helping improve the spin process so we don’t fail to release spins again.  The custom and official spins ‘built with Fedora’ can be so much more prolific if we just provide the right tools to build a spin.  It really should be nothing more than, here’s my kickstart, build me an iso.  This would of course have to follow the general standards for acceptable software.

The relationships (FUDBuddies) made at FUDCon are up my alley

I met Rex Dieter, Mo Duffy, Ray Strode, Dennis Gilmore and Ian Weller this time.  We had great conversations about the world and of course Fedora.  I also got to talk more to Toshio, Greg and J5 who I had met previously at FUDCon F9.  I indeed learned a bunch from Toshio about TurboGears too.  Its something I’ll treasure for releases to come.

To end this post, I’ve got some audio of the olpc session and paul’s keynote, as well as some photos I’ve posted around the interweb, enjoy.  Paul’s keynote will also be up on our new FedoraTV Miro channel, check it out!

Cheers,

Clint

June 15, 2008

Clint Savage
herlo
Sexy Sexy Penguins » Tech
» Anyone have a spare $600?

Welcome to my disappointment.  Welcome to my frustration.  Welcome, welcome to my not being able to attend FUDCon!  Did I mention I was frustrated and disappointed?  Well, if I didn’t, I am!

Here’s the story.

Many of you probably know that I work for Guru Labs, and as such, I teach Linux for a living.  This coming week, I was on my way, I really was, to New York City to teach a Local System Administration class.

It was all set.  I was going to fly from NYC to Boston on Friday afternoon after my class.  The room was booked at the conference, I even had committed to helping do video recordings of each of the FUDCon attendees (something like 150 of them) on cheese.

Then Friday the 13th happened….

Normally, I like Friday the 13th, and with the exception of this event, it was a great one.  At the last minute, I was informed the class had been cancelled.  Now, this isn’t an abnormal thing and usually I’m not this upset about a class being cancelled.  Saying that means I was banking on some things which normally pull through, but they didn’t  All in all, I’m only frustrated that I can’t go to FUDCon!

I tried hard to still go.  In fact, I finagled and attempted to convince any of the other instructors I could into letting me teach their class.  I hit up my friends for $600, all to no avail.  The cost of the hotel was $400 already, adding another $600 is not in my budget, I’m afraid.  And people say that airlines don’t make any money!

So I will miss you all and the wonderful barcamp sessions I was planning on attending. I’ll miss Paul’s first State of Fedora address.  I’ll miss chatting Seth up about yum, Spot about RPM and politics in general, or Michael about cobbler and func.  In fact, I wanted to spend a bit of time talking with Jef about video and gstreamer, but I guess I’ll just have to wait until FUDCon F11 in 2009 :(

Could someone video record each of them and post them?  Or at least the audio?  Hehe, I know that’s a lot of work, but hey, it can’t hurt to ask.  In fact, if you are willing to stream audio, I have an IceCast server and I’d be happy to help configure your client to accomplish this task.

Cheers,

Clint

June 4, 2008

Hans Fugal
no nic
The Fugue :
» PulseAudio as a JACK Client

I spoke too soon about not being able to get PulseAudio working as a JACK client. I found this post that tells you how to do it.

The key I think is chmod -s `which pulseaudio`. I didn't have to start the JACK transport rolling, so that may be antiquated information. I did have to build some packages from source, though:

sudo apt-get build-dep pulseaudio
sudo apt-get install libjack-dev
fakeroot apt-get source -b pulseaudio

This creates a bunch of .debs, including pulseaudio-module-jack*.deb. I just installed them all, but you can probably just install the jack module deb. Make the changes permanent by putting them in ~/.pulse/default.pa or in /etc/pulse/default.pa and you're in business.

March 31, 2008
» Create a Web-Based Audio File Manager and Audio Server with Ampache

Today I finally replaced my out-of-date streaming music server with something a little more recent.  I had long been using gnump3d, and even wrote up a tutorial on it some time ago.  Development on the project has pretty much died off completely and even though it has worked great for nearly three years I felt it was time for a change.

I replaced the gnump3d service with Ampache, a PHP/MySQL based audio file manager and streaming server.  It looks like it has a lot more features than gnump3d had, but then again its also getting a lot more attention.  So, without further ado here is how I setup Ampache to allow me access to my .ogg collection via the web.

Installing Ampache via PPA

First I’ll outline how to install Ampache via the Launchpad PPA.  This will make the process much simpler, if you’re the type that is willing to use a PPA.  If not, read below for the manual installation method.

To install Ampache via the Launchpad PPA you can run the following command that matches your release, which will auto-add the PPA to your sources list.

Ubuntu 7.10 “Gutsy”

sudo wget http://zelut.org/projects/sources.list.d/ampache-gutsy.list -O /etc/apt/sources.list.d/ampache-gutsy.list

Ubuntu 8.04 “Hardy”

sudo wget http://zelut.org/projects/sources.list.d/ampache-hardy.list -O /etc/apt/sources.list.d/ampache-hardy.list

Next you can install the package and a few of its dependencies using the command:

sudo aptitude install ampache mysql-server-5.0 phpmyadmin

Once these packages are installed you should be able to access the Ampache server via http://your-webserver.com/ampache

The first time you connect it will walk you through an installer.  I think the installer could be a tad simpler, but basically you’ll need to know your mysql-server username and password (the password you set when the mysql-server-5.0 package installed).  There is a graphical walkthrough of the installer along with a few more tips here.

Install Ampache Manually

The manual installation method will take a few more steps, but its not anything you can’t handle I’m sure.  The first thing we’ll need to do is make sure Ampache has the dependent services installed, so we’ll install our webserver (in this case Apache2) and our MySQL server.

sudo aptitude install apache2-mpm-prefork mysql-server-5.0 php5 php5-gd

Next we’ll download and unpack the latest release into /var/www/.

cd /var/www/
wget -c http://ampache.org/downloads/stable.tar.gz
sudo tar xf stable.tar.gz
sudo mv ampache-* ampache

You should be able to access the Ampache server and initial installer via http://your-webserver.com/ampache

Check out the Ampache website and Wiki for more details on features and support.

March 23, 2008

Hans Fugal
no nic
The Fugue :
» CoreMIDI

I'm porting Aeolus to OS X. In the process I'm learning how CoreMIDI works. Naturally you get to hear my opinion on the matter.

CoreMIDI seems like a decent framework, actually. It is callback-based, which is good. It has a pretty reasonable design; physical devices and virtual devices alike communicate with eachother in the same way. They each have endpoints—source endpoints and destination endpoints.

It all looks well and good on the surface, but there's some problems. The first problem is arguably a feature. You can create input/output ports and connect sources/destinations to those ports from within your application. This allows you to make a cute or complicated dialog box where the user can select the MIDI (virtual) device(s) she wants to use. Sounds reasonable right? And so it is, and I wouldn't argue against this ability.

The badness comes in when you consider that every application has to duplicate this functionality. It would be much better to have an external patchbay for connecting applications together. This would be more powerful and flexible and free up application developers to not worry about it. They just have to create the endpoints and then they're done.

Alas, OS X proper has no such patchbay. "Yes it does, silly. It's called Audio MIDI Setup" you say. That's the most infuriating thing—Audio MIDI Setup lets you route between devices in just the sort of way I'm talking about, but it only works for physical devices. Someone needs to be shot.

Luckily, some guy named Pete wrote a MIDI Patchbay. It's serviceable, if quirky and ugly. He also wrote a simple software synthesizer called SimpleSynth (also quirky and ugly) that does what something in OS X (e.g. QuickTime Player) should already be doing: accept MIDI input and use the QuickTime music synthesizer to render it. Kudos to Pete for filling in the gaps, and I'm sorry for calling your children ugly.

While I'm complaining about patchbays, I'm still dumbfounded that JACK doesn't seem to have a command-line application for patching things together. I'm thinking something akin to aconnect for ALSA MIDI, though of course for JACK it would be for audio and MIDI both. qjackctl is absolutely marvelous, and I wouldn't use anything else given the choice, but sometimes you don't have qjackctl handy and it might be quite difficult indeed to get it. This was the case for me the other day. I had the latest greatest JACK installed from source, but qjackctl (which I finally managed to figure out how to build using the QtMac binary, whose qmake refuses to output a real Makefile but instead an XCode project) was choking on it. So I had to downgrade to Jack OS X and rebuild qjackctl (it's still an immense improvement over JackPilot). This is depressing because the newer version of JACK is much more friendly to the CLI user on OS X. The version in Jack OS X 0.76 still requires some ugly workarounds (which JackPilot helps you to do). The latest version of JACK (0.109.2) Just Works™ when you type jackd -R -d coreaudio. So I'm still starting JACK with JackPilot, which I then summarily quit in favor of qjackctl.

January 17, 2007

Justin Findlay
nonic
» A New Reson for Aural Felicity

So, as I was pursuing the interest of maximizing space efficiency in the roughly 12 square metre area in my apartment I happened to be listening to the 1987 New Year's Concert. I have an old board for a desk supported by bricks and in a moment of absent-mindedness I began partially disassembling the 'desk' with the monitor still on it and then the monitor came crashing down on my old, cheap Wal-Mart cd player.

I wasn't too disappointed since the lid on it was already broken except that it totally destroyed the Neujahrskonzert ambience because I have no other way to listen to music. To replace it I got a much nicer base model Sony. The sound output on it is much clearer than the old Wal-Mart one with its signal garbage and pedestal noise. It doesn't have that great of dynamics unless I turn it up to the max volume which is fine because I can turn it down on the speakers.

March 13, 2008

Hans Fugal
no nic
The Fugue :
» Ogg Vorbis on OS X

Once upon a time I was on a quest to get Ogg Vorbis working on a Mac. I tried the QuickTime Components project and it worked for awhile. Then it broke with QuickTime 7. Truth be known, it never worked all that great before, though it did decode the music. Then I found VLC and never looked back.

Today I learned that somewhere in the interim Xiph.org filled the gap. Now you can download XiphQT, stick XiphQT.component in /Library/Components, and you're off and running. This is precisely how the issue should have been addressed in the first place, and I'm glad it finally was, whenever it was. I'm also happy to have been ignorant of the fact for so long, since I despise iTunes for other reasons, and this tells me I've lived without regular iTunes abuse for a long hapy time.

February 25, 2008

Hans Fugal
no nic
The Fugue :
» Ogg Vorbis on OS X

Once upon a time I was on a quest to get Ogg Vorbis working on a Mac. I tried the QuickTime Components project and it worked for awhile. Then it broke with QuickTime 7. Truth be known, it never worked all that great before, though it did decode the music. Then I found VLC and never looked back.

Today I learned that somewhere in the interim Xiph.org filled the gap. Now you can download XiphQT, stick XiphQT.component in /Library/Components, and you're off and running. This is precisely how the issue should have been addressed in the first place, and I'm glad it finally was, whenever it was. I'm also happy to have been ignorant of the fact for so long, since I despise iTunes for other reasons, and this tells me I've lived without regular iTunes abuse for a long hapy time.

January 6, 2008

=Utah Open Source=
Utah Open Source
The Utah Open Source Foundation
» New! UTOSF Podcasts of Previously Streamed Meetings

The Utah Open Source Foundation would like to announce the availability of a new podcast available for meetings that have been recently streamed/recorded.  They’re available at http://podcast.utosf.org.  These presentations are available from many of the LUGs around the state.  Check them out…

Please let us know what you think as we’d like to do more and better versions in the future.  If you’d like to have your meetings streamed and recorded, please let us know.

Cheers,

Clint Savage

January 17, 2007

Justin Findlay
nonic
» A New Reson for Aural Felicity

So, as I was pursuing the interest of maximizing space efficiency in the roughly 12 square metre area in my apartment I happened to be listening to the 1987 <a href=http://en.wikipedia.org/wiki/Neujahrskonzert>New Year's Concert</a>. I have an old board for a desk supported by bricks and in a moment of absent-mindedness I began partially disassembling the 'desk' with the monitor still on it and then the monitor came crashing down on my old, cheap Wal-Mart cd player.<br /> <br /> I wasn't too disappointed since the lid on it was already broken except that it totally destroyed the Neujahrskonzert ambience because I have no other way to listen to music. To replace it I got a much nicer base model <a href=http://www.amazon.com/Sony-DEJ010BLK-Walkman-Portable-Compact/dp/B000EES52C/>Sony</a>. The sound output on it is much clearer than the old Wal-Mart one with its signal garbage and pedestal noise. It doesn't have that great of dynamics unless I turn it up to the max volume which is fine because I can turn it down on the speakers.

November 7, 2007

Clint Savage
herlo
Sexy Sexy Penguins » Tech
» POW: Codec Buddy

This week’s Program of the Week is a bit ahead of its release. The package is Codec Buddy, and is currently slated for release in Fedora 8 tomorrow.

Codec Buddy, with a little help from the Fedora and Fluendo development teams has grown into something that could be great. I see Codec Buddy really helping those who want to use and play non-free media sources from within Fedora. If you are currently running rawhide, you probably already know about this, but very soon, many other people will start to understand how Codec Buddy works as well.

One of the goals of the Fedora Project is to be free of any proprietary software. Though I don’t see that many people using Fedora without at least a few proprietary components, media codecs, drivers, etc. Maybe one day…we can always hope.

To that end, I am a big media buff. I regularly watch TV shows and movies that use proprietary codecs. As an example, most people don’t realize that using the reverse engineered DVD encoding provided by DVD Jon could be considered illegal. Fedora doesn’t want to be encumbered by these risks, and truthfully, I don’t blame them one bit. Considering that my backlog of mp3s and DVD rips will require an additional bit of software not normally included with Fedora, I think this is a great software solution. Give the user what they want without compromising the integrity of the project.

Codec Buddy is provided to help the average Joe understand the world of media formats. Its job was originally to provide a short description of why Fedora doesn’t include this in its distribution. Then point to where one might find more information about these formats. Codec Buddy has been altered a little, but attempts to accomplish the same thing using the Fluendo website.

Fluendo is the company that employs many of the individuals that work on the gstreamer project. Its quite a noble project, providing media codecs (installable formats) for many of the audio and video we like to use every day. Its great to have open source companies like Fluendo helping open source grow.

Codec Buddy works by launching a small application when someone tries to access a media codec not currently on the system. For instance, I’ve attempted to play a show I’ve downloaded.

Launch Totem

Opening Totem

Open the file

Opening a media file

Start the video

Start the video

As the video attempts to play, a prompt appears, indicating the media isn’t supported. Codec buddy then provides a few options to enable playback for this particular media format.

Choose your codec wisely, young padawan

The available items are MP3 Audio Decoder, MPEG Playback Bundle and MPEG4 Part 2 Video Decoder. By default only the MP3 Audio Decoder, which is also the only codec that will be installed without payment, is checked. The other two codecs are available for a small fee, which helps Fluendo to provide these codecs.

Clicking the “Get Selected” button will immediately start the download of the MP3 Audio Decoder (if it was selected).

Downloading the MP3 Codec

A license agreement then appears, make sure to read this and if you agree, click Accept.

Agreement

Once the agreement is complete, its time to purchase the remaining codecs. Choose Start Web Browser and in a few moments, the Fluendo website should appear. This should allow you to purchase the remaining codecs needed for the video I want to watch.

Open Web Browser

The Fluendo website has a good list of available codecs beyond the choices available in Codec Buddy.

Fluendo website

The purchase will seem similar to many others on the web, add things to the cart, and pay.

Fluendo is a good start. I’m sure there will be many people interested in purchasing these codecs here. However, I believe however, that the biggest problem is that most people can get these codecs for free on Windows, Mac and even other Linux distributions. So far, the thing I feel is missing here is the explanation for why charge for these codecs and who benefits.

Fluendo is a great resource and provides some kick-ass codecs. If there is no explanation as to why we need to pay for something that one can get for free. Potential customers who don’t understand the reasoning behind it might go elsewhere, or worse even, choose another distro or operating system.

I love fedora for the freedom it gives me to choose my path. I love fedora for its focus on making sure things are free and open, both monetarily and in liberty. I love fedora for trying things like Codec Buddy, I want it to succeed. I hope that with a few suggestions, both fedora and Fluendo can make Codec Buddy the informational tool that it was originally intended.

Cheers,

Herlo

September 18, 2007

Lars Rasmussen
lars-ut
Lars Rasmussen (Lars-UT)
» Royalty Free Music

Looking for some music to include in a multimedia project, or maybe on a telephone system? These tracks are high quality and royalty-free. The author requires Attribution under a Creative Commons license, and accepts donations.

I enjoyed the African and Celtic tracks - here's one example.