Thursday, November 19, 2009

Making NUS webcast sound better with Logic Pro and another free software

Ever got frustrated over how horrible webcast in NUS can sound? Well, it's 2 days away from the start of the exams, and I'm stuck with webcasting the 2nd half of my econs (which thankfully is not the first exam). It doesn't help that the breeze online lecture for the e-learning week has super low audio quality.

There's this non-stop high frequency hiss around the 5Khz range that super irritating. Not to mention the vocal clarity is pretty poor too. Which leads one to wonder why NUS never bother to provide better quality audio for their webcast when it's so easy (and there are tonnes of free software to do that too) to clean up hiss and noise and improve speech clarity.

Anyway, I decided to pamper myself a little and clean up the noise in real-time. Only problem, the webcast is played in "breeze" adobe presenter, and there's no way of downloading it to play in my beloved iTunes where I can use the EQ to turn down all the high frequencies. HOW? Internet explorer never came with an equalizer.

Ok, for those of you who are wondering, I am using a Mac, and I webcast in windows XP on parallels because stupid Aspresso Classroom webcasts doesn't allow 2x speed using anything but internet explorer. Anyway, that doesn't matter, this method still works anyway.

So for those of you using Mac out there (yea, mac rocks!), here's what I did, and you'll find it quite simple to follow too. What you'll need is:
  • Logic Pro
  • Soundflower (which is an open-sourced freeware which is meant to be a bonus product for some professional software)
Firstly, I channeled my sound output from parallels to soundflower. Once you've installed soundflower, it'll add 2 new input and output devices to your Mac's Core Audio drivers (one 2 channel, one 16 channel). As you can see, selecting the 2-channel soundflower as your output device is brainless. Just select it under parallels' Devices menu.

Now, you'll have to catch that from within Logic. So now it's time to fire up logic and select the same soundflower 2ch as the input device.

Again, This is not that hard. Just go to Logic Pro -> Preferences..., and change the input device to soundflower (2ch).

Now, what you want is to crate a new empty project in Logic Pro, which I believe you can do by yourself. Then create a new stereo Audio track, with inputs 1-2 (from soundflower as set in preference), and output to stereo 1-2 (which goes to your built-in output as stated in the preference above). Screenshot attached here for total noobs :-p

Ok, so our channel is set up.

Now, we have to set up our I/O for the audio track. As you can see, it takes input from Input 1-2 and outputs to Stereo Out. I adjusted the equalizer to pull down all the high frequencies (which the human voice will never include anything about 7000Khz, at least for speech, so I pull it down to the minimum). Just double click the dark blue box with the horizontal line will give you the EQ graph. Click and hold those empty squares below the Inserts will bring up a menu, where you can add all the real-time effects. I included Specialized->Speech Enhancer, Dynamicx->DeEsser and Compressor just to hint to you a few effects that could be great for vocal enhancing and clarity. Overall, it should look like that:

Finally, you'll need to click the 'I' down there (it'll turn orange) to monitor the input from soundflower. This way, you'll hear everything from the soundflower outputted from parallels, channeled through the effects and denoise, and outputted to your headphones/speakers. Go on, play that awful webcast again, and it should sound much better, and even super good if you tweak those settings a little. Voila, it's that easy!

You could play with some other stuff like the Specialized->Denoiser, and see whether that works for you. Just experiment till you get the golden voice.

Ok, for those of you who are not using parallels, or if you cannot control which audio device your program outputs to, you'll have to do it the not-so-elegant way. That is, make your whole Mac default output to soundflower, and then make logic output to the built-in output.

To do this, go to System Preference (don't ask me where to find it, you should know!), click on Sound, and choose the Output tab. Under the Select a device...., choose Soundflower (2ch)

The configuration for Logic should remain the same, and it should work like magic. Yup, if you're thinking what I'm thinking... You're most probably right! You can send any sound (from throughout your Mac) into Logic, process it the way you want, and output it. What's MORE IMPORTANT here, you can RECORD anything that plays out from your computer speakers! Go figure... The possibilities only limited by your imagination.

One caveat here. You'll have to leave logic running in the background. That should take about 150MB of RAM. I have 4GB, and I don't feel any effect of leaving logic pro opened, but you may feel the lag, so you may want to close logic once you're done with it. And also, once you're done with all those stuff, don't forget to switch back the audio device (either in system preference of in parallels) to your built-in output or whatever you are using. Else you might be wondering why parallels doesn't have any sound, or why your Mac is suddenly muted. :-)

Ok, I know most of you can't afford Logic Pro (but seriously, at S$698 for student price, it's not that bad an investment after all, you'll never know when those tools come in handy). I am not affiliated to Apple in any way, but Logic is seriously good. I just wish it was more er... polished, like soundtrack pro and logic working better together (or even merged into one)...

Anyway, enough of me rambling. There's a totally free way for you to do exactly what I did (ok maybe with less of the nice effects, but basic EQ and denoise should work fine). Using AU Lab, which comes free with your MacOSX (in the 2nd disc that you've most probably never touched before), you can more or less achieve similar results, which is totally free, and works well too. It will be slightly more technical (there's always a catch to it, huh?), but the reward is sure worth it if your lecturer just doesn't know how to use a mic properly.

I'll go into that once I have some free time (or when I'm bored again after my nth webcast). Stay tuned, mac lovers... I'll be back with more goodies!

Meanwhile, Connie Chung (EC1301) is just so humourous if you webcast her lectures at 2x...
And if you have any tips for EC1301, i'll be glad to have it like... within these 5 days...


Huimin said...

Oh man, it seems like a rather complicated process to improve the audio sound from webcasts. > < But i suppose its worth it.

JanJon said...

actually, it's simple for the basics, but it's complicated depending on how much you want to improve... :-)