Log in

View Full Version : DTSWAV DirectShow Filter released


Pages : [1] 2

hypercube
6th May 2003, 22:54
now it was easy to play DTS/WAV in Windows Media Player.

you can download it on my website:
http://hypercube.is.dreaming.org

warning: this is a poor release, no seeking, no restart allowed.

note1: only windows media player support DirectShow Filter association.
So don't blame me if winamp open your WAV without playing the file.
:D

note2: you can rename your DTS/WAV files, it doesn't care.

kempfand
6th May 2003, 23:33
only windows media player support DirectShow Filter association In fact, also 'Zoom Player' plays *.dts (both 48 + 44.1 kHz) perfectly (if configured Manual FIlters: Auto by Extension). Even with seeking :-) :-) :-)

Now: if HyperCube will work in 'PCM Engine'-mode (i.e. outputting the 6 pcm-files), it's time for me to open a bottle of champagne (I know it already works on 48.1 kHz dts).

Pressing thumbs ...
Andreas

Maxiuca
6th May 2003, 23:54
Originally posted by kempfand

Now: if HyperCube will work in 'PCM Engine'-mode (i.e. outputting the 6 pcm-files), it's time for me to open a bottle of champagne (I know it already works on 48.1 kHz dts).

Andreas [/B]

48 kHx dts encoding works fine. In fact I'm writing a small guide about it right now. What do you mean by "PCM Engine mode"? Anyway I use graphedit, DTSSource, File writer, WAV Dest and Intervideo Filters to encode a DTS file to a 6ch WAV file (which has bad header and cannot be read properly in any app, btw.). I also wrote a simple program that splits this into 6 mono waves. I'll post it to the forum soon (it's in very alpha stat right now).

As for 44.1 dts decoding:
I've been trying to capture the DTS soundtrack from laserdiscs. I wanted to covnert a wav file to .dts file with besplit and than do it the same way as with 48 khz dts. It worked fine with a wav file created by surcode (btw. WAV Dest and File Writer always produces a 48 kHz wave file, well not exaclty 48 kHz but the WAV header is wrong again... but I also solved this problem in my small program) but besplit doesn't work with the wav-dts files captured from a laserdisc.

--- the log for DSPguru---

BeSplit v0.9b4 by DSPguru.
--------------------------

Logging start : 05/05/03 , 20:45:35.

BeSplit -core( -logfilea belog.txt -input lms2.wav -output lms2.dts -type dtswav -fix )

[00:00:00:000] +------- BeSplit -----
[00:00:00:000] | Input : lms2.wav
[00:00:00:000] | Source Sample-Rate: 44.1KHz
[00:00:00:000] | Channels Count: 5.1, Bitrate: 4096kbps
[00:00:00:000] | Output : lms2.dts
[00:00:00:000] +---------------------
[00:01:01:811] | Writing lms2.dts
[00:01:01:811] +---------------------
[00:01:01:811] Operation Completed !
[00:00:04:000] <-- Process Duration
Logging ends : 05/05/03 , 20:45:39.

------ end of log :) -------

Something is wrong with the bitrate (should be 1411). Also the file that was produced was two times smaller then the input file. Any ideas how to fix it (maybe DSPguru should contact hypercube about it, as DTSWAVSource does read this fine...)

Anyway. DTSWAVSource solved this problem (more or less, as this is in fact a very early and poor release, but it works!!). It reads the dts-wav from laserdisc fine and allows to decode it using the graphedit method.

So generally: DTS decoding in now possible!!!
(btw. when I asked about it one week ago or so, someone anwsered that I should forget about it, well i didn't :))

There is only one problem with DTSWAVSource. It seems it doesn't recognize the end of the file. When I go the grapedit way with WAV Dest and File Writer, it doesn't stop after the end of the dts-wav file but produces an unlimited wav file with noise after the decoded sound. It's not a big problem, as you can always press stop in graphedit and cut the noise out, but if the author could fix this it would be very nice.

Maxiuca

hypercube
7th May 2003, 08:05
@kempfand
as say Maxiuca, I am not sure my filter work with HT3 due to
START/STOP/SEEK features...for instance ;)

about 'Zoom Player' : it play .DTS file but not .WAV with DTS data,
isn't it ? For example, if you use the "render file" function in
Graphedit, on your DTS/WAV file, graphedit use WAV parser, not my
filter. You have to build the graph yourself... It was exactly the
same problem with HT3. You will have to build the graph yourself:

DTSWAVSource => Intervideo Audio Decoder => Hypercube Wrapper
^
check 5.1 output

@Maxiuca
your besplit pb is strange because I test my DTSWAVFilter only with
WAV produced by Surcode. So it was a miracle my filter work with
Laserdisk DTS and besplit doesn't work with...


how have you rip this DTS/WAV file ?



There is only one problem with DTSWAVSource. It seems it doesn't recognize the end of the file. When I go the grapedit way with WAV Dest and File Writer, it doesn't stop after the end of the dts-wav file but produces an unlimited wav file with noise after the decoded sound.
this problem doesn't seems to appear with Surcode files. may be
laserdisk track is not exactly the same format than DTS/WAV...
I will put a "DTS/WAV to DTS" tool (doing exactly the same job than
besplit) on my website. could you test it on your file ?

anyone interested in "DTS to DTS/WAV" tool ?
may be such DTS/WAV (48Khz) can be played on CDR ...

Maxiuca
7th May 2003, 09:17
your besplit pb is strange because I test my DTSWAVFilter only with
WAV produced by Surcode. So it was a miracle my filter work with
Laserdisk DTS and besplit doesn't work with...
Well than in fact it is a miracle :) Where did you get the documentation for this filter from? Could you maybe share it with me?
how have you rip this DTS/WAV file ?
I just connect the LD player with a optical cable to my soundcard and record it to a WAV file. I already did it with ac-3 soundtracks and it works like charm.
this problem doesn't seems to appear with Surcode files. may be laserdisk track is not exactly the same format than DTS/WAV...
You are right. I've tried it with surcode file and it works fine. But so does BeSplit... Strange. The laserdisc track should be exaclty the same...
I will put a "DTS/WAV to DTS" tool (doing exactly the same job than besplit) on my website. could you test it on your file?
Sure, I'll test. When will you put that tool? Any chance you could share the source code with me?
anyone interested in "DTS to DTS/WAV" tool ?
may be such DTS/WAV (48Khz) can be played on CDR ...
A 48 kHz DTS/WAV cannot be played on a CD-R as you simply cannot record a 48 kHz file to a CD... The only way is to decode the 48 kHz DTS file and than encode it in surcode at 44.1 kHz.
But I'm personally interested in the oposite way, so 44.1 -> 48, or just 44.1 kHz DTS to 48 kHz AC-3 (the DTS encoder by Surcode is rather expensive...). I'm writing a small guide on transfering Laserdisc to DVDs. There are some LDs that have never been released on DVDs and released on a LD only with DTS soundtrack (for example: The Schindler's List).

--
Maxiuca

hypercube
7th May 2003, 09:52
You are right. I've tried it with surcode file and it works fine. But so does BeSplit... Strange. The laserdisc track should be exaclty the same...
another bone for my teeth :D
Could you put this file anywhere so I can download it and analyse it.
(use private message)

Sure, I'll test. When will you put that tool? Any chance you could share the source code with me?
I'm planning to publish some coding stuff, like a BitStreamReader API,
MPEG2 demultiplexer example...
I published the DTSWAV => DTS conversion scheme on dvdrhelp forum:
http://www.dvdrhelp.com/forum/viewtopic.php?t=153132

DTS spec can be found in ETSI website. version 1.2.1 are really good.
May be DTS decoding will be possible with this document... But it's
too hard for me.
simply search "DTS Coherent Acoustics; Core and Extensions" with google.
With this document, it should be possible to make a DTS frame editor
with Cut/paste features...

Maxiuca
7th May 2003, 10:05
You can dl a DTS/WAV file from a Laserdisc here:

http://akson.sgh.waw.pl/~wj23277/lms.zip

it a very short clip from Last Man Standing. It plays fine in WinDVD3/4 when recorded to a CD, but doesn't work with neihter BeSplit nor with WAVDTSSource... This is funny, because I have recorded another clip (but it's 20 mb and I have no place to upload it...) and it works almost fine with WAVDTSSource (only this eof problem).

Anyway, maybe this file will be helpful.

--
Maxiuca

hypercube
7th May 2003, 10:05
you simply cannot record a 48 kHz file to a CD
in my opinion, this is not so clear than you said.

How DTS on CDR works ?
Surcode produce DTS data then encapsulate them in WAV headers to
be successfully handled by burning softwares. So WAV header contain
stuff like "44.100Khz Stereo 16 bits".
Don't forget this: WAV header are NOT present on CDR !

But, how CDR/DTS are decoded ?
DTS receiver recognize 14 bits DTS format then decode it and play it.

Here my idea:
put a 48Khz DTS stream in WAV with fake WAV header: "44.100Khz Stereo 16 bits". You CAN burn this file ! ;)
then, your CDR will contain 14 bit DTS stream at 48khz. And I'm
sure every DTS receiver can handle this because they can handle
regular DTS streams at 48Khz from DVD. :D

Maxiuca
7th May 2003, 10:28
in my opinion, this is not so clear than you said.

How DTS on CDR works ?
Surcode produce DTS data then encapsulate them in WAV headers to
be successfully handled by burning softwares. So WAV header contain
stuff like "44.100Khz Stereo 16 bits".
Don't forget this: WAV header are NOT present on CDR !

But, how CDR/DTS are decoded ?
DTS receiver recognize 14 bits DTS format then decode it and play it.

Here my idea:
put a 48Khz DTS stream in WAV with fake WAV header: "44.100Khz Stereo 16 bits". You CAN burn this file ! ;)
then, your CDR will contain 14 bit DTS stream at 48khz. And I'm
sure every DTS receiver can handle this because they can handle
regular DTS streams at 48Khz from DVD. :D

You are right. It works. I dunno why and how, but i does work :) (it works with WinDVD4). But i really don't understand why:) Theoretically the receiver gets now only 44100 bytes a second instead of desired 48000 bytes. I tested it with Titanic Trailer and what i mean is that when playing from DVD the stream should be 4:13 long but it's 4:35 long. So the result is playing 8% slower than the input. It maybe ok with some movies, but definately not good for music. The CD/DTS are produced in a different way. They are encoded as 44.1 kHz DTS files form 44.1 kHz sources.

So to have it done right, you have to decode the 48 kHz file fist, then downsample all waves to 44.1 kHz and encode them with surcode to a 44.1 kHz WAV/DTS. It's possible and there are no problems with it.

But as I previously wrote, I want to do it in the other direction 44.1->48. I hope you'll be able to help with this WAV file i posted.

--
Maxiuca

DSPguru
7th May 2003, 10:39
Originally posted by Maxiuca
48 kHx dts encoding works fine. In fact I'm writing a small guide about it right now. What do you mean by "PCM Engine mode"? Anyway I use graphedit, DTSSource, File writer, WAV Dest and Intervideo Filters to encode a DTS file to a 6ch WAV file (which has bad header and cannot be read properly in any app, btw.).wrong! BeSweet eats it correctly, and will also split to 6 mono waves, downsample, normalize.. if you just use the right switches (or easier - use BeSweetGUI). I also wrote a simple program that splits this into 6 mono waves. I'll post it to the forum soon (it's in very alpha stat right now).

As for 44.1 dts decoding:
I've been trying to capture the DTS soundtrack from laserdiscs. I wanted to covnert a wav file to .dts file with besplit and than do it the same way as with 48 khz dts. It worked fine with a wav file created by surcode (btw. WAV Dest and File Writer always produces a 48 kHz wave file, well not exaclty 48 kHz but the WAV header is wrong again... but I also solved this problem in my small program) but besplit doesn't work with the wav-dts files captured from a laserdisc. in "-type dtswav", BeSplit looks for two different types of dtswav, and it probably detected the wrong one.

DSPguru
7th May 2003, 10:45
Originally posted by hypercube
found in ETSI website. version 1.2.1 are really good.
May be DTS decoding will be possible with this document... But it's
too hard for me.
simply search "DTS Coherent Acoustics; Core and Extensions" with google.
With this document, it should be possible to make a DTS frame editor
with Cut/paste features... a direct link can be found on one of the threads (http://forum.doom9.org/showthread.php?s=&threadid=34958) in this forum. i would strongly advise new members to use the search function!

Originally posted by hypercube
Here my idea:
put a 48Khz DTS stream in WAV with fake WAV header: "44.100Khz Stereo 16 bits". You CAN burn this file ! ;)
then, your CDR will contain 14 bit DTS stream at 48khz. And I'm
sure every DTS receiver can handle this because they can handle
regular DTS streams at 48Khz from DVD. :D you are partially right, but you forgot that the track is being delivered through spdif traffic at bitrate proportoinal to 44.1khz, and the decoding circuits and the dac's p.l.l. derives its clock from the biphase-mark encoding.

Originally posted by Maxiuca
So the result is playing 8% slower than the input.exactly!
talking about the powerful search function.. those issues had been discussed in here sometime at the end of 2001!

hypercube
7th May 2003, 11:16
You are right. It works. I dunno why and how, but i does work (it works with WinDVD4). But i really don't understand why

wait a minute, how did you convert DTS into DTS/WAV ?
is there any software which can do that ?

you are partially right, but you forgot that the track is being delivered through spdif traffic at bitrate proportoinal to 44.1khz, and the decoding circuits and the dac's p.l.l. derives its clock from the biphase-mark encoding.

ok but witch configuration have been tested ?

- standalone DVD player => DTS receiver
or
- PC => DTS receiver via SPDIF

DSPguru
7th May 2003, 11:24
Originally posted by hypercube
wait a minute, how did you convert DTS into DTS/WAV ?
is there any software which can do that ?http://forum.doom9.org/showthread.php?s=&threadid=35882
http://forum.doom9.org/showthread.php?s=&threadid=42608&perpage=14&pagenumber=2

Maxiuca
7th May 2003, 11:27
Originally posted by DSPguru
wrong! BeSweet eats it correctly, and will also split to 6 mono waves, downsample, normalize.. if you just use the right switches.


Hi DSPguru, nice to have you in this discussion! :)
I didn't know that BeSweet will accept this pseudo 6 ch wave, but it's nice to know that. I'll try to figure out how and include it in my guide. I wasted 1 hour for my program :) But it's nice an handy, maybe will be usefull for someone.

Originally posted by DSPguru
in "-type dtswav", BeSplit looks for two different types of dtswav, and it probably detected the wrong one.

and exactly for what types of dtswav does beplit look for? Is there any chance to force it somehow to choose the good one? I posted a link to the dtswav file caputered from the Laserdisc. Maybe you could dl it and analise it and the find the reason why besplit doesn't output it properly?

The laserdisc community will be grateful for your help! :)

--
Maxiuca

Maxiuca
7th May 2003, 11:33
Originally posted by hypercube
wait a minute, how did you convert DTS into DTS/WAV ?
is there any software which can do that ?


I didn't have to convert DTS into DTS/WAV cause I have "DTS Demo Disc #2" which was recorded with DTS/PCM track. But you can do it.
I did it several times.

Either using Vobrator (like DSPguru advised) or by graphedit method:

DTSSource->Intervideo Audio decoder (setting: enable SDPIF out) -> WAV Dest -> File Writer.

Press play and you'll get a nice WAV/DTS file.

And it can be then converted with besplit to a regular DTS file and so on :)

--
Maxiuca

hypercube
7th May 2003, 12:33
DSPGuru, I read the thread about DTS editing.
things are not clear.

does VOBRator generate WAV file with 48khz in WAV header ?
if yes, then it is not what I want to test.
if not, then it is sure now: it does not work. definitively.

hypercube
7th May 2003, 12:46
what is this shit ! :scared:

I didn't found the DTS sync word in your WAV file.
(FF1F00E8xx07 in .WAV or 7FFE8001 in .DTS)
this is NOT the same format as SureCode DTS.

DSPGuru, you talk about a "second DTS format", what do you mean ?


@Maxiuca
so you put this strange WAV file in my filter and you send it
to Intervideo Audio Decoder and it work fine ? You hear the sound ?
So Intervideo Audio Decoder is able to decode Laserdic DTS format.
fine. :p

hypercube
7th May 2003, 13:24
BeSweet eats it correctly, and will also split to 6 mono waves, downsample, normalize.. if you just use the right switches.
you mean BeSweet can decode DTS then downsample, normalize ?

Maxiuca
7th May 2003, 14:35
Originally posted by hypercube
you mean BeSweet can decode DTS then downsample, normalize ?

No, he meant that BeSweet can downsample, normalize (and so on) a 6ch WAVe file, even if the header says it's a 2 channel wave file. You just have to use right switches to tell BeSweet what kind of file is this in real.

--
Maxiuca

Maxiuca
7th May 2003, 14:40
Originally posted by hypercube
what is this shit ! :scared:

I didn't found the DTS sync word in your WAV file.
(FF1F00E8xx07 in .WAV or 7FFE8001 in .DTS)
this is NOT the same format as SureCode DTS.

DSPGuru, you talk about a "second DTS format", what do you mean ?

@Maxiuca
so you put this strange WAV file in my filter and you send it
to Intervideo Audio Decoder and it work fine ? You hear the sound ?
So Intervideo Audio Decoder is able to decode Laserdic DTS format.
fine. :p

Hypercube:

No the file I uploaded is a different file that couldn't be read by your filter, nor by BeSplit. But it worked fine when I recorded it on a CD and played with WinDVD3/4
I have another WAV file that works fine with your filter, but it's 20 mb and I don't have any place to upload it... Maybe someone has some free space on a server?

--
Maxiuca

daphy
7th May 2003, 14:53
anyone interested in "DTS to DTS/WAV" tool ?

Yes for shure :D :D

Will check this DS Filter this evening :D

do I really have to place the ax-file in the system32 folder, i always thought that ds-filter can be placed everywhere :confused:

CYA Daphy

hypercube
7th May 2003, 15:09
I have another WAV file that works fine with your filter
so I don't want to download it. ;)

No the file I uploaded is a different file that couldn't be read by your filter, nor by BeSplit. But it worked fine when I recorded it on a CD and played with WinDVD3/4
you rip it in the same way as the working file ?

if yes, then we have a new challenge here ! :sly:
Challenge is: fix these data to be played from disk.

If some one can found the right DirectShow Graph to play your CDR
with WinDVD filters, it will be possible to detect the right format
(using stuff like DirectShow Spy Filter) sent to Intervideo Audio decoder...

CDR => filter => Spy Filter => Intervideo Audio decoder => audio renderer

May be there is another solution.
do you know if you WAV file contain 48Khz dts data in 5.1 mode ?
I can build a DTS parser and launch it under your file, and skip
somes bits until the parser detect the right format.
My hypothesis: only sync word are missing. I took a look at first
byte of DTS data (in WAV format and in regular format), and they
not seem to be sync word (no regular repeating)

another idea:
you WAV file contain encrypted DTS stream. :D
does anyone know if it possible for LaserDisc ?

hypercube
7th May 2003, 15:13
do I really have to place the ax-file in the system32 folder

dear daphy, I said that not to have to respond questions like
"where I put the .ax file" :p
sure, you can put it everywhere on your hard disk...

hypercube
7th May 2003, 19:26
I removed .WAV association due to conflict with
"File Source (Async.)" filter. So, I propose to
use .DTSWAV file extension, then Windows Media Player,
Graphedit and HT3 will be able to render the file.

note:
DTSWAVSource can handle regular .DTS files like DTSSource if you
force loading such file. I don't want to change .dts association
with DTSSource in respect to its author. :D

Maxiuca
7th May 2003, 19:30
so I don't want to download it. ;)

Oh I think you do want :)) to see the difference between them?

you rip it in the same way as the working file ?
if yes, then we have a new challenge here ! :sly:
Challenge is: fix these data to be played from disk.

May be there is another solution.
do you know if you WAV file contain 48Khz dts data in 5.1 mode ?

I can build a DTS parser and launch it under your file, and skip
somes bits until the parser detect the right format.
My hypothesis: only sync word are missing. I took a look at first
byte of DTS data (in WAV format and in regular format), and they
not seem to be sync word (no regular repeating)

Ok, so let me explain:
I have a DTS Laserdisc "Last Man Standing". I've recorded two waves from this disc. First is the one i made avaialble (lms.wav). Second one (lms2.wav) is a 20 MB one, that works (but your filter doesn't stop after the end of file and outputs some noise after it should stop).
I did two things with the second one. I've cut & pasted first 43 seconds of this wave into new file (lms4.wav). Then I've cut & pasted 37 second from the middle into new file (lms3.wav)

The results:
lms4.wav played fine (only the eof bug is still there)
lms3.wav didn't play at all.

Then I wrote a very simple app that cuts some bytes from a wave file.
And... yes you probably already know the answer :)
I've cut 4 fist bytes and it works fine now.

So I went back to the lms.wav that I uploaded for you guys and started cutting. And again after I've cut 4 bytes it started to work.

So my guess was that the data has to start with a full sample (packet of data, whatever it is called in dts).

So I started to wonder: how big is this saple and started cutting more and more and it worked for 12 and for 20, so my guess is that this sample is 8 bytes long.

Now: Could anyone smarter than me, with better programming skills (Hypercupe, DSPguru :) ) use this information and write dts/wav to dts converter? :)

The file is of course a 44.1 kHz dts data in 5.1 mode.


[QUOTE][B] another idea:
you WAV file contain encrypted DTS stream. :D
does anyone know if it possible for LaserDisc ? [QUOTE][B]

No, not possible :)

--
Maxiuca

Maxiuca
7th May 2003, 19:32
Oh, I forgot:

I made the two other files also avaiable:
http://akson.sgh.waw.pl/~wj23277/lms3.zip
http://akson.sgh.waw.pl/~wj23277/lms4.zip

--
Maxiuca

kempfand
7th May 2003, 20:38
OK: I think I found a working solution to demux a 44.1 kHz DTS_WAV into the 6 channels. It looks a bit strange, but it works on 2 test I've done.

As an example, I took the Test-DTS_WAV from http://www.minnetonkaaudio.com/Soundfiles/Fire__VooDoo_Studio_30_sec.wav (Minnetonka).

Then fix and convert to DTS with BeSplit v0.9b4:
besplit -core ( -logfile m:\besplit.log -input Fire.wav -fix -output m:\Fire.dts -type dtswav )

------------------------------------------------
Logging start : 05/07/03 , 21:14:18.

besplit -core ( -logfile m:\besplit.log -input Fire.wav -fix -output m:\Fire.dts -type dtswav )

[00:00:00:000] +------- BeSplit -----
[00:00:00:000] | Input : Fire.wav
[00:00:00:000] | Source Sample-Rate: 44.1KHz
[00:00:00:000] | Channels Count: 5.1, Bitrate: 1411.2kbps
[00:00:00:000] | Output : m:\Fire.dts
[00:00:00:000] +---------------------
[00:00:29:233] | Writing m:\Fire.dts
[00:00:29:233] +---------------------
[00:00:29:233] Operation Completed !
[00:00:00:000] <-- Process Duration
Logging ends : 05/07/03 , 21:14:18.
------------------------------------------------

Then run the DTS through HyperCube 3.0.1, with PCM Engine (i.e. demux to PCM) and Intervideo Audio Decoder in 6 speaker mode.

This will then run over 100% (to 104.9% here); Just let it finish.

Then batch-convert the 6 PCM's (I use CoolEdit Pro): with 'Open Raw PCM, sample rate 44100, Mono, 16-bit Intel PCM.

The 6 WAV's then have exactly the same duration as the original DTS_WAV (30 sec with the Minnetonka example).

If someone could reproduce, please let us know.

Regards,
Andreas

Maxiuca
7th May 2003, 21:53
I know an easier way :)

Set Graphedit like this:

DTSSource [File.dts] or DTSWAVSource[File.wavdts} -> Intervideo Audio Decoder [5.1 Output] -> WAV Dest -> File writer [output.wav]

Press play and wait :)

DL my splitting program:

http://tommers.w.interia.pl/wav2wav6.zip (all needed filters are also included)

and run it like this (or simply drag and drop - if your input dts was 48 kHz

wav2wav6 output.wav [-44 if your input dts was 44.1]

you'll get 6 mono waves :)

--
Maxiuca

hypercube
7th May 2003, 22:07
this is simple. In fact you started the recording via SPDIF
without frame synchronization.
DTSWAV sync word is FF1F00E8, the first part of your file is
in the middle of a frame. So If a DTSWAV decoder, like mine or
besplit, try to decode from start of your file: every bit produced
will be related to...shit.

1 frame in DTSWAV format = 4096 bytes

this is true in your file and in Surcode DTS files.

BUT:

I patch dts2wav to start at the first DTSWAV sync word
(2836 DTS bytes skipped).
Then I put the .DTS file in my DTS parser:

sync: 7FFE8001
SFREQ: 8 = 44.1 Khz regarding DTS spec
RATE: 1D = "open" ! regardning spec
AMODE: 9 = C L R SL SR

next frame is... trashed. (my parser work fine on Surcode Files)

sync: FE8001FC
SFREQ: 8
RATE: 0 = 32 kbits/s
AMODE: E = unrealistic configuration

I restart dts2wav at position 2836+4096
then I put again the .DTS file in my DTS parser:

sync: 7FFE8001
SFREQ: 8
RATE: 1D
AMODE: 9

next frame is also trashed:

sync: FE8001FC
SFREQ: 8
RATE: 0
AMODE: E


I have tried to play theses .dts files and it work fine with
DTSSource until my PC hang definitively. :D
May be this due to the NEXT frame: it was trashed, regarding the
result of my parser.

technically the "Frame Size" field of DTS file is not correct when
"frame rate" field is "open" (0x1D) And may be this is why Intervideo
Audio decoder crash/hang.

does it crash for you ?

hypercube
7th May 2003, 22:13
correction: DTSSource does not work (crash) with these .DTS file,
you have to use Graphedit and my DTSWAVSource filter.

As I said, it can handle regular .dts : it send data directly to
Intervideo Audio Decoder without applying DTS/WAV => DTS convertion
if the file extension is .dts

hypercube
7th May 2003, 22:52
I patch my DTS parser to not use "Frame Size" field.

surcode files produce 3584 bytes per DTS frames

your file contain 17864 bytes per DTS frames

the 2 final frames are strange, but coherent:
frame n-1 = 22704 bytes
frame n = 25928 bytes => may be truncated

I think my PC crash during play because last frame is truncated.

The mysterious DTS LaserDisc Format is gone. :sly:
your DTS Laserdisc format seems to be 5.1 44.1Khz VBR !

I'm going to sleep a little bit...
:D

kempfand
7th May 2003, 23:04
@ Maxiuca:

Your tool works great !! --> :) :) :)

A great short DTS_WAV -44 to test-run it is "SR 5.1" - Test Canaux - VERSION DTS 5.1 (http://www.sr.se/laddahem/MultiKanal/Dts/SURROUNDTEST_011212.zip)

A few comments:

- You might want to add 'cc3260mt.dll', as I had to put it into the same directory as 'wav2wav6.exe' (it was not on my PC).

- REGDROP.EXE did not work for me (maybe it's just my machine), so I used something like:
--------------------
@echo off

SET codec=iviaudio3.ax

if "%OS%"=="Windows_NT" goto WINNT

:WIN9X
copy %codec% %windir%\system
%windir%\system\regsvr32.exe /s %windir%\system\%codec%
goto FIN

:WINNT
copy %codec% %windir%\system32
%windir%\system32\regsvr32.exe /s %windir%\system32\%codec%

:FIN
echo iviaudio3.ax [enabled]
pause
--------------------

Big thanks for this one. Hopefully, we'll see it integrated into BeSure v1.3 :D

Kind regards,
Andreas

Maxiuca
7th May 2003, 23:22
Originally posted by kempfand
Your tool works great !! --> :) :) :)

A great short DTS_WAV -44 to test-run it is "SR 5.1" - Test Canaux - VERSION DTS 5.1 (http://www.sr.se/laddahem/MultiKanal/Dts/SURROUNDTEST_011212.zip)

A few comments:

- You might want to add 'cc3260mt.dll', as I had to put it into the same directory as 'wav2wav6.exe' (it was not on my PC).



Thanks. This is a very early alpha release. I actually wrote it for myself, but as I saw it might be usefull for someone I decided to make if available to the public :)

I've just added the dll to the archive. I simply forgot about it... But I'll try to make it a standalone app in the future.

- REGDROP.EXE did not work for me (maybe it's just my machine), so I used something like:

Strange... I found it somewhere on the net and thougt it might be usefull. Works on three of my OSes just fine (98 and 2xXP)

Big thanks for this one. Hopefully, we'll see it integrated into BeSure v1.3 :D

Actually BeSweet can also do it, you just have to use right switches (it's what DSPguru wrote) but i dunno which ones :)
But now you have a choice :)

Regards,
Maxiuca

hypercube
8th May 2003, 08:17
I read the DTS spec it was clear now: the "open" bitrate does not
mean VBR. It is simply a way to say: "birate is fixed but not
specified"

my DTS parser was buggy, here is real result:

all frame are 3584 byte long, like Surcode files
regarding DTS spec, fsize field must be equal to "frame size-1",
and in your file: IT WAS NOT ! fsize = "frame size" !!

last frame is truncated: 2086 bytes

that's all.

@Maxiuca

you should make a tiny DTS/WAV patcher, to remove first and last
truncated frames. I hope HT3 will not produce noise if last frame
is not truncated.

Maxiuca
8th May 2003, 13:40
@Hypercube:

what is exactly this fsize field? Where can I find this value. Can you give me a link to that DTS specification file you are talking about?

So if I fix the first and last frame simply by removing them, then this file should work fine? Or should I maybe also alter the fsize value?

Also what do you mean saying "your DTS parser"? You mean the DTSWASSource or the WAV2DTS program?

@DSPguru (if he's still with us :))
are you going to use those information for BeSplit? Because I dunno if there is any sense for us in coding the solution to the same problem.

Best Regards,

Maxiuca

DSPguru
8th May 2003, 15:08
Originally posted by Maxiuca
@DSPguru (if he's still with us :))
are you going to use those information for BeSplit? Because I dunno if there is any sense for us in coding the solution to the same problem.1. i'm attaching a BeSplit version that managed to convert your dtswav into dts that works perfectly with PowerDVD as player.

2. specOriginally posted by DSPguru
a direct link can be found on one of the threads (http://forum.doom9.org/showthread.php?s=&threadid=34958) in this forum. i would strongly advise new members to use the search function!

3. am i away ?
i hardly have time to visit the forum, and as soon as i'll be releasing BeSweet v1.5 stable, i'll be truely gone.

@hc (hypercube)
please please please, join forces with gabest to have a single filter that supports dts&dtswav with seek support and everything.
we don't need two different source filters for two different (but pretty similar) tasks.

@kempfand
1. BeSweet -core( -6ch ) will split the 6channel wave into six mono waves.
you can also normalize and resample if needed. you can learn the switches by reading the manuals or by playing with BeSweetGUI.

2. BeSure v1.3 isn't ready yet, as i'm still waiting for its author (dvd2svcd) to have some free time to work on it.

3. with all my respect to the tools and methods offered in here, my current method of transcoding 48khz 5.1dts into 44.1khz, normalized, 5.1dts-wav is Graphedit->BeSweet->Surcode.
with BeSure v1.3, this process would be shorter and automated for multiple inputs.

Maxiuca
8th May 2003, 15:27
Originally posted by DSPguru
1. i'm attaching a BeSplit version that managed to convert your dtswav into dts that works perfectly with PowerDVD as player.

Thanks :)) It does work fine! It was alsa playable in Graphedit via DTSWAVSource but crashed DTSSource.

Originally posted by DSPguru 3. am i away ?
i hardly have time to visit the forum, and as soon as i'll be releasing BeSweet v1.5 stable, i'll be truely gone

Gone? like forever? No new releases? or just you won't post anything to the forum?

Best Regards,

Maxiuca

Maxiuca
8th May 2003, 15:32
Originally posted by DSPguru
11. BeSweet -core( -6ch ) will split the 6channel wave into six mono waves.

And what if this wave's header says that it's 48 kHz but in fact it's a 44.1 kHz (WAV Dest and File writer somehow always produce a wave with 48 kHz header...)? Can you force BeSweet to treat this file as it was a 44.1 kHz?

--
Maxiuca

DSPguru
8th May 2003, 15:39
1. -ota( -fs 44100 ) will force an input samplerate. (supported by the GUI as well).
2. gone until i'm needed again and have free time. (i don't think there's anything missing in v1.5 features-list. the only thing that missing is to find a way to help people learn about the existence of all those features)

hypercube
8th May 2003, 21:43
what is exactly this fsize field? Where can I find this value. Can you give me a link to that DTS specification file you are talking about?

DTS spec say:

Primary Frame Byte Size V FSIZE 14 bits
(FSIZE+1) is the total byte size of the current frame including primary audio data as well as any extension audio data.
Valid range for FSIZE: 95 to 16 383. Invalid range for FSIZE: 0 to 94.

So if I fix the first and last frame simply by removing them, then this file should work fine? Or should I maybe also alter the fsize value?
forget fsize, this is usefull only if you want to parse DTS data.
You have simply to search the DTSWAV sync word (not DTS sync word!!)
in the DATA chunc. cut all bytes before the first occurence of this
sync word. then jump DTSWAV frame after DTSWAV frame, and remove the
last frame (certainly truncated)
it should be not diffcult to do.

Also what do you mean saying "your DTS parser"? You mean the DTSWASSource or the WAV2DTS program?
no,no. I build a DTS parser for my pleasure :D
this is very simple with DTS spec and with my BitStreamReader API.
I will publish this API one day... may be in one or two week.
and may be in 4 week, I will publish my DirectShow API.

please please please, join forces with gabest to have a single filter that supports dts&dtswav with seek support and everything.
I will implement seeking when I will be motivated. For instance,
I'm not in "coding period". I prefer to go in the nature with my
girl friend. watching bird, flowers and so on... :p

sebus
9th May 2003, 13:00
Can anyone mirror is somewhere. It is impossible to get it from Polish site

sebus

kempfand
9th May 2003, 20:49
@ DSPGuru, kindly asking for advice / help: my current method of transcoding 48khz 5.1dts into 44.1khz, normalized, 5.1dts-wav is Graphedit->BeSweet->Surcode I tried hard to follow this procedure
with 44.1 kHz 5.1 dts as starting point. It kind of works, but the 6 splitted wav's always play back at much slower speed (around 1/3 speed at which they should). I tested this on 2 independent machines, with different samples (both 44.1 & 48 lHz).

Details:

(a) Staring point (as an example) is a 5.1 dtswav:
short Swedish 5.1 dtswav Test (http://www.sr.se/laddahem/MultiKanal/Dts/SURROUNDTEST_011212.zip)

(b) Convert it to *.dts:

BeSplit v0.9b4 by DSPguru.
--------------------------

Logging start : 05/09/03 , 15:04:35.

C:\Temp\BeSplit\BeSplit.exe -core( -input C:\Temp\Test.wav -fix
-logfile C:\Temp\BeSliced.txt -type dtswav -output C:\Temp\Test_Fixed.dts )

[00:00:00:000] +------- BeSplit -----
[00:00:00:000] | Input : C:\Temp\Test.wav
[00:00:00:000] | Source Sample-Rate: 44.1KHz
[00:00:00:000] | Channels Count: 5.1, Bitrate: 1411.2kbps
[00:00:00:000] | Output : C:\Temp\Test_Fixed.dts
[00:00:00:000] +---------------------
[00:02:06:688] | Writing C:\Temp\Test_Fixed.dts
[00:02:06:688] +---------------------
[00:02:06:688] Operation Completed !
[00:00:00:000] <-- Process Duration
Logging ends : 05/09/03 , 15:04:35.

(c) Intermediate test: Plays ok in Graphedit:
DTSSource [Test_Fixed.dts] -> Intervideo Audio Decoder [5.1 Output] ->
Default Direct Sound Device

(d) Therefore, went out to output as file:
DTSSource [Test_Fixed.dts] -> Intervideo Audio Decoder [5.1 Output] ->
WAV Dest -> File writer [output.wav]

(e) Run it through BeSweet:

BeSweet v1.5b17 by DSPguru.
--------------------------

Logging start : 05/09/03 , 15:18:17.

C:\Temp\BeSweet\BeSweet.exe -core( -input C:\Temp\output.wav -output
C:\Temp\output-New- -6ch -logfile C:\Temp\BeSweet\BeSweet.log ) -ota( -fs
44100 )

[00:00:00:000] +------- BeSweet -----
[00:00:00:000] | Input : C:\Temp\output.wav
[00:00:00:000] | Output: FL, FR, SL, SR, C, LFE
[00:00:00:000] | Floating-Point Process: No
[00:00:00:000] | Source Sample-Rate: 44.1KHz
[00:00:00:000] +---------------------
[00:06:20:000] Conversion Completed !
[00:00:46:000] <-- Transcoding Duration
Logging ends : 05/09/03 , 15:19:03.


My analysis of the newly created mono wav's shows the follows:
- They are 3x too long. Can be corrected through
-ota( -r 25000 75000 )
but this should not be necessary.
- Only -FL and -FR have audio. -C, -SL, -SR, -LFE are mute.
- If I run above's Graphedit output ( (d) above) through Maxiuca's wav2wav6.exe (page 2 of this threat), I get perfect demuxed wav's. Since I want to SSRC-it to 48 kHz, being able BeSweet wouold really be nice (also with the benedit of having to use less disk space, and specify different physical drives).

Any suggestion would be great. Btw: there seems to also a speed problem reported in the
Feeding BeSweet 6 wavs (http://forum.doom9.org/showthread.php?threadid=49118) threat.

Regards,
Andreas

daphy
9th May 2003, 21:28
:( Hi, tried to install this filter (like discribted on homepage) on meanwhile 4 diffrent computers and also post it on an other board (3dwin.net). Not only at those four computers, even on the board one told me that this "dtswavsource.ax" (LoadLibary) missing a source.
I canīt imagine what source missing. Me and one guy from the board uses exact the command from your side (regsvr32 DTSWAVSource.ax).

What is the reason for this error :(

Do I have to install further libraries (I canīt imagine this, because this is not the first DS-Filter I installed - but the first with trouble I got)

CYA Daphy

Maxiuca
10th May 2003, 00:38
@daphy

I had a similar problem:
Check if you have and if not try to download:
oleaut32.dll
winmm.dll
MSVCRTD.DLL
ADVAPI32.DLL

I didn't have msvcrtd.dll, other dlls are probably installed in windows by default, but these are all I found with WinHex :)

btw. Try regdrop, it told me which dll is missing.

@sebus
i've made a mirror on my academic server. maybe i'll work better.
http://akson.sgh.waw.pl/~wj23277/wav2wav6.zip

--
Maxiuca

daphy
10th May 2003, 09:47
@Maxiuca

thx, the same file was missing. :confused:
Did I miss an update by M$, or is there a special program which ships this dll?

@hypercube

I think it would be better to link (http://www.demandtech.com/Downloads/msvcrtd.dll) to this file (msvcrtd.dll), obviously many system need it to import the dts ds-filter.

CYA Daphy

Maxiuca
10th May 2003, 10:06
Originally posted by daphy
@Maxiuca
thx, the same file was missing. :confused:
Did I miss an update by M$, or is there a special program which ships this dll?

From the file's description:
Microsoft (R) C Runtime Library
Microsoft (R) Visual C++

--
Maxiuca

hypercube
10th May 2003, 11:13
:scared: :scared: :scared: I have publish a debug release !!!
sorry arrrgl ! I'm going to rebuild the filter and put it
on my website right now.

DIggedy
13th May 2003, 04:45
First of all many thanx to all putting in work here... I'm excited about the possibilities!

@Maxiuca:

1) I'm very interested in your progress here... I have a heap of DTS LD's I'd like to do myself... will you still be releasing a guide to do this?

2) What soundcard are you using to capture the optical stream? I've heard Soundblaster cards are useless because they resample the stream to 48khz. I have to buy new soundcard and am after some advice there.

Maxiuca
13th May 2003, 08:04
Originally posted by DIggedy 1) I'm very interested in your progress here... I have a heap of DTS LD's I'd like to do myself... will you still be releasing a guide to do this?

I'm currently working on it, but there are still many unanswered questions.... First thing that is a real problem is that the sound loses some of it's "surroundness" after being resampled and reencoded... These are probably only problems of encoding setting, but I'm not quite sure.

Originally posted by DIggedy 2) What soundcard are you using to capture the optical stream? I've heard Soundblaster cards are useless because they resample the stream to 48khz. I have to buy new soundcard and am after some advice there.

That's what the say about SB cards on alt.video.laserdisc... I haven't tested it personally, but it's probably true. The key to success is using a cheapo card with CMI8738 chip. Like the Night-in-Gale Pro from www.zoltrix.com or this one from Hercules:

http://us.hercules.com/products/showpage.php?p=41&b=0&show=2&f=1

You might also want to check this sites out:
http://www.cmedia.com.tw/Buy/e-wheretobuy_SoundCard.htm
http://www.cmedia.com.tw/Buy/e-wheretobuy_spdif.htm

Regards,

Maxiuca

fritzie
13th May 2003, 14:06
I can't seem to find the answer to the question why some dts-files crash in Graphedit (using dtssource.ax) and some don't. Maxiuca also mentioned this problem.

What I do is:
1. convert dts-wav to dts using besplit
2. use Graphedit or azidts to convert further

Some files work without a problem, and some file crash Graphedit/azidts.

A solution would be to use the DTSWAVsource filter, Graphedit doesn't crash using that one. But the reason I want to use DTSSource is that azidts uses dtssource and I can combine everything into a script and won't have to (manually) use Graphedit.

Is there another way to convert dts-wav to dts that doesn't output a file that makes Graphedit crash ?