Winamp "Center Cut" DSP Plugin released |
![]() ![]() |
Winamp "Center Cut" DSP Plugin released |
Jan 5 2006, 09:00
Post
#26
|
|
![]() Group: Members Posts: 193 Joined: 5-June 02 From: Virginia Beach, VA Member No.: 2227 |
QUOTE (markanini @ Jan 5 2006, 02:56 AM) Works and sounds great in Winamp! Unfortunately crashes in foobar with Winamp DSP wrapper, but thats for another thread I guess. Good work Moitah! Thanks 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. |
|
|
|
Jan 5 2006, 09:28
Post
#27
|
|
![]() Group: Members Posts: 193 Joined: 5-June 02 From: Virginia Beach, VA Member No.: 2227 |
@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?
|
|
|
|
Jan 5 2006, 10:20
Post
#28
|
|
![]() Group: Members Posts: 477 Joined: 22-December 03 From: Malmö, Sweden Member No.: 10615 |
|
|
|
|
Jul 12 2006, 09:41
Post
#29
|
|
![]() Group: Members Posts: 193 Joined: 5-June 02 From: Virginia Beach, VA Member No.: 2227 |
New version!
1.3.0 (2006-Jul-12):
dsp_centercut.zip (Binary and Source) |
|
|
|
Jul 12 2006, 19:59
Post
#30
|
|
![]() Group: Members Posts: 193 Joined: 5-June 02 From: Virginia Beach, VA Member No.: 2227 |
Released 1.3.1 because I broke the "classic vocal remover" in 1.3.0
|
|
|
|
Jul 12 2006, 20:10
Post
#31
|
|
![]() Group: Members Posts: 1455 Joined: 22-November 05 From: Jakarta Member No.: 25929 |
Grrr... just as I finished downloading 1.3.0
Peace! -------------------- Nobody is Perfect.
I am Nobody. http://pandu.poluan.info |
|
|
|
Jul 15 2006, 01:07
Post
#32
|
|
![]() Group: Members Posts: 193 Joined: 5-June 02 From: Virginia Beach, VA Member No.: 2227 |
1.3.2 released, contains a quality tweak (doesn't make a big difference most of the time).
|
|
|
|
Jul 24 2006, 21:16
Post
#33
|
|
|
Group: Members Posts: 2 Joined: 10-July 03 Member No.: 7697 |
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? |
|
|
|
Jul 24 2006, 22:10
Post
#34
|
|
![]() Group: Members Posts: 193 Joined: 5-June 02 From: Virginia Beach, VA Member No.: 2227 |
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.
This post has been edited by Moitah: Jul 24 2006, 22:12 |
|
|
|
Jul 24 2006, 23:56
Post
#35
|
|
|
Group: Members Posts: 341 Joined: 24-August 05 Member No.: 24095 |
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 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 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 |
|
|
|
Jul 25 2006, 00:32
Post
#36
|
|
![]() Group: Members Posts: 193 Joined: 5-June 02 From: Virginia Beach, VA Member No.: 2227 |
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++ |
|
|
|
Sep 19 2006, 06:23
Post
#37
|
|
|
Group: Members Posts: 2 Joined: 3-September 06 Member No.: 34760 |
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 This post has been edited by Iceman_jkh: Sep 19 2006, 06:23 |
|
|
|
Sep 19 2006, 18:29
Post
#38
|
|
![]() Group: Members Posts: 193 Joined: 5-June 02 From: Virginia Beach, VA Member No.: 2227 |
I don't plan on making a VST version.
|
|
|
|
Oct 3 2006, 13:58
Post
#39
|
|
|
Group: Members Posts: 2 Joined: 3-September 06 Member No.: 34760 |
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! |
|
|
|
Jul 19 2007, 18:45
Post
#40
|
|
![]() Group: Members Posts: 193 Joined: 5-June 02 From: Virginia Beach, VA Member No.: 2227 |
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.
|
|
|
|
Oct 4 2007, 23:16
Post
#41
|
|
|
Group: Members Posts: 1 Joined: 4-October 07 Member No.: 47577 |
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. |
|
|
|
Feb 14 2010, 00:12
Post
#42
|
|
|
Group: Members Posts: 1 Joined: 14-February 10 Member No.: 78133 |
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! |
|
|
|
Feb 18 2010, 03:43
Post
#43
|
|
|
Group: Members Posts: 2115 Joined: 24-August 07 From: Silicon Valley Member No.: 46454 |
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? |
|
|
|
![]() ![]() |
|
Lo-Fi Version | Time is now: 22nd May 2013 - 15:11 |