redocneXk released - Realtime 5.1 ac3 Encoder

This is a realtime AC3 encoder that allows you to use spdif passthru with sound from any source.

It encodes to AC3 what you send it by using ASIO. ASIO is used to transfer audio from the sound card to the cpu. The cpu encodes the sound to AC3 and send it out of the computer by using the sound card digital passthru. You can easily do this to every sound played in windows with this program. It works with Creative cards on the kX drivers and the Creative drivers.

As of 1.05, there are three modes handled by the -m switch that take care of selecting the correct inputs and mixing in software, if necessary, for the card and the audio drivers used. There is an auto-detection and it should work in most cases, so you will only need to use the -m switch if the detection is incorrect.

Link : InfoASIOv1.02.zip
This is a tool I wrote to see information about ASIO and access the ASIO control panel.

Instructions for setting the DSP if using the kX drivers :

In the DSP, connect the first 6 pins of Surrounder+ to the pins asio0 to asio5 on epilog and activate passthru in the mixer (check 'Digital Output Only' and select "SPDIF 0" for 'Toggle AC-3 Passthru mode'). Then double-click redocneXk.exe.

It's that simple. You can change some options by using switches. Look in the readme for explanations.

Below are some pics to help set the Mixer, the DSP, the Surrounder+ and the ASIO Control Panel. This is provided to help the users that never touched ASIO or the DSP. Other settings can be used.MixerDSPSurrounder+ASIO Control Panel

********************************************************
NOTE on the encoder :

The encoding is done by the avcodec library. This library is licensed under the LGPL. A copy of the license is included in the zip file and the location where you can find the source code of ffmpeg is written in the readme. The dll is dynamically loaded at runtime. That means that you can recompile the dll and use it instead of the dll I provided. I haven't changed the code of the library. I used msys and mingw32 to compile the dll. The library avcodec is part of ffmpeg.

********************************************************
I also made another version of the tool with a GUI. It contains a mixer and a few more options.
Go to the thread here : redocneXk (GUI version) released - Realtime 5.1 ac3 Encoder
********************************************************
WARNING: this program usually causes a BSOD with games using OpenAL. The reason is unknown. It's recommended to avoid using it with games using OpenAL.
********************************************************
Use this thread for feedback, help and reporting bugs of redocneXk.

first I must say this was the project I'v been looking for years, it was really lame not being able to experience your sound cards features in music and games, as I don't have more than a 2-stereo and a digital input on my home theater.

second, it does the job perfectly, especially when your listening to music, Iv been trying to make a 2-stereo sound to surround using Pro-Logic effects on home theater, but now I see its no match to a real surround done in kX DSP.

it doesn't really have a latency issue, and you won't even notice a thing while playing non-fps games, the ac3 encoded sound is there and it matches the game perfectly, but in fps games, especially the multiplayer ones, you cant even withstand a 50ms delay as you have to react as soon as possible, but yet the latency is satisfying :bleh:

to conclude, this project takes you out of a cable chaos while you still enjoy a 5.1 true surround experience on your system, great work

You can leave the dll in the same folder as the exe. I can't comment on the settings of the mixer because my card does not support passthru and I never tested passthru myself.

I'll add an explanation of how to set-up the mixer in the first post once someone replies with the procedure in this thread.
My guess is that you have to choose SPDIF 0, SPDIF 1 or SPDIF 2 instead of Off on the bottom where it's written AC3. I don't know if you have to check "Toggle Digital Output Only Mode" or "Toggle SPDIF Bypass Mode".

here this program works perfectly! really nice one!!
I've tested F.E.A.R, a first person shooter and it was great. bullets from all directions :duh:
also latency looks quite alright because voices and shots were synchronously, imo

but maybe you can compile the program with sse and sse2 flags, so the latency is getting less?
(dont know if this works because im not a programmer )

Say does one need digital speakers for this to work? Can anybody say how the kX Mixer is suppose to be set up for this to work. I think I'm doing something wrong. When I double click on the redocneXk.exe one of the lines in the window that pops up says:

Error Message: No ASIO Driver error

But then at the bottom it says:

Status
ASIO driver started successfully.

I never tried using any SPDIF setting before. Sorry for my ignorance, but what am I doing wrong?

From that you see that you get the numbers 32, 48, 64, 96, 128, 192, 256, 384, 512, 768 and 1536. You will get the lowest latency with redocneXk if you use one of those numbers as the number of samples for the ASIO buffer. You will get the same latency if you chose any of those numbers because it takes the same time to fill the buffer of 1536 samples.

What this means is don't choose 1024 or any number higher than 1536 for the ASIO latency in the ASIO Control Panel if you want the lowest latency.

Hi, I have a few questions about this program. I'm in the process of upgrading from an Athlon XP and nForce2 motherboard with SoundStorm, to a newer dual-core Opteron system with an Audigy 2. So, I have been in search of a way to encode 5.1 game audio to Dolby Digital in real-time in software for the times when I hook my computer up to a receiver (since my old motherboard could do it) - and it looks like I may have just found my answer.

I apologize in advance if these questions are a bit stupid, but I want to make sure that I understand correctly how to use this program. Am I to install the Audigy 2 drivers from Creative's website as I normally would? Or the kX drivers that I'm starting to read about here? Then, how exactly would I go about setting up this program to encode all my audio into AC3/DD and send it out over the card's digital output? I didn't quite understand the references to ASIO and Surrounder+ in the readme file.