Skip to main content

Notice

If you are using a Hotmail or Outlook email address, please change it now, as Microsoft is rejecting all email from our service outright.
Topic: Winamp "Center Cut" DSP Plugin released (Read 85950 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Winamp "Center Cut" DSP Plugin released

Reply #25
Quote
Works and sounds great in Winamp!
Unfortunately crashes in foobar with Winamp DSP wrapper, but thats for another thread I guess.

Good work Moitah!
[a href="index.php?act=findpost&pid=354701"][{POST_SNAPBACK}][/a]

Thanks .  Maybe I will test it sometime in foobar with the wrapper.

To answer your earlier question about a native foobar2000 version, the answer is no because I am not very comfortable coding in C++.  If anything, I would port DSPDotNet to foobar, but I don't think I'd be motivated to since I rarely use foobar.

Winamp "Center Cut" DSP Plugin released

Reply #26
@markanini: I just realized you're the same person who posted about a problem which you described as "buzzing", does this new version solve the problem?

Winamp "Center Cut" DSP Plugin released

Reply #27
Quote
@markanini: I just realized you're the same person who posted about a problem which you described as "buzzing", does this new version solve the problem?
[a href="index.php?act=findpost&pid=354719"][{POST_SNAPBACK}][/a]

All gone

Winamp "Center Cut" DSP Plugin released

Reply #28
New version!

1.3.0 (2006-Jul-12):
  • Algorithm enhancement to improve quality (clicking problem is eliminated, echo is significantly reduced).
  • Rewrote a lot of inefficient code (it runs over twice as fast now).

dsp_centercut.zip (Binary and Source)

Winamp "Center Cut" DSP Plugin released

Reply #29
Released 1.3.1 because I broke the "classic vocal remover" in 1.3.0 .

Winamp "Center Cut" DSP Plugin released

Reply #30
Grrr... just as I finished downloading 1.3.0

Peace!

Winamp "Center Cut" DSP Plugin released

Reply #31
1.3.2 released, contains a quality tweak (doesn't make a big difference most of the time).

Winamp "Center Cut" DSP Plugin released

Reply #32
Would it be possible to turn this vocal remover into a pretty effective Dolby Prologic I Decoder?

Center Cut - Sides (Stereo) -> to Left and Right
Center Cut - Center (Mono) -> to Center

The Surround information can be decoded by inverting the Left or the Right channel and then feed this kind of inverted stereo into the vocal remover in "Center Cut - Center (Mono)" Mode.


in summary this means:

+Lt & +Rt: Center Cut - Sides (Stereo) -> to Left and Right
+Lt & +Rt: Center Cut - Center (Mono) -> to Center
-Lt & +Rt: Center Cut - Center (Mono) -> to Surround

what du you think about it?

Winamp "Center Cut" DSP Plugin released

Reply #33
I don't have any material to try it on, nor do I have a surround sound setup.  You can try it yourself with the help of a sound editor to do the inversion and to combine the results into a 5 channel WAV.  If you use Winamp with the disk writer, make sure you restart Winamp or reload the DSP plugin (select "(none)" and then Center Cut again) to flush the buffer between runs, otherwise the outputted files won't be synchronized with each other.  Alternatively you could use the foobar2000 plugin which doesn't have this problem, or Center Cut GUI (requires WAV input).  If you do it, let us know how it turns out.

Winamp "Center Cut" DSP Plugin released

Reply #34
I'm very new to audio programming, so played around with your source to see what happens when I do this and that... I have a few hints, too.

There are a few unnecessary calculations in CenterCut_Run:

Code: [Select]
double cR, cI;
double A, B, C, D;

cR = lR + rR;
cI = lI + rI;

A = cR*cR + cI*cI;
B = -cR*(lR+rR)-cI*(lI+rI);
C = lR*rR+lI*rI;
D = B*B-4*A*C;

if (D>=0.0 && A>nodivbyzero) {
    double alpha = (-B-sqrt(D))/(2*A);

    cR*=alpha;
    cI*=alpha;
} else
    cR = cI = 0.0;


B is the same as -A, so you can replace the code with the following:

Code: [Select]
double cR, cI;
double A, C, D;

cR = lR + rR;
cI = lI + rI;

A = cR*cR + cI*cI;
C = lR*rR+lI*rI;
D = A*(A-4*C);

if (D>=0.0 && A>nodivbyzero) {
    double alpha = (A-sqrt(D))/(2*A);

    cR*=alpha;
    cI*=alpha;
} else
    cR = cI = 0.0;


Also, the bass is often in the middle with the voice, so you might try to set cI=cR=0 for i < (100*halfwindow/samplefreq) to keep the frequencies below 100 hz, or something like that.

I hope that was useful  .

Winamp "Center Cut" DSP Plugin released

Reply #35
B is the same as -A, so you can replace the code with the following: ...

Nice observation.  Originally cR and cI were calculated differently, I just changed it in v1.3.2 it based on a suggestion by Avery and didn't think to simplify it any further.

Also, the bass is often in the middle with the voice, so you might try to set cI=cR=0 for i < (100*halfwindow/samplefreq) to keep the frequencies below 100 hz, or something like that.

I tried the same thing a few days ago and it did sound good.  I'd like to have the option to do this in dsp_centercut, but I don't do GUI stuff in C++ .

Winamp "Center Cut" DSP Plugin released

Reply #36
Moitah,

This DSP is excellent!!!.. really sounds great!

Is there any news on whether its gonna come out in VST form?
I REALLY need this in VST form, but my programming skills arent even nearly up to it.

I'm debating whether I should learn how to do it - which will take forever - or can you tell me if a VST version is in progress at the moment?

Cheers
Ice

Winamp "Center Cut" DSP Plugin released

Reply #37
I don't plan on making a VST version.

Winamp "Center Cut" DSP Plugin released

Reply #38
Has anyone looked into writing a VST version of this program.. or is anyone currently doing it?

There are a few centre channel extractor VST's out there, but they leave a lot to be desired! Centre cut is the first one Ive found that actually produces passable results... and not just passable, but excellent!

Winamp "Center Cut" DSP Plugin released

Reply #39
1.4.0 released, adds ability to put the bass (< 200 Hz) in the side output and exclude it from the center.  This is useful if you're using the plugin for the purpose of vocal removal.

Winamp "Center Cut" DSP Plugin released

Reply #40
Could it theoretically be possible to run the plugin with the "Center Cut - Sides (Bass to Sides)" setting, save output to audio file, then run the plugin with the "Center Cut - Center (Bass to Sides)" setting, save output to audio file, THEN use audio editor to make a two channel file first with LEFT sides of both different output results placed on the left and right respectively, inverse phase ONE channel, and ADD some reverb or echo effect ONLY to the channel where the center channel was kept and see perhaps if the reverb added on this channel CANCELS OUT the reverb (with any luck!) of the output result of the other channel (the one with "Center Cut - Sides (Bass to Sides)" setting on) without drastically and negatively affecting the percussion and other instruments in the center where the vocals are... And having the same procedure done for the RIGHT processed channels, respectively. In other words, by doing this, you would have the LEFT PROCESSED channel and RIGHT PROCESSED channel with less reverberation as well, then combining the final results as a stereo audio file... having an almost 100% vocal free recording. Is this possible?

P.S. When one selects/highlights ONE channel in a sound editor, does the inserts applied to this channel ONLY affect this channel? The reason I'm asking is if this is the case, one can monitor in realtime the output result in MONO mode to HEAR how much reverb cancellation is happening in the final result for the respective channel being tweaked. Thanks. 

Winamp "Center Cut" DSP Plugin released

Reply #41
I realize this is an old thread, but I've recently discovered this plug-in and have a question. I e-mailed moitah privately today from his site, but thought I'd ask here as well in case others have run into this as well.

I'm knocked out by how well this works with mono records recorded as stereo, extracting the center. Astounding...except that the audio occasionally has artifacts that sound like lower bit-rate mp3 compression, like the "underwater" sound, but only with certain source material.

Is this just part of the package with this kind of extraction, or is this possibly some winamp setup (input, etc.) problem? Processor speed perhaps? Just not sure what the problem might be. Thanks!

Winamp "Center Cut" DSP Plugin released

Reply #42
Quote
I'm knocked out by how well this works with mono records recorded as stereo, extracting the center.
If you like the effect, go ahead and use it, but this is not the best way to restore the original mono, if that's what you're trying to do.

If it's a stereo recording with identical left & right channels, you can simply choose one channel or the other,  mix them, or leave it as-is.  If you're talking about vinyl records, you can choose channel with the fewest clicks & pops.  Or, you can replace the defects on one channel with the good signal from the opposite channel.  (Wave Repair can do this, and it often works very well with true-stereo records too!)

If it's simulated stereo, you can try mixing the channels, but phasing/timing differences between the channels can foul-up the result, so it's often best to leave it as-is.


Quote
Astounding...except that the audio occasionally has artifacts that sound like lower bit-rate mp3 compression, like the "underwater" sound, but only with certain source material.

I assume these are FFT artifacts.    I don't believe it's related to processor speed, but it's possibly due to algorithm compromises designed to speed-up the processing so that it works in real time?

Winamp "Center Cut" DSP Plugin released

Reply #43
Sorry for resurrecting an old thread again, but I'd like to say that 10 years on this is still an awesome plugin!

I used this adapter for running this plugin on a VST host
http://forum.openmpt.org/index.php?topic=4102.0

Then made multiple copies of both the winamp plugin and the adapter plugin to hack this winamp plugin into running multiple instances on Live Professor

This allows me to split stereo recordings into left, center and right channels and apply individualized DSP processing to each channel.  This is just an example of what I've come up with:


There's two instances of Center Cut separating out the center and side music info, feeding two HRTF plugins and EQ plugins shaping the center and side music info differently.

Before when I used HRTF plugins to simulate speaker sound on headphones I found the resulting sound to always be unnatural and muffled.  Now with this virtual 3-channel setup I find the sound to be superior to unprocessed 2-channel headphone output in every way!

Re: Winamp "Center Cut" DSP Plugin released

Reply #44
Hello Folks,
I hope I don't annoy anyone posting to such an old thread. But my thoughts are indeed an extension of this one.

The stereo to 5.1 upmixer called "Penteo" is based on this center cut algorithm combined with a phase corrector algorithm by Hans Van Zutphen's "Tape Restore Live" azimuth corrector (this is divulged in John Henry Wheeler's Penteo patent). It makes good sense that phase (aka azimuth) correction would reduce the fuzziness sometimes heard with Center Cut.

I have heard quite a bit of Penteo Upmixed material and some of it is actually better than native 5.1 material. In fact some of the best 5.1 I have heard was upmixed using Penteo. Maintaining the original artistic soundstage image but spreading it across more speakers magically solves the "lost in the mix" problem that has always been the bain of sound mixers.

So, I am going in a couple of directions with this:

1) Has anyone played around with azimuth correction in conjunction with Center Cut? If not, I urge someone to try this.

2) Does anyone know how one goes about converting this type of computer code into DSP code that would run on a DSP platform? I have never written code for DSP, but my understanding is that it doesn't run normal computer languages like C++. But I could be wrong on that. Perhaps some sort of cross compiler would be used.

3) Back in the early days of Penteo they intended on selling real time hardware encoders. I like dedicated devices, so the idea of buying Pro-tools and the Penteo plug in, no matter the issue of cost, just isn't what I am looking for. Batch conversion might be an option, but real time seems like the best way to go, IMHO. Same problem with running plug-ins on Winamp. I guess I could go that route, but definitely not my preference.

4) I suppose processing files is another approach. Not sure of an efficient batch process to convert my large music library.

Here's where I am going with this. Ideally, these algorithms could be converted and made into a DSP plug in for something like the Analog Devices' ADAU1701 processor (e.g. some of the miniDSP and Dayton Audio products) could make pretty amazing open source hardware/software real time upmixer.

Ideas?

(An Aside). I have a reasonably modern AVR with both Dolby and DTS upmixers built in. None are more than "interesting". Penteo goes beyond that, but isn't available except as a plug in. Not sure why the AVR folks haven't done anything better. Perhaps it has to do with the "not invented here" effect. I can understand Dolby and DTS not wanting to use something that includes open source code, but why hasn't Dolby, Denon, or Onkyo done so (there is already open source code in many of their products)?

Reference Link

(Inventor of Penteo on open source components): https://www.quadraphonicquad.com/forums/threads/penteo-shocker.13838/

(more on center cut): http://www.virtualdub.org/blog/pivot/entry.php?id=102

 
SimplePortal 1.0.0 RC1 © 2008-2020