Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

 

Go Back   Doom9's Forum > General > Audio encoding

Reply
 
Thread Tools Search this Thread Display Modes
Old 3rd May 2005, 07:56   #1  |  Link
daphy
Miles Freak
 
daphy's Avatar
 
Join Date: Apr 2003
Location: Europe
Posts: 652
Tranzcode 0.40 beta

Quote:
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 (including latest TranzGUI v1.4 by Kurtnoise13)
and on Austin Forgotten´s Homepage (source code also avaible)
__________________
CYA Daphy

Last edited by daphy; 29th November 2006 at 09:03. Reason: update GUI v1.4
daphy is offline   Reply With Quote
Old 3rd May 2005, 08:04   #2  |  Link
Kurtnoise
Swallowed in the Sea
 
Kurtnoise's Avatar
 
Join Date: Oct 2002
Location: Aix-en-Provence, France
Posts: 5,191
Thanks buddy... I'll try it asap.
Kurtnoise is offline   Reply With Quote
Old 3rd May 2005, 15:45   #3  |  Link
rjamorim
Blah!
 
Join Date: Jul 2002
Location: Brazil
Posts: 337
Isn't this app breaking libdts/libdca's GPL license by not releasing (GPLd) sources?
__________________
Get latest LAME, Vorbis and more binaries at RareWares:
http://www.rarewares.org
rjamorim is offline   Reply With Quote
Old 4th May 2005, 05:58   #4  |  Link
Austin Forgotten
Registered User
 
Join Date: Apr 2005
Posts: 46
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:
Quote:
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) .

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 . 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
Austin Forgotten is offline   Reply With Quote
Old 4th May 2005, 07:49   #5  |  Link
daphy
Miles Freak
 
daphy's Avatar
 
Join Date: Apr 2003
Location: Europe
Posts: 652
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)
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?

Edit: check PM plz
__________________
CYA Daphy

Last edited by daphy; 4th May 2005 at 09:01.
daphy is offline   Reply With Quote
Old 5th May 2005, 09:45   #6  |  Link
Austin Forgotten
Registered User
 
Join Date: Apr 2005
Posts: 46
Daphy wrote concerning an interesting question posed by LigH elsewhere:

Quote:
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 is offline   Reply With Quote
Old 7th May 2005, 02:31   #7  |  Link
Austin Forgotten
Registered User
 
Join Date: Apr 2005
Posts: 46
There is a newer version (v0.30) posted, and the source code is also available. It's not pretty but it works.

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
Austin Forgotten is offline   Reply With Quote
Old 12th May 2005, 08:49   #8  |  Link
Kurtnoise
Swallowed in the Sea
 
Kurtnoise's Avatar
 
Join Date: Oct 2002
Location: Aix-en-Provence, France
Posts: 5,191
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 ?...
Kurtnoise is offline   Reply With Quote
Old 12th May 2005, 21:29   #9  |  Link
Austin Forgotten
Registered User
 
Join Date: Apr 2005
Posts: 46
Kurtnoise13 wrote:
Quote:
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.. .. 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

Last edited by Austin Forgotten; 12th May 2005 at 22:59.
Austin Forgotten is offline   Reply With Quote
Old 12th May 2005, 22:29   #10  |  Link
Dark-Cracker
Registered User
 
Dark-Cracker's Avatar
 
Join Date: Feb 2002
Posts: 1,195
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

++
__________________

AutoDub v1.8 : Divx3/4/5 & Xvid Video codec and .OGG/.MP3/.AC3/.WMA audio codec.
AutoRV10 v1.0 : Use RealVideo 10 Codec and support 2 Audio Streams and Subtitles.

Dark-Cracker is offline   Reply With Quote
Old 13th May 2005, 08:46   #11  |  Link
Kurtnoise
Swallowed in the Sea
 
Kurtnoise's Avatar
 
Join Date: Oct 2002
Location: Aix-en-Provence, France
Posts: 5,191
Yes, the pipe encoding option is exactly what you have described. It will be good...at least for me.

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


Quote:
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 and this too.

Quote:
Originally posted by Austin Forgotten
I've also have a request of my own.. .. 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.
Kurtnoise is offline   Reply With Quote
Old 1st June 2005, 01:40   #12  |  Link
johnman
Registered User
 
johnman's Avatar
 
Join Date: Jan 2004
Posts: 212
I sended you a pm austin I dont know if you ofter look at the pm's so im posting this msg also.

Last edited by johnman; 1st June 2005 at 01:42.
johnman is offline   Reply With Quote
Old 1st June 2005, 06:40   #13  |  Link
daphy
Miles Freak
 
daphy's Avatar
 
Join Date: Apr 2003
Location: Europe
Posts: 652
I also tried to reach Austin - maybe he´s on holidays

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

Edit: done
__________________
CYA Daphy

Last edited by daphy; 1st June 2005 at 12:55.
daphy is offline   Reply With Quote
Old 2nd June 2005, 16:42   #14  |  Link
zombi55
Registered User
 
Join Date: Feb 2005
Posts: 22
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
zombi55 is offline   Reply With Quote
Old 2nd June 2005, 19:27   #15  |  Link
Austin Forgotten
Registered User
 
Join Date: Apr 2005
Posts: 46
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
Austin Forgotten is offline   Reply With Quote
Old 2nd June 2005, 19:52   #16  |  Link
Kurtnoise
Swallowed in the Sea
 
Kurtnoise's Avatar
 
Join Date: Oct 2002
Location: Aix-en-Provence, France
Posts: 5,191
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
Kurtnoise is offline   Reply With Quote
Old 2nd June 2005, 23:03   #17  |  Link
zombi55
Registered User
 
Join Date: Feb 2005
Posts: 22
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.

Quote:
Originally Posted by Kurtnoise
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
zombi55 is offline   Reply With Quote
Old 3rd June 2005, 02:19   #18  |  Link
Austin Forgotten
Registered User
 
Join Date: Apr 2005
Posts: 46
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 is offline   Reply With Quote
Old 3rd June 2005, 02:30   #19  |  Link
Austin Forgotten
Registered User
 
Join Date: Apr 2005
Posts: 46
Quote:
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.
Austin Forgotten is offline   Reply With Quote
Old 3rd June 2005, 06:47   #20  |  Link
zombi55
Registered User
 
Join Date: Feb 2005
Posts: 22
Quote:
Originally Posted by Austin Forgotten
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
zombi55 is offline   Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 16:04.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.