Log in

View Full Version : Convert DTS Express? (maybe using Cyberlink Audio Decoder in GraphStudio?)


qupfer
4th April 2013, 14:00
Hi, has somebody any Idea how I can convert a DTS-Express Stream to anything else?

My "idea" was to use Graphedit with Cyberlinks Audio Decoder, but I can't connect the audio-Decoder with any Audio-Renderer or any other filter. But Cyberlinks PowerDVD is the only programm I have, what played the DTS-Express audiostream.

Selur
4th April 2013, 14:35
have you tried ffmpeg?

nevcairiel
4th April 2013, 16:00
You can use my LAV Audio DirectShow decoder to decode DTS Express if you supply the dtsdecoderdll.dll from the ArcSoft decoder (and only with that DLL, because ffmpeg doesn't support DTS Express)

qupfer
4th April 2013, 16:54
You can use my LAV Audio DirectShow decoder to decode DTS Express if you supply the dtsdecoderdll.dll from the ArcSoft decoder (and only with that DLL, because ffmpeg doesn't support DTS Express)

Wow! You are my Hero ;) Woks with the dll of TotalTheatre6-Demo.

Richard1485
27th August 2013, 20:08
You can use my LAV Audio DirectShow decoder to decode DTS Express if you supply the dtsdecoderdll.dll from the ArcSoft decoder (and only with that DLL, because ffmpeg doesn't support DTS Express)

Could you explain how this is accomplished? I have the same problem.

filler56789
27th August 2013, 20:49
Could you explain how this is accomplished? I have the same problem.

From the post #2 in the LAV Filters thread:


Just drop the "dtsdecoderdll.dll" from the TMT3/5 Codecs directory into LAV Audio's directory, and enjoy.

NOTE: This only works on 32-bit!

Richard1485
27th August 2013, 23:52
Thank you for the information, but I don't have a LAV Audio directory, only a directory called LAV Filters containing .dlls. I put the .dll there. Moreover, I need a procedure to follow to decode the audio. I know that I have to use GraphEditStudio, but I am not sure exactly what to do.

filler56789
28th August 2013, 03:13
I don't have a LAV Audio directory, only a directory called LAV Filters containing .dlls.

Blame it on Nev, who wrote not-so-correct information :)

Anyway — open Graphstudio, and from the File menu, choose "Render Media File". If everything is all right, a graph picture shall be displayed. Press the Play button to confirm the audio is being decoded properly. Then, you can remove the Audio Renderer from the graph, replace it with the WavDest filter (from the MPC-HC standalone filters package), and connect this latter to the File Writer filter. When you press the Play button this time, you will obtain a WAV file containing the decoded (i.e., uncompressed) audio track.

P.S.: I'm assuming your file has stereo DTS Express. For multichannel audio (5.1), perhaps this method doesn't work as expected, and then you'd better use eac3to instead of Graphstudio.

Richard1485
28th August 2013, 03:29
Thanks for your help. Render Media File produces an error message: Can't render file.

Actually, the file is mono, which I think is the cause of the problem. Eac3to can only demux it. When I try decoding it to WAV, the result is a file that plays normally for about a second but then sounds sped up. The effect is exactly what is being described here (http://forums.afterdawn.com/t.cfm/f-282/dts_express-demux_convert_from_bluray_-935211/). There was a change to Eac3to quite a while back to allow it to decode mono DTS, but it seems that some files are still problematic. I have the Arcsoft and Sonic decoders installed and have tried other decoders too.

filler56789
28th August 2013, 05:48
DTSdecoderdll.DLL version 1.1.0.8 w/ LAV Audio decodes DTS Express mono as stereo

( from the sample file I have created, at least :) )

http://www.mediafire.com/download/e7zgtp3pwnrs2yl/Marina-Lima-dtsX-mono.wav

Richard1485
28th August 2013, 09:28
DTSdecoderdll.DLL version 1.1.0.8 w/ LAV Audio decodes DTS Express mono as stereo[/CODE]

That's the version I'm using, so either LAV Audio is not picking up the .dll or this particular file is problematic.

Brazil2
28th August 2013, 11:45
Please could anyone post a DTS Express sample for testing purposes ?
Thank you :)

filler56789
28th August 2013, 14:24
That's the version I'm using, so either LAV Audio is not picking up the .dll or this particular file is problematic.

If you downloaded the sample file from my Mediafire folder, you can notice it's a (very-short) LBR-DTS stream that received a WAV header for compressed CBR audio ;) This trick or workaround is necessary for now, because

1) no source filter and no demuxer thus far supports "raw" Low-Bitrate DTS and

2) Matroska has not yet implemented support for A_DTS/EXPRESS.

EDIT: Hmmm, I've just added a "proper" WAV header to the sample file you've sent me, and it's weird, it does behave different than the few DTS-X samples I've created so far :confused:

FWIW, MediaInfo says it's 2h13min long, is that right?
Anyway, when played back in MPC-HC, it sounds in "slow-motion" so to speak :scared: but if I press the "Increase speed" button, it sounds "nearly normal" :confused: However, since I don't know the actual/exact duration of the original audio, I won't try to adjust the duration of the decompressed output with an audio editor.

filler56789
28th August 2013, 16:51
@Jeff B : P.M. has been sent.

Richard1485
28th August 2013, 16:51
The duration given by Mediainfo is correct. Thanks in advance for the upload. :)

filler56789
28th August 2013, 17:04
For the record, only now I've tested your sample in Graphstudio, and discovered that the slow-motion effect was being caused by AC3Filter :confused:
Removing it from the filter chain results in the "seemingly-normal" pitch.

Hope this helps :)

filler56789
28th August 2013, 19:07
To whom this may interest, here goes the "recipe" ^_^

This is what the custom WAV header looks like (sort-of) in a hex editor:

52 49 46 46 5C 5C 5C 5C 57 41 56 45 66 6D 74 20
12 00 00 00 01 20 23 00 80 BB 00 00 25 25 25 25
02 00 10 00 00 00 66 61 63 74 04 00 00 00 24 24
24 24 64 61 74 61 26 26 26 26


R I F F \ \ \ \ W A V E f m t
# € » % % % %
f a c t $ $
$ $ d a t a & & & &

Translation: always in little-endian order,

\ \ \ \ = total filesize minus 8 bytes
(header size + dtsx size - 8 = dtsx size + 50)

# = channels ( hopefully never above 0xFF :) )

% % % % = byte rate (bitrate / 8)

$ $ $ $ = quantity of audio samples
(duration in seconds X samplerate)

& & & & = size of the compressed audio stream

{
Ooops, I had forgotten these ones :o

bytes 24 — 27 mean SampleRate / playback rate
( most useful for hacking 48kHz onto ATRAC3 :D )

bytes 32 and 33 mean BlockAlign ("NumChannels X BitsPerSample/8")

bytes 34 and 35 mean bitdepth ("BitsPerSample")
}

After editing and saving the header according to your needs, you'll just add it to the DTS Express stream by running:

copy /b wavheader + rawstream.dts playable.wav

H.T.H.

Richard1485
28th August 2013, 19:50
Thanks. I now have my WAV. :)