attention: musichack is moving! that’s right, we’re moving out of the wordpress apartment and in to our own server…sorta (ok, so I run other domains..but hey, i pay for the damn thing)…but I’ve installed wordpress-mu and will be moving the entire ordeal there. the address is also going to change…rather than being a subdomain…we now have a domain. http://www.musichack.org will be where you’ll find the new musichack..with all the old content and tons of new stuff. check the main page for the final notification about the move, also, the notice about “Gold Wave Editor” has been removed since it appears they have changed names…but still be on the lookout for the editor with the space in the name…that looks nothing like my screen shots.
In an effort to not only bulk up the number of tutorials…I’ve decided to cover somet things I’ve seen talked about multiple times on the Goldwave user forums, because I’m sure at some point they’re going to come up either in stuff you encouter or in your own general thinking.
Today, I’m going to cover the highly talked about issue of vocal extraction in music tracks…along with the general idea of seperating a center channel out of a stereo mix.
Effects like this are nothing new, in fact, Goldwave has this ability built right in, but we’ll talk about that a bit later. First I just want to cover a few aspects of “center channel extraction”
Trying to write this as a tutorial is kind of difficult…so was trying to figure out how to write the background info before getting in to the processes…so i’m not going to focus so much on making this a real tutiorial and trying to assemble it as so…it’s going to be a slightly mixed and not quite up to the standards (I think), of the first article or future articles….but this is a rather difficult subject to write about, considering a portion of the current processing borrows a page from the early analog systems.
So, let’s start there, and rather than list ALL kinds of examples, I’m going to keep it simple and say let’s examime FM stereo. FM Stereo uses a sum-difference audio encoding method to transmit both channels of audio. The Sum/Difference is a very simple matrix system that basically consists of Left – Right and Left + Right. The Left – Right audio is what’s known as the difference signal…the *differences* between the channels. the Left + Right is the sum of the channels…both channels basically added together. (and, in case you really wanted to know….the sum signal modulates the main FM carrier and serves as the baseband audio, which is how they maintain backwards compatability with non-stereo recievers or when recievers can’t get the stereo signal. The difference signal is amplitude modulated onto a 38khz subcarrier in the FM transmission, a 19khz tone is broadcasted just above the baseband (sum) audio, and it serves two purposes. One purpose is to indicate if a transmission has stereo content in the subcarrier..if the 19khz tone is present, then that’s used as a an intermediate frequency so the subcarrier can be tuned on 38khz, which is the second harmonic of 19khz. When the MPX (multiplex) circuit in the FM tuner is able to recieve both those signals, they are “decoded”, basically they apply the same process to those two signals they did to begin with, and out comes stereo. The system has been proven to be rather good) Wikipedia has a rather basic article about FM-Stereo broadcasting (http://en.wikipedia.org/wiki/FM_broadcasting#FM_stereo) in thier FM Broadcasting article.
Another good article to read in preperation for this article is joint-stereo article (http://en.wikipedia.org/wiki/Joint_Stereo). It covers the basics of various joint-stereo methods as they pertain to digital audio. In case you were wondering what they mean by adding and subtracting audio signals…well. When you mix two audio signals, you add them…subtracting them is the same process except you invert one channel beforehand. So, in a normal stereo file, to obrain sum/difference, you’d mix your left and right…then you take your original signal, invert a channel and mix them together. Now, why exactly this works, well, I can’t begin to tell you..that’s something I’ll let you research on your own.
Now, in a sum/difference signal, your difference signal generally contains little to no of the middle information…but it also doesn’t contain any stereo seperation because in order to obtain this information, you added two channels together (well, subtracted, but I covered that). You can basically think of the differnce signal as containing any audio that was not the same between the two channels. This is, in essence, the only real way you can completely remove a center channel, although a lot of it’s ability depends on the orignal mixing of the material. This process is rather simple and generally doesn’t leave any artifacts behind…unless you’re reducing a lossy audio source, in which case you’ll hear some distortions.
Goldwave is able to do this…quite easily too..in fact, it’s got two places to do it.
The one shown above is the Reduce Vocals effect. While not a general mid/side processing persay…the “simple cancellation” essentially does the L – R process to get the difference signal. The main difference with the Reduce Vocals is it offers a few extra features…in addition to the simple cancellation and the ability to select the amount of cancellation you want to do, it also offers a Bandstop filter. The idea behind the bandstop filter is you can select the frequency range of the vocals and completely remove them while applying the same cancelation effect. The program will let you play with and adjust all those options…and while I’d love to go into them fully…I *honestly* haven’t found a whole lot of use for it, so I never load that effect.
The channel mixer does exactly what it implies, it mixes channels…but it allows you to select not only a positive amount of volume for each channel…but a NEGATIVE amount of volume for each channel…which at that point, it’s merely inverting the wave before it mixes it with the other channel. For example: If you have one channel set for 100% and one for -50, one channel would be mixed at full volume and the other would mix with half volume, but inverted before the mix. You can EASILY do a Sum/Difference (aka M/S Joint Stereo) with channel mixer. One channel gets set to 100 and -100 and the other has both sliders set to 100, in fact, this is a preset…and while it says M/S decode…it will also encode.
Ok, ok, i’ve explained the various ways of extracting side information from a file..but dude, it’s a mono file and you’ve not covered how to extract just a center portion of audio…well, I’m getting to that.
There’s no way to isolate all in-phase (center/phantom center) using a channel-mix method..i’ve looked, i’ve tried..and while there IS an analog method for doing it (as 3-channel audio is part of Dolby Pro-Logic), I honestly can’t figure out how to convert the encoding matrix format into something I can use. However, we can do things with advanced audio processing using FFT analysis to somewhat do the job.
Goldwave by itself does not have the advanced processing available to it, however, it can be expanded by both DirectX and Goldwave specific plugins. While I’m sure there’s DX plugins that do the same job, I’ve not really researched them. However, there is a plugin we can get to work in GW that will do this processing on a basic level. You can get GWAmp from the GW plugins page.
A few years ago Avery Lee wrote a DSP for VirtualDub (a free video-editor) that contained a CenterCut module. This module used FFT analysis of chanels to allow you to extract the center channel while keeping the original stereo image and also strip the stereo content and keep just the stuff in the center. The source for this plugin is open-source, so, someone wrote a WinampDSP plugin for it. The plugin is called CenterCut, and while it’s a Winamp DSP plugin, there is a plugin for Goldwave that will load Winamp DSP modules. Since both GWAmp and centercut are free, they’re an easy way to expand the functionality of Goldwave. (I’ll no doubt use other Winamp DSP’s in future tutorials, so it’s good to grab these now.) Grab it from here.
The process for using CenterCut is pretty straightforward. If you have winamp installed, go ahead and extract the plugin to your Winamp plugins directory..GWAmp (at least for me), automatically found my Winamp installation. If you don’t have Winamp installed, don’t worry; it’s not required to use the plugins. Simply extract the plugin to a folder on your drive you want to use and set GWAmp up to use that directory.
Load up your audio file and then go to Effects -> Plug-Ins -> GWAmp. This plugin shows up as several Effects. All are prefixed CenterCut, but then have some options. You have Sides, Center, Sides (Bass to Sides) and Center (Bass to Sides). These options are pretty straightforward. The Sides effect will remove the in-phase center audio and leave you with a stereo image of the difference. Center will strip the stereo content and leave you with everything in the center. The other two are the same thing except they affect the lower-frequencies. A lot of times, the bass portion of a song is mixed dead-center…and if you’re trying to strip vocals from a track, when the center chanel is removed you’d lose all your bass frequencies. Bass to Sides basically “pushes” the lower frequencies into the side channels..so when playing the Sides you’ll still have your bass. The Center (Bass to Sides) gives you the center channel but still pushes the bass to the sides…this is handy for when you want to extract maybe just vocals and not have that center-mixed bass in there with it. It appears to work basically as a band filter..shoving audio to where you want/don’t want it. It also features a Classic mode which does the standard difference removal. The plugin itself has no configuration options other than that..so you pick the effect you want and apply it to your audio.
That honestly, is it. I know there was more words than screenshots and I didn’t really explain a lot..but really…the plugin is about as simple as they get, pick the effect you want, and go..no configuration options; no way of screwing it up.
This work is licensed under a Creative Commons Attribution-Noncommercial-No Derivative Works 3.0 Unported License. GoldWave® is a registered trademark of GoldWave Inc.Screenshots courtsey Goldwave, Inc. Used with permission. Created 19 Jun 2008 by Jay Moore (dewdude@g*oogle*mail.com)