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 2nd March 2006, 22:20   #121  |  Link
dimzon
BeHappy/MeGUI developer
 
dimzon's Avatar
 
Join Date: Oct 2003
Location: Moscow, Russia
Posts: 1,727
Quote:
Originally Posted by tebasuna51
But I think is not necesary, now work like ffdshow, Cyberlink PowerDVD 6, ...
I really want to cover all besweet functionality. Seems like I must write some custom callback to realize additional DRC modes. Can You help me to write it (i need math and valid coefficients)

Talking about DRC in DTS, maybe it's possible to use same function in it? Does You have DTS samples for testing (i have not)
dimzon is offline   Reply With Quote
Old 3rd March 2006, 12:06   #122  |  Link
dimzon
BeHappy/MeGUI developer
 
dimzon's Avatar
 
Join Date: Oct 2003
Location: Moscow, Russia
Posts: 1,727
http://forum.doom9.org/showthread.ph...573#post793573
dimzon is offline   Reply With Quote
Old 3rd March 2006, 13:08   #123  |  Link
tebasuna51
Moderator
 
tebasuna51's Avatar
 
Join Date: Feb 2005
Location: Spain
Posts: 6,914
Quote:
Originally Posted by dimzon
I really want to cover all besweet functionality.
Nice. The most important for me is accept any kind of wav input and split in mono waves (to send after to good ac3 encoders).
Maybe also cover WaveWizard functionality accepting wav > 4GB and WAV_FORMAT_EXTENSIBLE headers.

Quote:
Originally Posted by dimzon
Seems like I must write some custom callback to realize additional DRC modes. Can You help me to write it (i need math and valid coefficients)
I think you need not easy algorithms. Just I learn a few with Compand Sox function and there are involved parameters like attack, dekay, delay, ... and I don't understand very much how work. See this image

I think is not a priority, with your new NicAudio.dll is enough for MeGUI.

About NicAc3Source I detect a bug decoding 5.0 (without LFE) ac3 streams. Make a wav 6 channels (with LFE empty) but wrong mapping C_SL_FR_FL_SR_LFE, need Getchannels(4,3,1,6,2,5).

Quote:
Originally Posted by dimzon
Talking about DRC in DTS, maybe it's possible to use same function in it? Does You have DTS samples for testing (i have not)
I have a swedish test channel but decoded with NicAudio, foobar, Tranzcode or ffdshow (with errorrs) is always the same. Maybe don't have DRC (optional in DTS, like in Ac3).
I can't test DTS because I don't own a DTS encoder. Maybe other user can test your new NicAudio.dll.
Attached Images
 

Last edited by tebasuna51; 3rd March 2006 at 13:43.
tebasuna51 is offline   Reply With Quote
Old 3rd March 2006, 14:23   #124  |  Link
tebasuna51
Moderator
 
tebasuna51's Avatar
 
Join Date: Feb 2005
Location: Spain
Posts: 6,914
I still have problems with BeHappy new version.

Using like input this Test1.avs (3 stereo wav's to wav 6 channels)
Code:
flfr = WavSource("g:\Test_FL_FR1.wav")
fl = GetChannel(flfr, 1)
fr = GetChannel(flfr, 2)
clfe = WavSource("g:\Test_C_LFE1.wav")
c = GetChannel(clfe, 1)
lfe = GetChannel(clfe, 2)
slsr = WavSource("g:\Test_SL_SR1.wav")
sl = GetChannel(slsr, 1)
sr = GetChannel(slsr, 2)
MergeChannels(fl, fr, c, lfe, sl, sr)
With BeHappy v0.1.0.30756 (20051229) work fine, but with BeHappy v0.1.0.28107 (20060206) don't work, I get:
Code:
Starting job Test1.avs->Test.wav
Found Audio Stream
Channels=6, BitsPerSample=16, SampleRate=48000Hz
Writing RIFF header to encoder's StdIn
Writing PCM data to encoder's StdIn
Error: BeHappy.AviSynthException: AudioStreamSource
   at BeHappy.Encoder.encode()
Please, if you need make a new BeHappy version for include NicAudio options, and is easy to modify:
- Don't include EnsureVBRMP3Sync(), or make it optional with a checkbox in Tweak section.
- Don't include the two AudioDubEx() if the checkbox Split is not marked.
- Accept negative values in Amplify.

Thanks.

Last edited by tebasuna51; 3rd March 2006 at 14:30.
tebasuna51 is offline   Reply With Quote
Old 3rd March 2006, 15:16   #125  |  Link
dimzon
BeHappy/MeGUI developer
 
dimzon's Avatar
 
Join Date: Oct 2003
Location: Moscow, Russia
Posts: 1,727
Quote:
Originally Posted by tebasuna51
Maybe also cover WaveWizard functionality accepting wav > 4GB and WAV_FORMAT_EXTENSIBLE headers.
Isn't possible to accept such files just using DirectShowSource instead WavSource?

Quote:
Originally Posted by tebasuna51
split in mono waves (to send after to good ac3 encoders).
I'm planning to perform some reverse-engineering of Dolby AC3 encoder Dll's in order to write my own CLI frontend for it (acceptable to encode 6ch WAV directly) but I plan to do it much more later...

Quote:
Originally Posted by tebasuna51
I think you need not easy algorithms. Just I learn a few with Compand Sox function and there are involved parameters like attack, dekay, delay, ... and I don't understand very much how work. See this image
I'm just talking about standart DRC in addition to normal: Neavy/Normal/Light/Inverse

Quote:
Originally Posted by tebasuna51
About NicAc3Source I detect a bug decoding 5.0 (without LFE) ac3 streams. Make a wav 6 channels (with LFE empty) but wrong mapping C_SL_FR_FL_SR_LFE, need Getchannels(4,3,1,6,2,5).
Seems like I found bug:
Code:
	case A52_3F2R:
		LFE      = Flags && A52_LFE;
		DecFlags = A52_3F2R;
		if (LFE)
			DecFlags |= A52_LFE;
		ChannelCount = 6;
		break;
In this case LFE variable is always = true.
Replaced to
Code:
LFE  = 0!=(Flags &A52_LFE);
Same for DTS, try this binary: http://www.mytempdir.com/489796

Quote:
Originally Posted by tebasuna51
I still have problems with BeHappy new version.
I have found same problem just 3 days ago. Unfortunally I can't say nothing about it except it's internal AviSynth problem (exeption is thrown by AviSynth) and it will occured sometimes (not every time). Try to open yor avs script using Import, not WavSource...

Quote:
Originally Posted by tebasuna51
Please, if you need make a new BeHappy version for include NicAudio options, and is easy to modify:
- Don't include EnsureVBRMP3Sync(), or make it optional with a checkbox in Tweak section.
- Don't include the two AudioDubEx() if the checkbox Split is not marked.
- Accept negative values in Amplify.
All Your suggestions will be implemented in next build BUT I'm not planning to release new BeHappy version during at least next 2 weeks, sorry...
dimzon is offline   Reply With Quote
Old 3rd March 2006, 16:47   #126  |  Link
dimzon
BeHappy/MeGUI developer
 
dimzon's Avatar
 
Join Date: Oct 2003
Location: Moscow, Russia
Posts: 1,727
Quote:
Originally Posted by tebasuna51
Sorry, I don't know DTS format.
The DTS Coherent Acoustics standard (ETSI 102 114 v1.2.1), as published by the ETSI, is available here (search for DTS Coherent Acoustics)
dimzon is offline   Reply With Quote
Old 5th March 2006, 05:00   #127  |  Link
tebasuna51
Moderator
 
tebasuna51's Avatar
 
Join Date: Feb 2005
Location: Spain
Posts: 6,914
Quote:
Originally Posted by dimzon
The DTS Coherent Acoustics standard (ETSI 102 114 v1.2.1), as published by the ETSI, is available here[/COLOR][/B])
After read this I check my test.dts and is encoded without DRC.

Then if anybody want do the test before a new BeHappy version support this issue, can create a new file in BeHappy folder:

NicAudioDRC.extension
Code:
<?xml version="1.0"?>
<BeHappy.Extension xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://workspaces.gotdotnet.com/behappy">
  <AudioSource Name="NicAc3SourceDRC" UniqueID="79c27720-ab72-11da-a746-0800200c9a66">
    <Script>NicAc3Source("{0}", DRC=1)</Script>
    <SupportedFileExtension>ac3</SupportedFileExtension>
  </AudioSource>
  <AudioSource Name="NicDtsSourceDRC" UniqueID="880150e0-ab72-11da-a746-0800200c9a66">
    <Script>NicDtsSource("{0}", DRC=1)</Script>
    <SupportedFileExtension>dts</SupportedFileExtension>
  </AudioSource>
</BeHappy.Extension>
With this there are two new input source methods:
NicAc3SourceDRC
NicDtsSourceDRC

The ac3 method work fine, and the bug with ac3 5.0 is also corrected.

Quote:
Isn't possible to accept such files just using DirectShowSource instead WavSource?
Yes, configuring ffdshow Audio Decoder -> Codecs -> WAV -> All supported, I can open wav 32bit float, WAVE_FORMAT_EXTENSIBLE, ... (still not tested > 4 GB).
Is not a easy way, because I need uncheck other functions used for play and after do the conversion recheck them, but work.

Quote:
I have found same problem just 3 days ago. Unfortunally I can't say nothing about it except it's internal AviSynth problem (exeption is thrown by AviSynth) and it will occured sometimes (not every time). Try to open yor avs script using Import, not WavSource...
Yes sometimes work. If you think the problem is solved using Import maybe we need a new source method:

AvsSource.extension
Code:
<?xml version="1.0"?>
<BeHappy.Extension xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://workspaces.gotdotnet.com/behappy">
  <AudioSource Name="AvsSource" UniqueID="0aa78710-aafd-11da-a746-0800200c9a66">
    <Script>Import("{0}")</Script>
    <SupportedFileExtension>avs</SupportedFileExtension>
  </AudioSource>
</BeHappy.Extension>
and disable .avs like extension for WavSource.

Quote:
I'm planning to perform some reverse-engineering of Dolby AC3 encoder Dll's in order to write my own CLI frontend for it (acceptable to encode 6ch WAV directly) but I plan to do it much more later...
Great notice. We need a good free ac3 encoder better than ffmpeg, ac3enc, ...

But split in mono wavs is also needed for other reasons and I think is really easy to do, don't forget this please.

And at last, but not the last, thanks for accept my suggestions for new BeHappy release.
tebasuna51 is offline   Reply With Quote
Old 5th March 2006, 10:31   #128  |  Link
dimzon
BeHappy/MeGUI developer
 
dimzon's Avatar
 
Join Date: Oct 2003
Location: Moscow, Russia
Posts: 1,727
@tebasuna51
does you tested new binary (5.0 issue)?
dimzon is offline   Reply With Quote
Old 5th March 2006, 10:58   #129  |  Link
scharfis_brain
brainless
 
scharfis_brain's Avatar
 
Join Date: Mar 2003
Location: Germany
Posts: 3,653
Without having read the whole thread: is nicaudio capable of putting out more than 16bit audio sampling precision?
__________________
Don't forget the 'c'!

Don't PM me for technical support, please.
scharfis_brain is offline   Reply With Quote
Old 5th March 2006, 11:22   #130  |  Link
tebasuna51
Moderator
 
tebasuna51's Avatar
 
Join Date: Feb 2005
Location: Spain
Posts: 6,914
Quote:
Originally Posted by dimzon
does you tested new binary (5.0 issue)?
Yes:
"The ac3 method work fine, and the bug with ac3 5.0 is also corrected."
tebasuna51 is offline   Reply With Quote
Old 5th March 2006, 11:38   #131  |  Link
tebasuna51
Moderator
 
tebasuna51's Avatar
 
Join Date: Feb 2005
Location: Spain
Posts: 6,914
Quote:
Originally Posted by scharfis_brain
Without having read the whole thread: is nicaudio capable of putting out more than 16bit audio sampling precision?
Ac3 is a old codec and, AFAIK, internal precision is not greater than 16 bit, you can convert the output to any precision for further conversions.
tebasuna51 is offline   Reply With Quote
Old 5th March 2006, 12:29   #132  |  Link
scharfis_brain
brainless
 
scharfis_brain's Avatar
 
Join Date: Mar 2003
Location: Germany
Posts: 3,653
internal precision 'may' be only 16bit, but due to the internal dynamic range control of AC3 (in German it is "Hüllkurve") you won't loose precision in silent scenes when decoding to 24bit.

Also you may decode every psycoacoustic coding to arbitary bit depths because of its frequency nature. Of couse this precision is faked a bit, but it is much better than going from 16bit to 24 (or higher) bit after decoding.
__________________
Don't forget the 'c'!

Don't PM me for technical support, please.
scharfis_brain is offline   Reply With Quote
Old 5th March 2006, 14:08   #133  |  Link
dimzon
BeHappy/MeGUI developer
 
dimzon's Avatar
 
Join Date: Oct 2003
Location: Moscow, Russia
Posts: 1,727
Quote:
Originally Posted by tebasuna51
Yes:
"The ac3 method work fine, and the bug with ac3 5.0 is also corrected."
Oh sorry, thanx a lot for testing. Does it mean I can do new stable release of NicAudio?

Talking about AC3 compression - I have not plans to do it right now but can you tell me wich AC3 encoder does You prefer?
dimzon is offline   Reply With Quote
Old 5th March 2006, 14:44   #134  |  Link
tebasuna51
Moderator
 
tebasuna51's Avatar
 
Join Date: Feb 2005
Location: Spain
Posts: 6,914
Quote:
Originally Posted by dimzon
Does it mean I can do new stable release of NicAudio?
Yes for me. Maybe any dts test, but seems dts_dynrng work like the equivalent ac3.

Quote:
Originally Posted by dimzon
Talking about AC3 compression - I have not plans to do it right now but can you tell me wich AC3 encoder does You prefer?
About free encoders you can see: http://forum.doom9.org/showthread.ph...503#post759503

- DarkAvenger (HeadAC3he) seems solve the low volume issue (50%) in their ac3enc.dll.

- DRC info must be generated in ac3 stream.

- Others parameters: DialNorm, MixLevels, ... must be user defined.

With non-free encoders, I only test the old and slow Sonic Foundry SoftEncode.
tebasuna51 is offline   Reply With Quote
Old 7th March 2006, 14:45   #135  |  Link
dimzon
BeHappy/MeGUI developer
 
dimzon's Avatar
 
Join Date: Oct 2003
Location: Moscow, Russia
Posts: 1,727
@tebasuna51
FYI
fresh NicAudio http://forum.doom9.org/showthread.php?t=108112
fresh BassAudio http://forum.doom9.org/showthread.php?t=108254

Can You play with / test BassAudio ?
dimzon is offline   Reply With Quote
Old 7th March 2006, 15:12   #136  |  Link
NorthPole
Registered User
 
Join Date: Jan 2006
Posts: 141
@tebasuna51

I read your post in this thread http://forum.doom9.org/showthread.ph...503#post759503

Thanks for the work...very interesting. What program did you use to test the ac3 output levels?

Did you use wavewizard with the dark avenger ac3enc.dll or were you using the headAC3he frontend?
NorthPole is offline   Reply With Quote
Old 7th March 2006, 18:54   #137  |  Link
tebasuna51
Moderator
 
tebasuna51's Avatar
 
Join Date: Feb 2005
Location: Spain
Posts: 6,914
Quote:
Originally Posted by NorthPole
What program did you use to test the ac3 output levels?
We need decode to wav the ac3 stream with BeHappy-NicAudio or BeSweet-Azid without DRC, ota-normalize, downmix,...
After any wav editor Audacity, Goldwave, Audition...

Quote:
Originally Posted by NorthPole
Did you use wavewizard with the dark avenger ac3enc.dll or were you using the headAC3he frontend?
The HeadAC3he frontend is needed because have the Gain parameter. The ac3enc.dll from HeadAC3he don't work with WaveWizard, but the used is supplied for Dark Avenger to Johnman.

AFAIK the problem is how send this Gain parameter to ac3enc.dll, because is applied internally.
tebasuna51 is offline   Reply With Quote
Old 8th March 2006, 01:19   #138  |  Link
NorthPole
Registered User
 
Join Date: Jan 2006
Posts: 141
@tebasuna51

Thanks for the reply. Sorry about the off thread topic. I have been doing the same as you. Decoding to wave and checking the levels with cooledit. I have been using ffmpeg from http://celticdruid.no-ip.com/xvid/

@Dimzon or maybe @Dayvon

The new logo looks good.

I'll try the bassAudio decoder and let you know if I have any problems.
NorthPole is offline   Reply With Quote
Old 10th March 2006, 03:16   #139  |  Link
tebasuna51
Moderator
 
tebasuna51's Avatar
 
Join Date: Feb 2005
Location: Spain
Posts: 6,914
BASSAUDIO TEST

Seems work ok with mp2, mp3, ogg, wma and stereo aac (LC, HE and PS)
Also work with ac3 5.1 (without DRC), 6 channel ogg and wma.
And with wav stereo and multichannel int16, int32, float32 with canonical or WAVE_EXTENSIBLE_FORMAT headers.

Now is not necesary DirectShowSource for wav, wma, ogg or stereo aac files.

PROBLEMS

With ac3 2.0 make a wav 6 channels R_e_e_L_e_e (e=empty channel).

With aac 5.1 sometimes make a wav6 with all channels equal to a distorted Center channel, and sometimes:
Code:
Starting job Test6.aac->Test6.wav
Found Audio Stream
Channels=6, BitsPerSample=16, SampleRate=48000Hz
Writing RIFF header to encoder's StdIn
Writing PCM data to encoder's StdIn
Error: System.NullReferenceException: Object reference not set to an instance of an object.
   at BeHappy.AviSynthClip.dimzon_avs_getaframe(IntPtr avs, IntPtr buf, Int64 sampleNo, Int64 sampleCount)
   at BeHappy.Encoder.encode()

or

Error: System.NullReferenceException: Object reference not set to an instance of an object.
   at BeHappy.AviSynthClip.dimzon_avs_destroy(IntPtr& avs)
   at BeHappy.AviSynthClip.System.IDisposable.Dispose()
   at BeHappy.Encoder.encode()

Last edited by tebasuna51; 10th March 2006 at 03:33.
tebasuna51 is offline   Reply With Quote
Old 10th March 2006, 08:33   #140  |  Link
dimzon
BeHappy/MeGUI developer
 
dimzon's Avatar
 
Join Date: Oct 2003
Location: Moscow, Russia
Posts: 1,727
Quote:
Originally Posted by tebasuna51
PROBLEMS

With ac3 2.0 make a wav 6 channels R_e_e_L_e_e (e=empty channel).

With aac 5.1 sometimes make a wav6 with all channels equal to a distorted Center channel...
Hm. Thanx a lot, seems like this is BASS problem


Quote:
Originally Posted by tebasuna51
and sometimes
How often does this bug reproducable. Does it only for 5.1 AAC decoding via bassAudio?
dimzon is offline   Reply With Quote
Reply

Tags
behappy

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 18:13.


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