Welcome Guest ( Log In | Register )


Important

The forums will be closing permanently the weekend of March 15th. Please see the notice in the announcements forum for details.

 
[request] Improving Center Cut
« Next Oldest | Next Newest » Track this topic | Email this topic | Print this topic
SimSaw
Posted: Mar 16 2014, 08:19 AM


Newbie


Group: Members
Posts: 4
Member No.: 37789
Joined: 16-March 14



Hello everybody. I have an audio file from the English and German demo of The Feeble Files. They contain voices and music. My intention is to remove the voices to only have the music left. So I created a stereo track where the English track is in the left channel and the German track is in the right channel.

Here is this original track:
www.best-sts.de/ffdemo/radioin_en_de.wav

If I use Center Cut now to move the voices to the sides I get this:
http://www.best-sts.de/ffdemo/radioin_en_de_sides.wav

You can still clearly hear the music in each track. If I however take the right channel of my original file and invert it and mix it into the left channel I get this:
http://www.best-sts.de/ffdemo/radioin_de_en_mixed.wav

The maths I did was this:
(meaning of the abbreviations following: en = English voices track, de = German (Deutsch) voices track, mus = music track)

+1en +0de +1mus
+0en -1de -1mus
=
+1en +0de +0mus

Here you clearly hear no music at all, just voices. However all is mixed together in one track and it is not possible to seperate voices from that. But wouldn't it be possible to take the information gained from this to take into account when doing Center Cut? Wouldn't it be possible to virtually make this operation when doing Center Cut and compare the pre-result against it? This way Center Cut might be improved.

Also, would it be possible to use several tracks (more than two)? Then the centered result would be even more precise if more than two tracks are available.

I hope I expressed myself well enough to make my point clear. If I have not, please feel free to ask.

Here are all the files listed above in one ZIP file:
http://www.best-sts.de/ffdemo/radioin.zip
 
        Top
raffriff42
Posted: Mar 16 2014, 09:58 AM


Advanced Member


Group: Members
Posts: 384
Member No.: 35081
Joined: 25-June 12



EDIT I don't think Center Cut is designed for this purpose. Anyway the source is not really "stereo," it's dual mono (Left=English+Music, Right=German+music).

If inverting the right channel works, why not use it?
user posted image
(Gain used as a phase inverter)

However, the Center Cut filter can be made to work - here's an example with full control of all 3 audio elements:
(probably more complicated than it needs to be)
user posted image

This post has been edited by raffriff42 on Mar 16 2014, 01:11 PM
 
     Top
SimSaw
Posted: Mar 16 2014, 09:06 PM


Newbie


Group: Members
Posts: 4
Member No.: 37789
Joined: 16-March 14



Thanks for your fast reply. Inverting is not the solution because everything is in one channel then. What I need is either this:
+0en +0de +1mus
or this:
+1en +0de +0mus
or this:
+0en +1de +0mus

So your first example is just a reproduction of what I did and unfortunately does not lead to the desired result.

If I understood correctly, Center Cut was meant as a vocal remover maintaining the stereo. In this case we have it but just the other way round: The music has taken the role of the voice and the voices have taken the place of the music.

Will try out your second example tomorrow. (Unfortunately I have to go to bed now.)
 
        Top
raffriff42
Posted: Mar 17 2014, 01:23 AM


Advanced Member


Group: Members
Posts: 384
Member No.: 35081
Joined: 25-June 12



EDIT I am sorry, for isolating the music, I can't improve on simply using the Center Cut, center channel. The more I think about it, the more I am amazed that this filter works at all. If there is a similar filter elsewhere with tunable window, you *may* get better results.
QUOTE
http://www.virtualdub.org/blog/pivot/entry.php?id=102
The center cut algorithm whacks the phase of the left and right channels, so it has a tendency to move them apart in time and cause echoing effects in the side channels. This phenomenon becomes worse as the FHT window is increased, which is unfortunate as increasing the window size improves the quality of separation.

EDIT tried a different filter, but Center Cut does a better job for this source.
EDIT sorry I couldn't help you find a better solution, but I had fun trying!

This post has been edited by raffriff42 on Mar 18 2014, 01:10 AM
 
     Top
SimSaw
Posted: Mar 22 2014, 11:39 AM


Newbie


Group: Members
Posts: 4
Member No.: 37789
Joined: 16-March 14



Anybody else with an idea? Maybe Phaeron?
 
        Top
phaeron
Posted: Apr 6 2014, 10:13 PM


Virtualdub Developer


Group: Administrator
Posts: 7773
Member No.: 61
Joined: 30-July 02



I'm afraid there is no good solution to this. Inverting one channel and mixing it into another is a classic way to remove a common signal, but as you've discovered, there is no way to separate the difference signal. The problem with trying to keep stereo separation is that it requires information that simply isn't in the original waveform. Unlike sum/difference, doing this takes two signals as input and produces three signals as output. That means one third of the output has to be guessed by the algorithm. The leakage you are hearing is due to the cases where this guess is incorrect.
 
    Top
SimSaw
Posted: Apr 20 2014, 06:50 PM


Newbie


Group: Members
Posts: 4
Member No.: 37789
Joined: 16-March 14



I see. I thought it might be possible to use the mix with English and German to remove the center but I believe you if you see that it is not easy. But what about using more than two channels? There are video games that have 6 or more localisations and using more channels would make the result more precise. Any possibility for that? Maybe by making Center Cut an external command line tool?
 
        Top
phaeron
Posted: May 26 2014, 09:25 PM


Virtualdub Developer


Group: Administrator
Posts: 7773
Member No.: 61
Joined: 30-July 02



Theoretically possible, but a much more complex linear programming problem. The center cut algorithm is based upon three vectors, and adding a fourth or more would require a new algorithm.
 
    Top
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:
7 replies since Mar 16 2014, 08:19 AM Track this topic | Email this topic | Print this topic

<< Back to VirtualDub Development Forum