PDA

View Full Version : Tranzcode 0.40 beta


daphy
3rd May 2005, 08:56
Tranzcode (by Austin Forgotten)
is a new decoding splitting tool which offers many ways of decoding multichannel WAV and DTS/DTSWAV files!


Description:
---------------

A windows command line utility used to transcode multichannel wav files into mono wavs by outputting
the number of wavs depending on the number of channels read from the wav header. Will also
decode/transcode .dts files (48kHz) and DTSWav (44.1kHz) directly into mono wavs depending on the
number of channels found. DTS decoding was made available using libdts from dtsdec source code
written by Gildas Bazin with some help from Sam Hocevar which was based on a52dec code with
original credits going to Aaron Holtzman and Michel Lespinasse. Modifications were made to output
mono wavs directly, including LFE output. Currently there is no AC-3 support, but plans for it in the future.
...

Multichannel Transcoding:
---------------------------------

Mono wav output
will be PCM (non extensible), and have the same bit resolution and sample rate as the multichannel source
wav. Supports very large wavs files (> 4GB), including wav extensible format. Supports 2-ch (stereo), up
to 18 channels. If a mono wav is transcoded, the result will be an "empty" or blank wav with the same
characteristics as the source wav.

Suffix naming convention: Is the same as the output order (as displayed during transcoding):

2 channels:

-L (Left)
-R (Right)

3 channels:

-L (Left)
-R (Right)
-C (Center)

4 channels:

-FL (Front Left)
-FR (Front Right)
-BL (Back Left)
-BR (Back Right)

5 channels:

-FL (Front Left)
-FR (Front Right)
-C (Front Center)
-SL (Surround "Back" Left)
-SR (Surround "Back" Right)

6 channels:

-FL (Front Left)
-FR (Front Right)
-C (Front Center)
-LFE (Low Frequency Effect)
-SL (Surround "Back" Left)
-SR (Surround "Back" Right)

7 channels:

-FL (Front Left)
-FR (Front Right)
-FC (Front Center)
-LFE (Low Frequency Effect)
-BL (Back Left)
-BR (Back Right)
-FLC (Front Left Center)
...

DTS Transcoding:
-----------------------

Transcoded .dts (48kHz) and DTSWav (44.1kHz) files into 32 bit float mono wavs regardless of the bit
resolution they were originally encoded with. The number of output mono wavs depends on the number
of channels read. There is also a downmix option (/S) to output a 16 bit stereo wav. It does not support DTS ES

The output order (is the same as displayed during transcoding):

Usually as 6 or 5 channels, having the suffix name appended as follows:
(note: SL & SR were used instead of BL (Back Left) & BR because I got accustomed to the naming convention)

6 channels:

-FL (Front Left)
-FR (Front Right)
-C (Front Center)
-LFE (Low Frequency Effect)
-SL (Surround "Back" Left)
-SR (Surround "Back" Right)

5 channels:

-FL (Front Left)
-FR (Front Right)
-C (Front Center)
-SL (Surround "Back" Left)
-SR (Surround "Back" Right)
...


Some examples of its usage:

1) Transcodes to (6) 32 bit float mono wavs using "temp-" as the output prefix name:

tranzcode "Us and Them.dts" temp
outputs: temp-FL, temp-FR, temp-C, temp-LFE, temp-SL, temp-SR

2) Transcodes to (6) 32 bit float mono wavs using "-" as the output prefix name:
tranzcode "Us and Them.dts"
outputs: Us and Them-FL, Us and Them-FR, Us and Them-C, Us and Them-LFE, Us and Them-SL, Us and Them-SR

3) Transcode to (2) 32 bit mono wavs (selected channels only/cancels the others):
tranzcode Us_and_Them.wav /+C,LFE
outputs: Us_and_Them-C, Us and Us_and_Them-LFE

4) Transcode to (4) 32 bit mono wavs (selected channels are cancelled):
tranzcode Us_and_Them.wav test /-C,LFE
outputs: test-FL, test-FR, test-SL, test-SR

5) Downmix to a 16 bit stereo wav without gain adjust:
tranzcode "Us and Them.dts" /S
outputs: Us and Them-(stereo).wav

6) Downmix to a 16 bit stereo wav with 15% (lower) gain adjustment (x .15):
tranzcode Us_and_Them.wav" "downmix test" /S@15%
outputs: downmix test-(stereo).wav

more infos can be found inside the readme.txt


For the belight project:
I guess it´s worth to take a look at it - it´s a commandline tool, so easy to add! :)

download:
you will find it on needfulthings (http://www.needfulthings.webhop.org) (including latest TranzGUI v1.4 by Kurtnoise13)
and on Austin Forgotten´s Homepage (http://tranzcode.byethost22.com/) (source code also avaible)

Kurtnoise
3rd May 2005, 09:04
Thanks buddy...:D I'll try it asap.

rjamorim
3rd May 2005, 16:45
Isn't this app breaking libdts/libdca's GPL license by not releasing (GPLd) sources?

Austin Forgotten
4th May 2005, 06:58
Thanks for introducing 'tranzcode' to the forum daphy, I'm a little shy to being a new member, hope you find it useful.

rjamorim wrote: Isn't this app breaking libdts/libdca's GPL license by not releasing (GPLd) sources?

Well beacuse I haven't released it yet, so I guess your right on that account. I will eventually, it's just that I need to make it a bit more presentable since I'm not a programmer but trade. Also since it's in it's early developement stage, (trying) to add more features, so I'm forever changing it (sometimes for the worst) :scared:.

I thought I mention my tool at the "needfull things" site, since it's been available for a week already, where some find it somewhat useful :D. So now that it will get more exposure here on Doom, I guess I'll be under the gun/microscope/against the ropes. I've been unemployed for several years, really needing to find employment, always putting it off by my interests (i.e. this project of late), but eventually I won't be able to spend as much time as I'd like to on it.. just letting you know ahead of time. But I suppose once I release my <cough> source code, others with better skills than I can really improve on it a lot. I suppose writing in the 1st place, has forced me to learn new things in programming, with some frustration I might add (no pain no gain as they say).

I don't know a whole lot about the dts format except what I've read in some of the documents available. All of the dts decoding credit goes to Gildas Bazin in his fine work as we all know. All I did was somehow get the LFE output to work since dtsdec.exe for some odd reason would not output it, also it writes directly to 32 bit float mono wavs instead of a multichennel wav.

There are several minor bugs in the current ver, you may notice that the display will show #bits will be off, on the source file attributes, just ignore that for now. Also for the stereo downmix, it looks like it needs some work, I just added a user patch fix to allow gain adjustment because I noticed some stereo output to be clipped a lot while others were fine.

Now that "tranzcode" may get more exposure here, I would like to be able to test other AMODE's [other than AMODE 9 (5.1)]. I could use some small dts test files which are encode and appear as 1.1, 2.0, 2.1, 3.0, 3.1, 4.0, 4.1, and 5.0. Just so you understand, SureCode ver most ppl use will always encode to AMODE 9 (5.1) even though you may use for example a 'blank' LFE or Center channel. I have tested dts AMODE 1.0 which works fine.

To wrap it up for now, I can say I won't be adding normalization, or channel gain adjustments. I'd would however like to add the option to resample the output monos (44.1kHz <--> 48kHz), but since the files are 32 bit I was thinking to use Voxengo's R8B.dll (R8Brain), since I don't think Shibatch can do 32 bit wavs, which will slow down the tranzcoding process. I've been thinking to go the multithread route where transcoding can still occur, writing to disk, while I resample blocks to build the final output wavs. Still need to write/test that. I may eventually have a windows gui interface for it.

- Austin Forgotten

daphy
4th May 2005, 08:49
Hi Austin,

nice to see you here on doom9 :)

doom9 is not the only place I introduced your new tool:

Interesting Question from LigH (doom9 German) (http://forum.gleitz.info/showthread.php?t=22633)
Does Tranzcode support ProLogic downmixing?
I would like to add on this question: if yes, is it also intended to support the other ProLogic formats like II and IIx via downmix? :rolleyes:

Edit: check PM plz

Austin Forgotten
5th May 2005, 10:45
Daphy wrote concerning an interesting question posed by LigH elsewhere:

Does Tranzcode support ProLogic downmixing?

I'm sorry to say no. Perhaps someone can look into that once I release the source code. I was more concerned just being able to transcode to multi mono wavs than downmixing to stereo, although I added access to downsampling routines (dtsdec source) with some gain adjust the day before releasing v0.2. To be honest, I've hardly spent any time on the downsampling side of things.

Have as nice day.

-Austin F

Austin Forgotten
7th May 2005, 03:31
There is a newer version (v0.30) posted, and the source code is also available. It's not pretty but it works. :sly:

Not really much added than fixing bugs, most notable is the fact you can use path names with the filename to access files on media, not sure about network drive (should be ok though). Read the readme file to see what's new with this ver.

You can get it here: http://tranzcode.byethost22.com

Enjoy.

-Austin F

Kurtnoise
12th May 2005, 09:49
Thanks for your work Austin. I tried the last release with some dts files and it works great.

I've a request: could you add a pipeencoding option for the output ? I don't know if it's doable but it will be great. ;)

And if you have much more freetime, could you try to make a plugin for BeSweet ?...:D

Austin Forgotten
12th May 2005, 22:29
Kurtnoise13 wrote: could you add a pipeencoding option for the output ?

Hmm.. not sure what you mean "pipeencoding". I know pipes, because I've been messing with them lately, where I've now been successfully able to transcode ac3s to mono wavs with tranzcode, using azid.exe. I pipe the multichannel headerless wav as a stdout stream (from azid ac3 decode) back into tranzcode (as stdin) where its splits it into mono wavs via background process. Although it's slower by a factor of slightly less than 2, compared with Besweet, but since I'm unable to use the azid dll (no API), this is about the best I can do for now for ac3's using azid. Still need to do more work on it though.

What encoding are you thinking of? DTS via SurCode?

Is there some documentation available on how to write a plugin for BeSweet? I suppose I could write one for dts to wav decode, or somone else could since the source is available. I've never written a plug before.

I've also have a request of my own.. :devil: .. I could use an API (guide on using function procedures/parameters to be passes/received etc.) for the azid v1.9 dll, or is this not available - only to select individuals?

- Austin F

Dark-Cracker
12th May 2005, 23:29
very nice work :)

im also agree with kurtnoise a besweet plugin could be really marvelous :).
you can find plugin source code at the dspguru siteweb (http://dspguru.doom9.net) hope this can help :)

keep up the good work :)

++

Kurtnoise
13th May 2005, 09:46
Yes, the pipe encoding option is exactly what you have described. It will be good...at least for me. ;)

Originally posted by Austin Forgotten
What encoding are you thinking of? DTS via SurCode?
Nope...but vorbis and mp3.


Originally posted by Austin Forgotten
Is there some documentation available on how to write a plugin for BeSweet? I suppose I could write one for dts to wav decode, or somone else could since the source is available. I've never written a plug before.
Like DC said, you can check the DSPGuru website. You can find some plugin with sources. But you can check also this thread (http://forum.doom9.org/showthread.php?s=&threadid=70657&highlight=libdts) and this (http://forum.doom9.org/showthread.php?s=&threadid=22590&highlight=besweet.dll) too.

Originally posted by Austin Forgotten
I've also have a request of my own.. :devil: .. I could use an API (guide on using function procedures/parameters to be passes/received etc.) for the azid v1.9 dll, or is this not available - only to select individuals?
You could try to mail Midas...the Azid creator.

johnman
1st June 2005, 02:40
I sended you a pm austin :) I dont know if you ofter look at the pm's so im posting this msg also.

daphy
1st June 2005, 07:40
I also tried to reach Austin - maybe he´s on holidays :p

Kurtnoise13 has uploaded a GUI for tranzcode, I will publish it later this afternoon on needfulthings :D

Edit: done :D

zombi55
2nd June 2005, 17:42
Hi, Austin Forgotten.

Can you insert a line of order which would rather leave only a wav 5.1 than 6 mono wav? That would be really interesting and practice in my case.

Ty

Zombi55

Austin Forgotten
2nd June 2005, 20:27
Hello,

The programming portion of my brain has been offline the past few weeks, maybe since I was discouraged about a few things and I had to attend to other matters. I will resume work on Tranzcode when I get it the right frame of mind again, sorry to disappoint (It's not that I don't want to help) :-)

@ zombi55,

If you would like a 5.1 wav you can do this with DTSDec.exe using anyone of the following command lines (I was not really thinking to add this before since DTSDec can accomplish this):

dtsdec -o wavall > 6in1output.wav my5.1.wav

or

dtsdec -o wavall > 6in1output.dts my5.1.wav

or

dtsdec -o wav6 > 6in1output.wav my5.1.wav

or

dtsdec -o wavall mydts.wav > my5.1.wav

or

dtsdec -o wav6 mydts.wav > my5.1.wav


I suppose I could add that, but the main reason I added the dts decoding to Tranzcode was to eliminate the need to decode 1st too a 5.1 wav then split into monos which takes longer and uses more disk space. My main interest lies in producing/editing surround music: DTS, AC3 & DVD-A music. This is why I haven't really paid much attention to stereo, mp3 or 5.1 wavs.


@ daphy

No, not on vacation although it seems like I've been on a long trip to no where. Currently I have some personal crisis to attend to which will consume more of my time, also I was getting back to music side of things of late, instead of programming. As for PM's, I always forget to login to the forum, only to read the messages like I did before becoming a member, so I hadn't seen anyone's PM's, my bad.


@ Kurtnoise13

Nice work on the Tranzcode GUI, sorry I didn't add the stdout option for pipeencoding the stereo out in time for your GUI, I guess you waited long enough for me to add that :-). At 1st I wasn't sure how I could have done this for 6 mono wavs, but the single stereo output would not be much effort to add a switch to do this.

As for Mr Midas, author of azid, I did send an email already before your reply but it bounced back as not a valid email address as such. I suppose I can try again. Apparently several years ago there was an "Azid Developer Kit 1.8" (azid-dll-1.8.zip) available on the Doom forum which I missed out on, and is not available anymore. If anyone still has, I would really appreciate a copy of it as it would help me add quicker AC3 decoding and other features to my program.

I'm mainly interested in my programm and adding more features to it, than to write a BeSweet plugin, since my mind is focused on other features than to rewrite existing code to work with another program. I released the source code (which I hope someone can read :-) ), I know may write oddly as I don't know how to do some things better at this time, but someone (a programmer who can understand C) who has spare time, should be able to write a BeSweet plug more easily than I.

@ johnman

I have read your PM, and have downloaded your wavwizard program.I haven't had time to test it however. When I get a chance I will run through some tests and get back to you. :-)


-AF

Kurtnoise
2nd June 2005, 20:52
No problem for me. It's because daphy is a lazy man, that's why he asked me to create a GUI ;) Keep the good work...

For Midas, did you try this mail : midas at egon.gyaloglo dot hu

zombi55
3rd June 2005, 00:03
Thanks you so much Austin for you really good works.

The reason why I asked you that it is precisely because DTSdec works only when it decodes stereo (of course, for me). In 5.1, it gives me one a unusable file. I believe besides that Kurtnoise has the same problem (see quote). However, with transzcode I obtain 6 mono wavs in good condition. Then, I wondered whether Austin could make me a line of order to leave only one wav 5.1.

En fait, dtsdec te sors une vraie m**de en sortie concernant le 5.1. J'ai testé sur 5 échantillons différents, et à l'arrivé j'avais toujours du clipping.
Le clipping qu'est ce que c'est ? C'est tout simplement la présence d'importantes distorsions dans la dynamique du flux audio et c'est vraiment pas beau à écouter. D'ou le refus de BeSweet d'encoder ce type de fichiers.In short, DTSdec gives him a shit of 5.1 with "clipping".

Cordially
Zombi55

Austin Forgotten
3rd June 2005, 03:19
Yes, I just fired off another email to Midas: midas@egon.gyaloglo.hu

Right away I got: Undelivered Mail Returned to Sender

"Mail Delivery System" <MAILER-DAEMON@via.mailbox.hu>

Diagnostic-Code: X-Postfix; service unavailable.
Command output: Store: Quota exceeded

Oh well so much for the Midas touch :-)

Austin Forgotten
3rd June 2005, 03:30
In short, DTSdec gives him a shit of 5.1 with "clipping".

Hmm... need to brush up on my French :-)

Tranzcode uses the same samples as DTSDec only it also contains the LFE data as output, so if the dts source has clipped output from the "unusable" 5.1 wav, so would the mono wavs of Tranzcode output. The stereo output can have clipped output from some dts source files from DTSDec which is why I added the gain adjust using @__% for stereo output allowing you to raise/lower the gain by % factor, but this has nothing to do with the mono wav or 5.1 wav output, which should not be clipped unless the source files used to encode to DTS were to begin with. When I get around to it I will redo the stereo output to avoid the clipping.

zombi55
3rd June 2005, 07:47
Tranzcode uses the same samples as DTSDec only it also contains the LFE data as output, so if the dts source has clipped output from the "unusable" 5.1 wav, so would the mono wavs of Tranzcode output.

The problem principal it is that you can nothing make as much with the wav 5.1 coming from DTSdec that the 6 mono wav of tranzcode. That made several months that I attack this problem and I do not manage to unearth the problem. I tried to encode the files mono wav via besweet(ogg) and nero(he-aac) without success. I tried the same thing with a file wav 5.1 of DTSdec and still without success. Do I have to understand that there is an error in a52dec (during decoding)? I would have more details for you in the next days, I am tired a little in this moment. Perhaps also that Kurtnoise will have more details for you.

Ty again
seeya

Zombi55

daphy
3rd June 2005, 09:58
It's because daphy is a lazy man, that's why he asked me to create a GUI :D
Oh Kurt, you´re soo right :) :rolleyes: :D

Kurtnoise
3rd June 2005, 10:20
I tried to encode the files mono wav via besweet(ogg) and nero(he-aac) without success.

Try this (save as a batch file) :

@echo off
tranzcode.exe input.dts output /+FR,FL,C,SR,SL,LFE

echo output-FR.wav >> mux_in.mux
echo output-C.wav >> mux_in.mux
echo output-FL.wav >> mux_in.mux
echo output-SR.wav >> mux_in.mux
echo output-SL.wav >> mux_in.mux
echo output-LFE.wav >> mux_in.mux

BeSweet.exe -core( -input mux_in.mux -output output_file.wav -6chwav )

oggenc2.exe -q3 output_file.wav

del output-FR.wav
del output-C.wav
del output-Fl.wav
del output-SR.wav
del output-SL.wav
del output-LFE.wav
del mux_in.mux
del output_file.wav

and for he-aac :
@echo off
tranzcode.exe input.dts output /+FR,FL,C,SR,SL,LFE

echo output-C.wav >> mux_in.mux
echo output-FL.wav >> mux_in.mux
echo output-FR.wav >> mux_in.mux
echo output-SL.wav >> mux_in.mux
echo output-SR.wav >> mux_in.mux
echo output-LFE.wav >> mux_in.mux


BeSweet.exe -core( -input mux_in.mux -output output_file.mp4 ) -bsn( -6chnew -vbr_streaming)

del output-FR.wav
del output-C.wav
del output-Fl.wav
del output-SR.wav
del output-SL.wav
del output-LFE.wav
del mux_in.mux


It should work...

Kurtnoise
3rd June 2005, 14:10
TranzGUI 1.3 updated. I fixed a problem duration in the dts library. Grab it here (http://unite-video.com/phpbb/download.php?id=1870) or wait the update on needfulthing.

daphy
3rd June 2005, 18:42
added!

THX

zombi55
4th June 2005, 02:43
It should work...
That doesn't work, that causes a Windows error and when I test with the wav coming from dtsdec besweet does not recognize the file. And I am sure that will be similar for you. I believe that the problem comes owing to the fact that it is WAV_extensible and not a WAV_PCM. You can see that via the chunk in the second photo.

You can see that the first and the last are cleaner than that of the wav 5.1

Kurtnoise
4th June 2005, 09:01
Sorry for the off-topic Austin...Maybe KpeX can split this discussion in a new thread.

by "it doesn't work" you mean the transcoding doesn't work and/or the playback doesn't work ? In my example, I used tranzcode not dtsdec. So, for me the transcoding works fine with tranzcode. I didn't tested with dtsdec yet. Maybe this weekend...

zombi55
4th June 2005, 15:44
Sorry for the off-topic Austin...Maybe KpeX can split this discussion in a new thread.Do you want mean that I am not in the good thread to discuss this problem?


by "it doesn't work" you mean the transcoding doesn't work and/or the playback doesn't work ? In my example, I used tranzcode not dtsdec.The transcoding doesn't work and I used tranzcode too but to be sure I also tested with dtsdec.


So, for me the transcoding works fine with tranzcode. I didn't tested with dtsdec yet. Maybe this weekend...You say to me that you are able to transcode the mux of the 6 mono wav coming from tranzcode? Then, you are saying to me that you are able to transcribe a wav_extensible? That seems to me a little incredible but that sounds good if it's real.

Kurtnoise
4th June 2005, 17:28
Do you want mean that I am not in the good thread to discuss this problem?
Well...you spoke about wav_ext and wav_pcm. It doesn't concern tranzcode for me.

You say to me that you are able to transcode the mux of the 6 mono wav coming from tranzcode?
Well...yes, I'm able to do that with the command batch which is described above. Does anyone confirm it works or not ?

At least try to decode dts to 6_mono_wav first. Then, create a mux file manually and feed it in BeSweet...this tool enables the 32 bits floating point wav streams as input files. So...the problem is outwhere.

zombi55
5th June 2005, 00:18
Well...you spoke about wav_ext and wav_pcm. It doesn't concern tranzcode for me.

It is because these wavs comes directly from tranzcode and perhaps that Austin will be able to give me the hour right on it.



Well...yes, I'm able to do that with the command batch which is described above. Does anyone confirm it works or not ?Yeah plz because here we are two who tried and that doesn't work you know.



At least try to decode dts to 6_mono_wav first. Then, create a mux file manually and feed it in BeSweet...this tool enables the 32 bits floating point wav streams as input files. So...the problem is outwhere.It is what I did on several occasions I entreat it to you and it bug before even starting to transcode.


BeSweet v1.5b29 by DSPguru.
--------------------------
Using VOBInput.dll v1.3 by DVD2SVCD (http://www.dvd2svcd.org)
Using hip.dll v1.19 by Myers Carpenter <myers@users.sf.net>
Using Ogg Vorbis v1.0 dlls (http://www.vorbis.com).
Using azid.dll v1.9 (b922) by Midas (midas@egon.gyaloglo.hu).
Using Shibatch.dll v0.24 by Naoki Shibata & DSPguru (shibatch.sourceforge.net).
Using bsn.dll v0.24 by DPeshev,Richard,E-Male,DSPguru (DSPguru.Doom9.org).

Logging start : 06/04/05 , 18:03:29.

C:\Program Files\Ripp-it_AM\dlls\BeSweet.exe -core( -input c:\Program Files\Ripp-it_AM\dlls\batch.lst -output c:\Program Files\Ripp-it_AM\dlls\batch.mp4 -logfilea C:\Program Files\Ripp-it_AM\dlls\BeSweet.log ) -azid( -c normal -g 0.95 -L -3db ) -bsn( -6chnew )

[00:00:00:000] +------- BeSweet -----
[00:00:00:000] | Input : c:\Program Files\Ripp-it_AM\dlls\batch.lst
[00:00:00:000] | Output: c:\Program Files\Ripp-it_AM\dlls\batch.mp4
[00:00:00:000] | Floating-Point Process: No
[00:00:00:000] | Source Sample-Rate: 48.0KHz
[00:00:00:000] +-------- BSN --------
[00:00:00:000] | bitrate: vbr streaming
[00:00:00:000] | HE-aac high quality encoding
[00:00:00:000] +---------------------

Ty for your great help kurtnoise.

Kurtnoise
5th June 2005, 09:14
First, why did you use a list file ? I never said to use this kind of file. I said a .mux file. It's completely different for BeSweet !!!

Second, why did you activate azid command ? wav streams don't need this...

Third, a .mux file for aac/mp4 output file looks like this :
C:\output-C.wav
C:\output-FL.wav
C:\output-FR.wav
C:\output-SL.wav
C:\output-SR.wav
C:\output-LFE.wav
by assuming that the files are located in C:\. Note also the channels order.

Four, the command line might be :
C:\Program Files\Ripp-it_AM\dlls\BeSweet.exe -core( -input c:\Program Files\Ripp-it_AM\dlls\batch.mux -output c:\Program Files\Ripp-it_AM\dlls\batch.mp4 -logfilea C:\Program Files\Ripp-it_AM\dlls\BeSweet.log ) -bsn( -6chnew )

If you have some troubles with this, I fear that your problem doesn't concern BeSweet..

Austin Forgotten
6th June 2005, 01:33
I'm not sure what zombi55 wants to do. If you want a 5.1 interleaved wav instead of 6 monos then dtsdec as I explained in the command line can do that via redirect to a file, but it won't include LFE data. Now if you need to "spilt" that file then yes, you are correct about BeSweet causing an error because dtsdec writes a WaveExtensible header which Besweet can't handle. Transcode should be able to handle Wav Extensible format wavs, to do this, but then why do you need to do that anyway, why not just encode straight to mono wavs. I thought for some reason you need 5.1 wav output for playback or something. You must also be careful with the 32 bit floating point 5.1 wav since it can become so large that the header may mislead the length if it is beyond the 4GB range due to overflow DW value.

As for mux files, never had the need to use them before so I'm not sure what they are all about.

As for spliting this thread for discussion. As I mentioned before, I don't know what direction the other one is going, or where zombi55 is leading me too? ..so it will either be a long one or a very short one :P

zombi55
6th June 2005, 04:19
First, why did you use a list file ? I never said to use this kind of file. I said a .mux file. It's completely different for BeSweet !!! I'm sorry, I believed that you spoke about the batch file of besweet which is a lst.


If you have some troubles with this, I fear that your problem doesn't concern BeSweet.. Does that work well now for He-aac, but for the ogg you can hear part of what that gives there : Do you believe that it is because the channels order are not good or other things ?

My batch file (I kept yours):
@echo off
tranzcode.exe input.dts output /+FR,FL,C,SR,SL,LFE

echo output-FR.wav >> mux_in.mux
echo output-C.wav >> mux_in.mux
echo output-FL.wav >> mux_in.mux
echo output-SR.wav >> mux_in.mux
echo output-SL.wav >> mux_in.mux
echo output-LFE.wav >> mux_in.mux

BeSweet.exe -core( -input mux_in.mux -output output_file.wav -6chwav )

oggenc2.exe -q3 output_file.wav

del output-FR.wav
del output-C.wav
del output-Fl.wav
del output-SR.wav
del output-SL.wav
del output-LFE.wav
del mux_in.mux
del output_file.wavAnd I took this oggenc :Oggenc2.5 using libVorbis POST 1.1.0 SVN with IMPULSE_TRIGGER_PROFILE Option 2005-04-02
VBR Quality setting, SRC libsamplerate high quality resampler added and hard Min and Max bitrate limits now work with -q settings - see Help - ICL 8.1 compiles

Ty again Kurtnoise

zombi55
6th June 2005, 05:28
I'm not sure what zombi55 wants to do.I want encode DTS in ogg5.1 and he-aac5.1 (but now this one is ok)


If you want a 5.1 interleaved wav instead of 6 monos then dtsdec as I explained in the command line can do that via redirect to a file, but it won't include LFE data.Now if you need to "spilt" that file then yes, you are correct about BeSweet causing an error because dtsdec writes a WaveExtensible header which Besweet can't handle. Transcode should be able to handle Wav Extensible format wavs, to do this, This is why I used tranzcode :)


why not just encode straight to mono wavs. I thought for some reason you need 5.1 wav output for playback or something. You must also be careful with the 32 bit floating point 5.1 wav since it can become so large that the header may mislead the length if it is beyond the 4GB range due to overflow DW value.

As for mux files, never had the need to use them before so I'm not sure what they are all about. You are right, It is well what I did (after the method of kurtnoise), I encoded my 6 mono wavs into 6 ogg but now I'm not able to mux them with besweet. Perhaps that kurtnoise can still help me on it.


As for spliting this thread for discussion. As I mentioned before, I don't know what direction the other one is going, or where zombi55 is leading me too? ..so it will either be a long one or a very short one :PI thought that would be well to discuss that here because tranzcode now enables us to circumvent the old problems which DTSdec brought us. If one does not discuss his advantages one quickly loses it in many threads and it will be shelved. By the way, I hope this story will not be too long, but in the way which it advances that should be over soon.

Kurtnoise
6th June 2005, 10:47
I'm sorry, I believed that you spoke about the batch file of besweet which is a lst.
No...lst is a list file whereas batch file is a command file.

Does that work well now for He-aac, but for the ogg you can hear part of what that gives there : Output_file ogg5.1 (http://pages.globetrotter.net/dghmorin/output_file.rar) Do you believe that it is because the channels order are not good or other things ?
Indeed...Don't know why. I'll check it.

zombi55
6th June 2005, 17:51
Indeed...Don't know why. I'll check it.Ty


You are right, It is well what I did (after the method of kurtnoise), I encoded my 6 mono wavs into 6 ogg but now I'm not able to mux them with besweet. Perhaps that kurtnoise can still help me on it. Do you have a idea for it ?

I tried that : (but it didn't work)
@echo off

echo output-FR.ogg >> mux_in.mux
echo output-C.ogg >> mux_in.mux
echo output-FL.ogg >> mux_in.mux
echo output-SR.ogg >> mux_in.mux
echo output-SL.ogg >> mux_in.mux
echo output-LFE.ogg >> mux_in.mux

BeSweet.exe -core( -input mux_in.mux -output output_file.ogg -ogg( -q 0.200 -6ch 1 )Logging start : 06/05/05 , 22:36:35.

C:\Program Files\Ripp-it_AM\dlls\BeSweet.exe -core( -input c:\Program Files\Ripp-it_AM\dlls\output-FL.wav -output c:\Program Files\Ripp-it_AM\dlls\output-FL.ogg -logfilea C:\Program Files\Ripp-it_AM\dlls\BeSweet.log ) -ogg( -q 0.200 )

[00:00:00:000] +------- BeSweet -----
[00:00:00:000] | Input : c:\Program Files\Ripp-it_AM\dlls\output-FL.wav
[00:00:00:000] | Output: c:\Program Files\Ripp-it_AM\dlls\output-FL.ogg
[00:00:00:000] | Floating-Point Process: Yes
[00:00:00:000] | Source Sample-Rate: 48.0KHz
[00:00:00:000] +-------- OGG --------
[00:00:00:000] | VBR Quality : 0.200
[00:00:00:000] +---------------------

Said it me if I am mistaken, but I believe that besweet can only mux wavs files.

Kurtnoise
6th June 2005, 22:11
Do you have a idea for it ?
No idea...I didn't check it yet. Busy with other things....but keep in mind that vorbis 5.1 is not optimized today. If you want to keep the multichannel sound with a lower bitrate than dts or ac3, I'd recommend you to try aac 5.1. Much more efficient I think.

Said it me if I am mistaken, but I believe that besweet can only mux wavs files.
yes...only wav streams for the mux files as input.

Kurtnoise
11th June 2005, 14:57
TranzGui 1.4 available here (http://unite-video.com/phpbb/download.php?id=1870).

changelog:
- Improve the drop down input file list to avoid confusion. Thanks to Magicclue for the tips.
- Sources available...I forgot to mention this before.



@zombi55 : the problem is caused by BeSweet.

magicclue
13th June 2005, 12:19
Hello,
..... Apparently several years ago there was an "Azid Developer Kit 1.8" (azid-dll-1.8.zip) available on the Doom forum which I missed out on, and is not available anymore. If anyone still has, I would really appreciate a copy of it as it would help me add quicker AC3 decoding and other features to my program......

-AF

If you're still searching it can be found at DarkAvenger's website.

[unnecessary link removed - as it's not there]

[Edited!!!]

johnman
13th June 2005, 13:05
I dont see a sdk of azid on DA's site :(. Only the dll itself.

Austin Forgotten
14th June 2005, 19:40
Exactly, Johnman is correct "Azid Developer Kit 1.8" (SDK) is NOT available for downlaod on DarkAvenger's website, only the dll. I already have a more recent version of the dll (Azid v1.9 dll build 922) which is available in the BeSweet v1.5b29 download package on Doom. I, and perhaps others would like to know the dll calling functions.. parameters, header file, etc.

Hard to find this info

-AF

Kurtnoise
15th June 2005, 13:42
Hi Austin,

I would like to submit you a request : to have the time progress not at the end of the process but during the process (like BeSweet by example...). I need this for BeLight because I parse the time elapsed to update the progress bar. Thanks. ;)

Concerning Azid, here are the dll calling functions :

EXPORT ord:0001='ac3_clear'
EXPORT ord:0002='ac3_copyright'
EXPORT ord:0003='ac3_decode'
EXPORT ord:0004='ac3_decodebsi'
EXPORT ord:0005='ac3_errormsg'
EXPORT ord:0006='ac3_free'
EXPORT ord:0007='ac3_getchannels'
EXPORT ord:0008='ac3_geterror'
EXPORT ord:0009='ac3_getinfo'
EXPORT ord:0010='ac3_init'
EXPORT ord:0011='ac3_legal'
EXPORT ord:0012='ac3_nidecode'
EXPORT ord:0013='ac3_readframe'
EXPORT ord:0014='ac3_regsettings'
EXPORT ord:0015='ac3_setinfo'
EXPORT ord:0016='ac3_version'
EXPORT ord:0017='ac3_warningmsg'

I know it's not enough for you...but why not check the delay_cut (http://jsoto.posunplugged.com/audiotools.htm) sources ? Could be interesting I think...

Mitchell
11th July 2005, 22:13
Hi Austin,

it seems some time ago you were going to add up- (down-) sampling feature into Tranzcode. I suppose it would be the necessary one because there are very small number of resamplers able to upsample float wavs 44.1 => 48 kHz (most part of them are commercial). There's the strong need of that just because 44.1 float wavs made by Tranzcode can't be used for *.DTS encoding, and producing *.DTS files is the single way to play back this format on my PC (DTS WAVs doesn't play in no way).

Thank you for your brilliant tool.

daphy
10th September 2005, 08:55
Hiho,

johnman has finished a new complile of tranzcode which is much faster than the original. In my test it´s about a quarter of the time for decoding a DTS. :D

Some further tests are welcome! :rolleyes:

I´ve put it into the tranzcode bundle (with the original, the GUI and the needed DLL) @ needfulthings (http://www.needfulthings.webhop.org)

Kurtnoise
10th September 2005, 09:04
@Johnman: did you change something in the code or is it just a fresh compile with ICL ? coz I compiled my own build for BeLight and I changed 2-3 lines in the code to have some progress information.

johnman
10th September 2005, 12:14
@Johnman: did you change something in the code or is it just a fresh compile with ICL ? coz I compiled my own build for BeLight and I changed 2-3 lines in the code to have some progress information.

I havent optimized anything for speed. I just compiled it with mingw (not icl), and i got some errors which i fixed, and thats all. It wasn't my intention to make a faster compile. I want to use tranzcode in wavewizard and i noticed my first compile was a lot faster then the original.

(EDIT i did use the speed optimalisation option from the compiler)

(EDIT 2 i only performed 1 test which gave bitidentical output, so more testing might be prudent)

@dapy the executable which i compiled doesnt need the dll anymore, so i think you can remove it.

Zyphon
12th September 2005, 20:46
@johnman

Thanks for your mod on Tranzcode, you rock! :D

Thanks to Kurt for the GUI and Austin Forgotten who did Tranzcode originally.

Great work guys. :)

RedDwarf1
7th August 2006, 01:09
Can someone tell me where to find the GUI for tranzcode? I have been looking for it but cannot find it.

http://www.needfulthings.webhop.org/ takes me to doom9.org

raquete
7th August 2006, 01:34
...takes me to doom9.org you're right.

i'm hosting in rapidshare,wait few hours(sunday here internet is slow and sometimes down).

RedDwarf1
7th August 2006, 03:42
Do you know why it has disappeared off the programmers site? http://tranzcode.byethost22.com/

I have just found it here :D It has everything needed if anyone else wants it
http://www.digital-digest.com/dvd/downloads/showsoftware_tranzcode_503.html

raquete
7th August 2006, 04:08
:goodpost:
now i have to thank you,you found "everything". ;)

off topic:
after my last post,my system break.:scared: the reason? :confused:
was needed to restore with ghost.

regards.

DSP8000
7th August 2006, 06:56
Hi,

here's an installer for Tranzcode v0.30 incl.TranzGUI v1.4 (http://members.iinet.com.au/~isdmultimedia/files/DTS%20Tranzcode%20v0.30.exe) by kurtnoise.

Hope that helps.

Regards,
DSP8000

daphy
8th August 2006, 13:55
Can someone tell me where to find the GUI for tranzcode? I have been looking for it but cannot find it.

http://www.needfulthings.webhop.org/ takes me to doom9.org
That´s right - interesting - the site is offline since 2 month and you are the third who remarked it . I will bring the site back after my holidays

Edit: BTW nice installer :)

raquete
5th September 2006, 04:55
it's not in the read-me and was hard to find the solution:

to extract 6 mono .waves using TranscodeGUI, first check "6 mono wav" or you get 2 channels even trying to select this option after load the track (the GUI refuse the option)

bye. :)

Kurtnoise
15th September 2006, 17:20
@Austin : any chance to share the sources of the 0.4 beta ?

I would like to add stereo downmix and pipeline...

Austin Forgotten
15th September 2006, 20:29
Hi Kurtnoise13,

Sure, just give me a few more days to finish off some work I did (past couple of days) I'm working on adding Range commands. I also need to clean up the source code, make it more presentable. :)

I think I fixed those bugs I mentioned (when posting the initial .4 rel. several days ago) that left back in March when I temporarily abandoned it. Still need to do a bit more to get the Two-Pass feature since it uses 64-bit on the 1st pass (arrh... decoding a 1hr+ .ac3/.dts to 6 mono wavs takes loads of disk space, not to mention adding the final output resolution on top of that!).

As I mentioned, I had also started the Range commands where you could select start and end positions either by time (in msec or h:mm:ss.sss) or samples, or frames, for decoding to wav, and also for splitting/trimming possibly inserting of DTS/DD files (with similar characteristic i.e. silence) at frame "boundaries". Of course with splitting DTSWav/DDWav I'd have to make adjustments to the wav header.

Kurtnoise13 are you going to update/modify "TranzGUI" to take advantage of the new features available in v.4? I downloaded BeLight yesterday but didn't see a Tranzcode interface on it. Eventually I'll need to write a dll which you/others could more readily use. I have done some work on my own GUI, but am a long way from seeing that project through unfortunately.

-Austin

Kurtnoise
15th September 2006, 20:58
Hi,

are you going to update/modify "TranzGUI" to take advantage of the new features available in v.4?
Yep...that's why I asked this. ;) I already tested dts/dtswav/ac3/ddwav files + bits depth & Resampling features with the last beta and all seems to work fine. Keep up the good work.

Austin Forgotten
15th September 2006, 21:36
Thanks buddy, this takes a great weight off my shoulders since everyone is asking for a GUI right now :D. This allows me to spend more time in developement (i.e adding new features etc.).

(I fixed a little bug which has no effect on output - seems the /i (info cmd) shows wrong value for sync interval, this is just extra useless info-not important)

-AF

Austin Forgotten
20th September 2006, 16:16
Hi Kurtnoise13,

Sorry for not making available Tranzcode's current sources just yet. For the record I've been working it this past week, trying to finishing some cmds I started (twopass, peak scan, gain are all related as well as starting the "range select" feature, I mentioned earlier). They prove more difficult than I expected, especially after taking a 6 month hiatis on that project. If you can wait a little longer (hopefully within a week, but you never know how things might go).

- Austin Forgiveme

Austin Forgotten
20th September 2006, 22:32
Arghh.. bugs bunny alert:

Looks like the batch processing was broken since mid Feb! :( .

Seems I forgot to initialize DTS/DD files processed after the 1st file when I made modifications to the code!! So as long as you don't try batch processing of DTS/DD files with v 0.4 you won't notice it. Guess I hadn't done any testing on that for awhile :P.

Sorry about that, just found the problem today.

Austin Forgotten
23rd September 2006, 21:02
While testing the two pass 64bit flt temp file demuxed to monos of a lesser bit depth, I came across another bug to add to my collection!

Testing the beta release, I also found the error when bit depth converting only (resampling + bit-depth conv works!) of multichannel wav to mono files crashes. I've tested 64f & 32f to 16 bit. Not sure if it fails when increasing bitdepth. Looks like a simple "switch var" for logic causing buffer allocation to be incorrect. Shouldn't be much of a problem to fix (I hope).

-AF

xbox360
30th October 2006, 15:53
Hello to Everyone, im using Tranzcode v4.0.0.1 & the program crashes when I do batch muxing for DTSWav ( D:\ConvertXtoDVD\Thee\Tranzcode.exe "004.wav"*005.wav*006.wav*007.wav*008.wav*009.wav* /16 /48000 ) Any Ideas ?

Kurtnoise
30th October 2006, 18:45
This has not been fixed yet I think. Use v0.30 instead...

Austin Forgotten
30th October 2006, 21:37
@ xbox360: Yes I'm aware, I think I've fixed that now, I've also fixed several other bugz too, but I also have included some new code to complete 2-pass which was a pain-in-the-p-ass. I have a couple more things to clean up, hope to release new non-beta as soon as possible. Sorry for the delays, sometimes I work on diff things related to Tranzcode (future enhancements), I think about something and then I'll see if I can do it, later to go back and continue something I put on hold for awhile.

@Kurtnoise13, I've not forgotten about the source code. I've decided to write my own gui version (not just a gui, but a windows app). Once I've released that I'll post the console source. Guess I didn't want you to get a jump start on me :)

It might look something like this:

http://tranzcode.byethost22.com/files/gui.jpg

(it doesn't work it's just to show you I have begun work on it)

-AF

xbox360
31st October 2006, 01:06
Wow your GUI Rock's, just dont forget to add batch conversion.

daphy
29th November 2006, 08:08
Hiho,

I just revisited this project after a long time - I just add the commands for the actual beta (0.40)
The progress is amazing :p
Tranzcode v0.40 (beta) rel. (March 2006)

http://tranzcode.byethost22.com/

Tranzcode.exe is a console (commandline) application (i.e. requires command entry in a "DOS" window)
To run it, open a "Command Prompt" window in WinXP found in the "Accessories" folder (black windowed icon)
Either copy Tranzcode.exe into your i.e. 'C:\WINDOWS\system32\' directory to save you the trouble of setting it's path or copying it into every directory where your working files are located.

Here is a quick guide to help you run some commands using Tranzcode. (Tranzcode commands in a nutshell)

When executing any commands in the console, use double quotes around any dir path or filename that you enter which contains any space characters.

i.e. tranzcode "my ac3file.ac3"

or tranzcode "D:\wicked dts files\test.dts"


If you do not specify the output prefix name, then Tranzcode will use the source name and append a channel identifier to label the channel [i.e. <source name>-FL (means Front Left channel)]

tranzcode "dtswav test file.wav"

result will output several mono wavs depending on the number of channels found (i.e. if 5.1) The output filename are: dtswav test file-FL.wav, dtswav test file-FR.wav, dtswav test file-C.wav, dtswavtest file-LFE.wav, dtswav test file-SL.wav, dtswav test file-SR.wav

Where:
FL = Front Left channel
FR = Front Right channel
C = Center channel
LFE = Low Frequency Effect channel
SL = Surround Left channel (Back Left)
SR = Surround Right channel (Back Right)

** Note: Most options do not require specific order **
** Also options can be upper or lower case **

But.. some options do not work with others, you will be notified about those. Hopefully I caught all bad combinations.


Specify which channels you want decoded using '/+' or '/-' options
=================================================

(By default all channels will be decoded.)

examples:

tranzcode test.ac3 /+FL,FR (only decodes Front Left and Right channels)

tranzcode test.ac3 /-C,LFE,SL,SR (if this is a 5.1 file then it does the same only decodes Front Left and Right channels) (using '/-' cancels the channel output)


Transcoding DTS [.dts, .wav (dtswav), .cpt] & Dolby Digital files [.ac3, wav (ddwav)] to Mono wavs.
===========================================================================

examples:
tranzcode test.ac3
tranzcode test.ac3 /-LFE /16 /44100 (cancels LFE channel, outputs 16 bit integer wavs at 44.1Khz)



Transcoding DTS [.dts, .wav (dtswav), .cpt] & Dolby Digital files [.ac3, wav (ddwav)] to a Multichannel wav.
================================================================================

examples:
tranzcode test.ac3 /mch /-LFE /16 /44100 (cancels LFE channel, outputs a 16 bit integer, 44.1Khz multichanel
wav)

tranzcode test.ac3 my_multichannel /mch /-C,LFE /16 /44100


Get the file information about the file: [ /I ]
============================

examples:
tranzcode test.ac3 /i [this will show calculated info (quick)]

tranzcode test.ac3 /im [this will show measured info (slow for .dts, .cpt, .ac3, dtswav, and ddwav)]


Operate in quiet mode (no progess is displayed): [ /Q ]
=====================================

example:
tranzcode test.ac3 output_files /q


Disable Adjust: [/A]
============

example:
tranzcode test.ac3 output_files /a


Disable Dynamic Range Compression: [/R]
==============================

example:
tranzcode test.ac3 output_files /r


Disables channel decoding to mono wavs for regular wav files (not applicable to DTSWav & DDWav): [/X]
=================================================================================

(Lets say you want to resample a multichannel wav, by default it will demux the channels to mono wavs, the /x option will not demux, this allows dsp operations like bit depth conversion or resampling to occur.

example:
tranzcode my_multichnl.wav /48000 /x


Dithering: [/Dx]
=======

Dithering should be applied when bit depth converting form a higher resolution to a lower one.
Dithering requires an extra parameter 'x':

Where 'x' can be: (0-3)

0 = none (this is the same as not using the /D command - this may not be in future versions)
1 = no noise shaping
2 = triangular dither
3 = ATH based noise shaping

example:
tranzcode my_32bit_mchnl.wav /16 /d2


Probability Distribution Function: { /Fx, /Fx[y], /Fx[.zz] }
========================
Where pdf type (x) can be: 0 = rectangular, 1 = triangular, 2 = gaussian
Where noise amplitude (preset) [y] can be: 0 = 0.7, 1 = 0.9, 2 = 0.18 (default: [2] = 0.18))
Where noise amplitude (user entered) [.zz] is within the range: (.10 to .99)

tranzcode my_32bit_mchnl.wav /16 /d2 /f1[2]


Bit Depth Conversion: [/8, /16, /24, /32, /32f, /64f]
================

/8 = 8-bit integer output
/16 = 16-bit integer output
/24 = 24-bit integer output
/32 = 32-bit integer output
/32f = 32-bit floating point output
/64f = 64-bit floating point output

examples:
tranzcode my_32bit_mchnl.wav /24 /d2 /x

tranzcode my_ddwav.wav /16 /48000


Resampling: [/44100 , /48000, /96000]
=========

/44100 = 44.1 kHz output
/48000 = 48 kHz output
/96000 = 96 kHz output

example:
tranzcode test.dts /16 /44100


Interleaving (muxing) mono wavs have same characteristics to a multichannel wav.
==============================================================

example:

tranzcode chnl1.wav*chnl2.wav*chnl3.wav*chnl4.wav*chnl5.wav*chnl6.wav my_6channel.wav /+FL,FR,C,LFE,SL,SR

where (FL,FR,C,LFE,SL,SR are the speaker assignments) Yes this is where '/+' option has a dual purpose.
the channel should be in the correct order as they are listed 1st to last.

example:

tranzcode chnl1.wav*chnl2.wav*chnl3.wav*chnl4.wav my_4channel.wav /+FL,FR,BL,BR



Batch processing:
=============

You can run a batch job on several files, which have the same output specifications, by using the '*'
character a a delimiter.

example:

tranzcode "test 1.dts"*test2.dts+"test 3.ac3"*myddwav.wav*dtswavtestfile.wav /16 /44100



You can halt execution of a run Tranzcode process by using the old [CTRL-C] (Control Key + C key)
You can then load the unfinished output files into an audio editor to view the current progress of the file, or use it to suspend process till you make more disc space available on the drive. Then as prompted hit the 'Y' or 'y' key to continue execution, or any key to abort the process.


Well that's about it for now, hope you find this useful, sorry other commands are not available, like '/S' for dowmix of multichannel audio, or '/T' for Two-pass operation to check for clipping of peak values to lower the gain, or a gain, normalization feature, or... well that's why this is a beta version from March (I was doing other things since then) :).

-AF


keep it up buddy :thanks:

Pookie
29th November 2006, 20:10
Fantastic app, one of my favorites.

old-hack
5th December 2006, 18:51
What should the size of a transcoded dts or ac3 file be compared to the original?

i.e. original dts file = 445683 KB

tranzcode file.dts file.wav /mch /44100 (file size = ?)

right now my wave file is 2 gigs and growing

added: my tranzcoded file ended up being 5 gigs.

thx

old-hack
5th December 2006, 19:41
I guess I thought "Tranzcode" meant that it would transcode a dts or ac3 file into a wave with a size and format recordable on a CD. Obviously the wave file created must be re-encoded to an AC3 or DTS wave.

daphy
6th December 2006, 16:07
yep :p

DAKnn
12th December 2006, 13:11
When converting DTS into 6ch wav Im found some errors:

File Info:

c:\MP4\DTS\Tranzcode>tranzcode island.dts /im

File Information (length measured): island.dts
-------------------------------------------------------------------------------
filesize : 769,619,174 bytes
filetype : DTS Padded
channels : 6 [5.1]
bit depth : 24 bit integer
sample rate : 48,000 Hz
bit rate : 768.00 kbps
length (time) : 8,160.309333 seconds [2:16:00.309]
length (samps): 391,694,848 samples
frames : 765,029
framesize : 1,006 bytes
sync interval : 1,006 bytes
sync word fmt : 16 bit
amode : 9 [FL,FR,C,LFE,SL,SR] (multich wav compatible)

ERROR #1

original DTS time length: 2:16:0
when convert to 6ch result of mch wave file:

>tranzcode island.dts island.wav /mch /16 .. result: 2:04:16
>tranzcode island.dts island.wav /mch /24 .. result: 1:22:51
>tranzcode island.dts island.wav /mch /32 .. result: 1:02:08


in explorer (and WMP 11) - properties - summary in all files - audio sample size: 32bit !!
but filesize (with /mch) ~= summ of 6 wavs (without /mch)

when using 6 wavs decoding - time length is NORMAL

ERROR #2

why not muxing ??

c:\MP4\DTS\Tranzcode>tranzcode island.dts island.wav /24
Input filename: [island.dts] (DTS Padded)
Input attribs: [5.1 ch, 24 bit, 48.0 kHz, bitrate 768 kbps]
Output attribs: [PCM wav fmt, (6) x 1 ch, 24 bit, 48.0 kHz]
Additional dsp:
Output file(s): island-FL.wav
island-FR.wav
island-C.wav
island-LFE.wav
island-SL.wav
island-SR.wav
Processing: Completed. [765029 frames decoded (incl dsp) in 11 mins, 28 secs]

c:\MP4\DTS\Tranzcode>tranzcode island-FL.wav*island-FR.wav*island-C.wav*island-L
FE.wav*island-SL.wav*island-SR.wav island-6ch.wav /+FL,FR,C,LFE,SL,SR
Error: Incompatible channel selection (Available: ШO2)
Error: Incompatible channel selection (Available: ШO2)
Error: Incompatible channel selection (Available: ШO2)
Error: Incompatible channel selection (Available: ШO2)
Error: Incompatible channel selection (Available: ШO2)
Error: Incompatible channel selection (Available: ШO2)

[B]snx for .. answers..

tebasuna51
12th December 2006, 18:21
ERROR #1
original DTS time length: 2:16:0
when convert to 6ch result of mch wave file:

>tranzcode island.dts island.wav /mch /16 .. result: 2:04:16
>tranzcode island.dts island.wav /mch /24 .. result: 1:22:51
>tranzcode island.dts island.wav /mch /32 .. result: 1:02:08

in explorer (and WMP 11) - properties - summary in all files - audio sample size: 32bit !!
but filesize (with /mch) ~= summ of 6 wavs (without /mch)
The results 2:04:16, 1:22:51, 1:02:08 are wrong.
If the filesize is ~= summ of 6 wavs you have a usable multichannel wav of 2:16:00.

I say usable but not correct because there are two fields in wav header erroneous (Riff and DataLength). These fields are 4 bytes long and can't save a number greater than 2^32 = 4 G.

This limit (4 GB) is reached with:
(16bit/8) * 6 chan * 48000 samplerate * (2:04:16) sec
(24bit/8) * 6 chan * 48000 samplerate * (1:22:51) sec
(32bit/8) * 6 chan * 48000 samplerate * (1:02:08) sec
but your files contain more data.

The problem is how use this wav files rejected by many audio software.
- To edit the wav's is recommended use mono/stereo to avoid the problem.
- To merge/split channels you can use WaveWizard
- To encode to ac3/aac you can use Aften/NeroAacEnc, both accept wav files > 4GB (use -ignorelength with NeroAacEnc).
ERROR #2

why not muxing ??
Sorry I'm not test Tranzcode like muxer. Maybe is the same problem with the overflow in header fields. You can use WaveWizard instead (check Ignore Size in Header).

Edit: You can use also BeHappy/Bepipe with AviSynth to decode (NicDtsSource), make some edit (resample, timestretch, downmix, ...) and encode to ac3 (Aften), aac (Nero or CT), ogg, flac, ...
All without intermediate wav files.

Austin Forgotten
13th December 2006, 20:58
c:\MP4\DTS\Tranzcode>tranzcode island.dts island.wav /24
Input filename: [island.dts] (DTS Padded)
Input attribs: [5.1 ch, 24 bit, 48.0 kHz, bitrate 768 kbps]
Output attribs: [PCM wav fmt, (6) x 1 ch, 24 bit, 48.0 kHz]
Additional dsp: [bit depth: 32-bit flt -> 24-bit]
Output file(s): island-FL.wav
island-FR.wav
island-C.wav
island-LFE.wav
island-SL.wav
island-SR.wav
Processing: Completed. [765029 frames decoded (incl dsp) in 11 mins, 28 secs]

c:\MP4\DTS\Tranzcode>tranzcode island-FL.wav*island-FR.wav*island-C.wav*island-L
FE.wav*island-SL.wav*island-SR.wav island-6ch.wav /+FL,FR,C,LFE,SL,SR
Error: Incompatible channel selection (Available: ШO2)
Error: Incompatible channel selection (Available: ШO2)
Error: Incompatible channel selection (Available: ШO2)
Error: Incompatible channel selection (Available: ШO2)
Error: Incompatible channel selection (Available: ШO2)
Error: Incompatible channel selection (Available: ШO2)

I think you forgot to add the '/mchn' option, or was it '/mch', anyway I've replaced it with the '/m' option in the new ver (not out yet)

You can also try without the specified name and channels

i.e. without the "island-6ch.wav /+FL,FR,C,LFE,SL,SR"

just type...

tranzcode island-FL.wav*island-FR.wav*island-C.wav*island-L
FE.wav*island-SL.wav*island-SR.wav /mch

That error has nothing to do with the length (format [hh:mm:ss])

Tebasuna51 is right about explaining the length since the wav header is limited to holding a value just over 4GB. So when you mux to a multichannel wav the file grows large enough to surpass 4GB especially with higher bit depths.

-AF

BTW, I mentioned a new ver is on the way and I thing I said "soon". Well I guess eveyone knows my "soon" can be anywhere from a couple days to a year! I have finished the 2-pass & gain stuff, and added simple downmixing (not Dolby Pro Logic IIx), and also added stdout support and esaier batch processing via custom filters (i.e. *.dtswav, *.ddwav, *.2chwav, *.1chwav, *.mchwav) . I really wanted to have audio playback, but for the life of me I can't playback decoded samples. I've spend a week trying with DirectX, and 2-3 weeks using BASS Lib (www.un4seen.com). All source code examples I've seen playback from file, not from memory buffer. I know this is not the right place to ask for help, I'll go ask for help in the "Development" forum. I like BASS lib since it has plugins for playing back other filetypes as well as dsp effect etc., maybe I can farm out the job to someone who's up to scratch on BASS lib and knows how to implement it via ANSI C.

(frustrated Austin)

Austin Forgotten
15th December 2006, 00:40
I finally figured out the playback thing using BASS Lib, so I won't need to be a grouch at XMAS.

-af

daphy
15th December 2006, 08:50
I finally figured out the playback thing using BASS Lib, so I won't need to be a grouch at XMAS.

-af:p :D :p ;)

enantiomer
21st April 2007, 20:16
Austin, this a great tool.
You mentioned you added stdout support, but I haven't been able to figure out how to make that work. Can you give an example of how to use Tranzcode at the command line so that the stdout can be piped to another application, e.g. Aften? Thanks.

Austin Forgotten
26th April 2007, 23:20
Hiya enantiomer,

Thanks for taking interest in my project. The stdout feature will be part of the next version. Err... I have been working on it for quite some time as you may or may not know. I added significant more functionality, unfortunately I would like to complete those, before I release it (started several features, which need to be cleaned up). I know it's been more than a year since I reluctantly release the beta 4 which is plagued with bug, since there was pressure to release. Every now and then a bug will stiil appear :(.

I know that I've also hinted at a near release, but ended up starting another thing that interested me, which I might be able to add to Tranzcode, eventually delaying it's realese. The thing is allot is tied together, so till I have the whole thing working flawlessly err.. umm well close to it, then it will see be presented. Uhh.. I should mention that although I did do some gui work on it 4 months ago, I abandened it temporarily to spend time on add more features. Once I get those things working the way I want, I'll focus on the gui. For all you mouse clickers out there, I'm sorry about that, but I'm the only one working on it, and I'm doing the best I can. Hopefully there will be something within a month or 2, that's all I can promise (Really!) [a console ver that is].

cheers Austin Forgotten

mumdigaueln
7th May 2007, 12:56
Hi,

I tried to process a dts file which /im reports as follows:


filesize : 579,803,070 bytes
filetype : DTS Padded
channels : 6 [5.1]
bit depth : 16 bit integer
sample rate : 48,000 Hz
bit rate : 768.00 kbps
length (time) : 6,147.680000 seconds [1:42:27.680]
length (samps): 295,088,640 samples
frames : 576,345
framesize : 1,006 bytes
snc interval : 1,006 bytes
sync word fmt : 16 bit
amode : 9 [FL,FR,C,LFE,SL,SR] (multich wav compatible)


When I start tranzcode without additional commandline parameters, I get six 32-bit flt wav files. Why 32-bit, input is 16-bit?

When using /16 tranzcode reports


Additional dsp: [bit depth: 32-bit flt --> 16-bit]


Obviously, tranzcode treats the input file as 32-bit file while processing.

When applying /d2 with or without /f2, tranzcode crashes. Some dll missing? Or bug?

Any help highly welcome. Thanks in advance.

mumdigaueln

ACrowley
7th May 2007, 22:30
32bit Output is correct on DTS Files

mumdigaueln
8th May 2007, 09:23
32bit Output is correct on DTS Files

What does that mean? The dts file itself has 16 bit. When being transcoded to wav it is "normal" that the bit depth is converted to 32-bit? Can you explain that?

And why the crash when trying to apply dithering?

mumdigaueln

Austin Forgotten
9th May 2007, 23:13
Hello there mumdigaueln,

You say that "When applying /d2 with or without /f2, tranzcode crashes". Actually I'm not surprised by that as the more I add to Tranzcode, the less time I have to fully test every option fully. I would advise not to use any dithering when down bit converting. I'll have a look at this. The dithering code as well as downbit converting and resampling was taken from ssrc source code (ssrc 1.30) (http://shibatch.sourceforge.net/)

To explain why the /im option says the file is a 16-bit dts, and the output is 32 bit floating point which you probably want to have as 16 bit wav output, you may find some info in a readme file. Basically I used libdts (renamed now to libdca) to decode dts, which THANKFULLY decodes to 64 bit floating point samples (i.e. doubles), why this is a good thing is because you can perform high level dsp (i.e. resampling) operations and retain the highest quality output. Thus tranzcode does all it's dsp at 64 bit floats (doubles) and then allow the user to select which resolution they desire.

Since 64 bit floats is not too popular as a default wav output I decided to default to 32 bit floats. If 16 bit integer output is desired I down convert it from 64 bit flts, which is an extra operation, which I let you know about it.

The /im command describes some attributes about the source file, apparently the dts file in question was originally encoded with 16 bit mono source files.

Err... as you probably already know, the multichannel output has a few errors in the (ext) wav header, which I've fixed in the unrel ver. You are advised to use another app (i.e. wavwizard) to mux the mono wavs output.

mumdigaueln
15th May 2007, 01:42
Hi Austin Forgotton,

thanks for your reply. If I understand you right, you propose to just let Tranzcode convert to mono wav files without any dithering and bit depth conversion. That will force me to do one step more, i. e. transcode (from 32-bit) to 16-bit mono wav's (including dithering which - as I learned - should always be applied when going down), as the program I use to encode to ac3 (Sonic Audio Transcoder which is part of Scenarist, but can also be used standalone) just accepts 16-bit wav's as input. This additional step is ok for me, as long as the quality is pertained as much as possible. I think I'll use Sound Forge or Audition for this intermediate step.

Best regards

mumdigaueln

Mtz
13th November 2007, 16:33
Do you have some link for Tranzcode GUI?