Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: Real-time stereo to 5.1 effect (DirectShow) (Read 5489 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Real-time stereo to 5.1 effect (DirectShow)

Hi. Just a short info - I forgot to emphasize this.

For those who would like to play stereophonic sound files
(or movies with stereo sounds) and reproduce it in 5.1 speakers
environment, please use our DirectShow decoder (Aud-X DirectShow decoder).

Also, the sound (during the real-time conversion to 5.1) can be directed to SPDiF output and sent in AC3 format to the external home theatre system.

More information about the algorithm is available in our whitepaper
(www.aud-x.com in Laboratory section. The codec is available in the Download section)
MP3 5.1 [www.aud-x.com]

Real-time stereo to 5.1 effect (DirectShow)

Reply #1
Can youimplement your algorytm in AviSynth filter?

Real-time stereo to 5.1 effect (DirectShow)

Reply #2
Quote
Can youimplement your algorytm in AviSynth filter?
[a href="index.php?act=findpost&pid=361457"][{POST_SNAPBACK}][/a]


Yes Dimzon 
Once I have mentioned to you that I am willing to do so,
but you never replied...

Maybe the easiest way would be to provide you with a DLL
which you could wrap in the AviSynth filter interface?
MP3 5.1 [www.aud-x.com]

Real-time stereo to 5.1 effect (DirectShow)

Reply #3
Quote
Yes Dimzon 
Once I have mentioned to you that I am willing to do so,
but you never replied...

Ops. Seems like i lost this topic ;( Sorry...

Quote
Maybe the easiest way would be to provide you with a DLL
which you could wrap in the AviSynth filter interface?
[a href="index.php?act=findpost&pid=361460"][{POST_SNAPBACK}][/a]

It will be great! Wich API does you propose (i prefer as simple API as possible, someting like)
Code: [Select]
private void UpMix(short* stereoData, int stereoSamplesCount. short* multiChannelBuffer)

Real-time stereo to 5.1 effect (DirectShow)

Reply #4
Quote
Quote
Yes Dimzon 
Once I have mentioned to you that I am willing to do so,
but you never replied...

Ops. Seems like i lost this topic ;( Sorry...

Quote
Maybe the easiest way would be to provide you with a DLL
which you could wrap in the AviSynth filter interface?
[a href="index.php?act=findpost&pid=361460"][{POST_SNAPBACK}][/a]

It will be great! Wich API does you propose (i prefer as simple API as possible, someting like)
Code: [Select]
private void UpMix(short* stereoData, int stereoSamplesCount. short* multiChannelBuffer)

[a href="index.php?act=findpost&pid=361472"][{POST_SNAPBACK}][/a]


Alright. I will prepare it and provide you with information how to use it.
It should be ready in the next week.
MP3 5.1 [www.aud-x.com]

Real-time stereo to 5.1 effect (DirectShow)

Reply #5
Quote
Alright. I will prepare it and provide you with information how to use it.
It should be ready in the next week.
[a href="index.php?act=findpost&pid=361498"][{POST_SNAPBACK}][/a]

Fine.
By the way - can you explain wich math does you use for it? Maybe idential effect can be achived using Equalizer, Delay && Reverb combination? In this case better (if it's not a top secret) just provide used by your code concrete Equalizer patterns, deleys and reverberation options 

Real-time stereo to 5.1 effect (DirectShow)

Reply #6
Quote
Quote
Alright. I will prepare it and provide you with information how to use it.
It should be ready in the next week.
[a href="index.php?act=findpost&pid=361498"][{POST_SNAPBACK}][/a]

Fine.
By the way - can you explain wich math does you use for it? Maybe idential effect can be achived using Equalizer, Delay && Reverb combination? In this case better (if it's not a top secret) just provide used by your code concrete Equalizer patterns, deleys and reverberation options 
[a href="index.php?act=findpost&pid=361500"][{POST_SNAPBACK}][/a]


He, he. This is not a secret. However I cannot share the source code,
because unfortunately I do not have the authority to do so (this is not my decision and I am not the owner of the algorithm, although I am the author    )

Fortunately I have the permission to provide you with the DLL and also I can briefly explain how it works, so you may implement it by your own (if you find it interesting).

========================
1) Complex spectrum of inputed L and R channel is computed.
2) Both spectra are converted to polar coordinates and analyzed in order to determine common phase components.
3) The common phase spectrum is obtained and weighted by the outer-middle ear characteristics. The resulting spectrum becomes the spectrum of the center channel.
4) The center channel spectrum is being subtracted from the L and R channel spectra, resulting in FL and FR channel spectra.
5) The SL and SL is a 90 degrees shifted FL and FR (via Hilbert tranform).
This gives a spatial feeling when the resulted signal is reproduced in 5.1 speakers environment.
6) FL, FR, C, SL and SR are tranformed back into time domain. Continuity between consecutive frames is achieved thorugh overlapp-add procedure.
6) LFE is lowpass filtered L+R.
7) Further, the energy envelope of LFE is analyzed and if energy increase is detected, the LFE is amplified. This results in extra low frequency punch.
8) The LFE signal is limited by tansigmoid function in order to prevent from clipping. This also adds additional wormth to the low frequency signal.

===============

That is all. Please experiment with it and you will see how it sounds.
I have spent alot of time on tuning all the parameters, so I hope the final effect
is interesting and worth using.
MP3 5.1 [www.aud-x.com]