Log in

View Full Version : BeHappy - AviSynth based audio transcoding tool (UPD 19-07-2006)


Pages : 1 2 3 [4] 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27

3dsnar
14th March 2006, 07:26
I'm planning to write AudioLimiter plugin

output = tahh(input*factor) / tanh(factor)

http://img64.imageshack.us/img64/3035/tmp1141993187p629f25xl.gif
factor = 1
factor = 1.5
factor = 2
factor = 3
factor = 4


Does anybody know another sutable formulas?
Dimzon, I will send you a code for a limiter constructed from a sine glued with a linear section. It also has a limiting
knee that can be adjusted. Morover, this always limits to [-1, 1] range and up to some signal level is linear (no harmonic distortion).

dimzon
15th March 2006, 15:49
@tebasuna51
Please, test my AudioLimiter filter http://forum.doom9.org/showthread.php?t=108470

What does You think, does it acceptable to use it for DRC?

tebasuna51
16th March 2006, 03:52
@tebasuna51
Please, test my AudioLimiter filter http://forum.doom9.org/showthread.php?t=108470

What does You think, does it acceptable to use it for DRC?
I'm not a expert in DRC, but I think if DRC algorithms use parameters like attack and dekay is for good reasons.

A instant volume conversión with simple math formulas produce distort output like you can see in this image. (http://www.mytempdir.com/519521)

With a frequency analysis you can see the audible overtones, not present using more sophisticated algorithms:
Frequency Analysis. (http://www.mytempdir.com/519529)

For me the DRC is only useful with ac3 or dts sources, and this work ok with your modified NicAaudio.dll. For others uses the compand Sox function still work better than this AudioLimiters.

3dsnar
16th March 2006, 07:08
I'm not a expert in DRC, but I think if DRC algorithms use parameters like attack and dekay is for good reasons.

A instant volume conversión with simple math formulas produce distort output like you can see in this image. (http://www.mytempdir.com/519521)

With a frequency analysis you can see the audible overtones, not present using more sophisticated algorithms:
Frequency Analysis. (http://www.mytempdir.com/519529)

For me the DRC is only useful with ac3 or dts sources, and this work ok with your modified NicAaudio.dll. For others uses the compand Sox function still work better than this AudioLimiters.
Tebasune51 is right. The limiter (or also called soft clipper) is usually used to make the hard clipping effect more listenable. It is a useful tool, so it is good to have it. It also can be viewed as the simplest form of compressor.
---------------------------
However, for compressing the amplitude of the signal, usually a dynamic compressor is used (with the attack phase, release phase, compression ratio, and other parameters).
---------------------------
Dimzon, I have implemented in the past a very high quality (very low harmonic distortions) compressor for some pro-audio applications, and the code belongs to me (personally). I will have to just clean it a bit and will provide you with it. So you will be able to use it as open source, or in whaterver way you prefer. So I will get back with this to you soon.

dimzon
16th March 2006, 09:31
@3dsnar
Thanx a lot

@3dsnar, @tebasuna51
http://en.wikipedia.org/wiki/Amplitude_compression
I'm just trying to reproduce BeSweet's custom boost modes (LigH/Tera/DSPGuru) - there are no attac/decay parameters for it, seems like they are just limiters. Custom boost modes + additional AC3 DRC is last to cover all BeSweet functionality...

tebasuna51
16th March 2006, 17:38
I'm just trying to reproduce BeSweet's custom boost modes (LigH/Tera/DSPGuru) - there are no attac/decay parameters for it, seems like they are just limiters. Custom boost modes + additional AC3 DRC is last to cover all BeSweet functionality...
Really I never use the Boost BeLight section. I make some test with default values in BeLight:
- DSPguru method -boost( /b2=4 /l=0.95 ): Broken for input values > -7.16 dB. Don't need emulate.
- Tera method -boost( /b3=5 /l=0.95 ): low range values very amplified. Not similar behavior with your AudioLimiter functions.
- LigH method -boost( /b=3 /l=0.95 ): This method can be emulated with ExpotencialLimiter(2.4) with light differences.
All values are peak (-) dB

Met\Input 46.6 40.8 36.0 31.2 26.4 21.6 16.8 12.0 10.45 7.2 2.40
--------- ---- ---- ---- ---- ---- ---- ---- ---- ----- ---- -----
Tera_norm 30.3 25.6 21.1 16.8 12.7 9.1 6.0 3.5 2.85 1.7 0.45
LigH_norm 37.3 31.2 26.4 21.6 16.9 12.2 7.7 3.9 2.85 1.2 0.14
Expot 2.4 37.6 32.6 27.5 22.2 16.8 11.4 6.7 3.2 2.44 1.2 0.24
Expot 2.0 39.0 34.1 29.1 23.9 18.6 13.4 8.5 4.6 3.60 1.9 0.43
Expot 3.0 35.6 30.5 25.3 19.9 14.3 8.9 4.6 1.9 1.33 0.6 0.10

dimzon
16th March 2006, 17:58
@tebasuna51
Thanx a lot

Does anybody know good free math-modeling software (free MathLab analogue)?

dimzon
16th March 2006, 18:02
found very interesting site
http://musicdsp.org/

dimzon
16th March 2006, 18:18
Yet another fine link http://www.dspguru.com/sw/opendsp/mathclo2.htm

dimzon
16th March 2006, 18:29
fine, found some free matlab replacement
http://www.scilab.org/

will try it tonight

dimzon
17th March 2006, 00:17
Ok, second name for this Effect is Wavesharper
There are big amount of such formulas
http://musicdsp.org/archive.php?classid=4#207
http://www.google.com/search?lr=&ie=UTF-8&oe=UTF-8&q=Waveshaper

and finally found good approximation
http://img217.imageshack.us/img217/1803/testnew6pc.png
yellow is tera
pink is .55 * Math.Atan(6*x)

sasam
18th March 2006, 12:17
Hi dimzon,
That's a nice logo for behappy you have, looking like Google...
What do you think about this:
http://img112.imageshack.us/img112/6431/behappy4nd.png

tebasuna51
18th March 2006, 12:21
About new Bass_ac3.dll (http://www.maresweb.de/forums/index.php?showtopic=98#)
I don't know if you need make some modification to use with BeHappy, but a simple dll replace produce this wav output:

- Ac3 2.0: ok now
- Ac3 5.0: wrong channelmapping C_SL_FR_FL_SR_e (empty)
- Ac3 5.1: same wrong channelmapping C_SL_FR_FL_SR_e (empty), LFE missing.

I know bass_ac3 is not necessary for BeHappy (you have NicAudio), but bass_aac is really interesting and I hope maresweb developers can help us.

dimzon
23rd March 2006, 11:43
BeHappy in TOP 5 @ GotDontNet !

http://www.gotdotnet.com/workspaces/directory.aspx

http://img67.imageshack.us/img67/7726/bh0pz.th.png (http://img67.imageshack.us/img67/7726/bh0pz.png)

Congratulations :cool: :cool: :cool:

shon3i
23rd March 2006, 12:02
Congratulations to you dimzon and rockaria for very good app

3dsnar
23rd March 2006, 12:15
Congrats!!
Keep up the good work!

mxms
25th March 2006, 03:51
My appologies, I'm new to this thing but here is what I'm trying to do.

I have a 5.1 AAC file I converted to WAVE in 6 channels. I'm now trying to use BeHappy to conver from WAVE - AC3. Which when I try I get:


Starting job Track2.wav->Track2.ac3
Found Audio Stream
Channels=6, BitsPerSample=16, SampleRate=48000Hz
ffmpeg.exe -i - -y -acodec ac3 -ab 448 "C:\Documents and Settings\Nick\Desktop\ergo2\Track2.ac3"
Error: System.ApplicationException: Can't start encoder: The system cannot find the file specified ---> System.ComponentModel.Win32Exception: The system cannot find the file specified
at System.Diagnostics.Process.StartWithCreateProcess(ProcessStartInfo startInfo)
at System.Diagnostics.Process.Start()


What does it mean "The system cannot find the file specified ---> System.ComponentModel.Win32Exception" and how do I fix it?

What do I need to get this working properly?

tebasuna51
25th March 2006, 10:31
Maybe you need the encoder
ffmpeg (http://kurtnoise.free.fr/ffmpeg.7z)
uncompressed in BeHappy folder.

dimzon
29th March 2006, 09:06
future plans

Hi!
Since BeHappy is experimental application I decide to perform some experiments.
I'm planning to perform complete GUI redesign using Inductive UI paradigm (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnwui/html/iuiguidelines.asp)
I'm planning to use HTMLayout (http://www.terrainformatica.com/htmlayout/) to create multilanguage skinable UI
I'm planning to use TIScript (http://www.terrainformatica.com/tiscript/) (JavaScript-like) to provide ability to create more complex and flexible extensions

dimzon
29th March 2006, 14:53
Ok, new GUI layout prototype is here
http://www.mytempdir.com/553286

please, post your comments and suggestions

sasam
29th March 2006, 15:25
It looks nice, but there is nothing wrong the old one. This one looks like some newbie "1click encoder".
In the old one we can see all in one screen and in the new one we have to click on the task to open it.

New users would probably love the new interface but I don't know about experienced...;)

3dsnar
29th March 2006, 15:38
I like it.
Very good for new users indeed.
Experienced users know already how to use it,
so it should not discourage them to continue using this app.

dimzon
29th March 2006, 15:43
New users would probably love the new interface but I don't know about experienced...;)
As I said before I'm planning to make BeHappy skinable - there will be special skin wich will look & feel mostly like current BeHappy

Unfortunally I'm not a designer so I need feedback & suggestions.

Please, post here Your ideas, draft design and sketches - everything are welcome ;)

Let's create ultimate easy-to-use interface together.

sasam
29th March 2006, 16:32
Here is a fast sketch I made... What do you think?

http://img149.imageshack.us/img149/6679/behappy0aa.png

dimzon
29th March 2006, 16:36
Here is a fast sketch I made... What do you think?

http://img149.imageshack.us/img149/6679/behappy0aa.png

Thanx for participation.
Unfortunally Queue is too narrow - there are many columns in Queue list. I believe we must make Queue 100% width...
And do not forget - we need some place for progress bar and log...

sasam
29th March 2006, 16:50
Maybe you could put expand button or something:) :

http://img138.imageshack.us/img138/802/behappy2qs.th.png (http://img138.imageshack.us/my.php?image=behappy2qs.png)

Users don't have to see all columns...(Only when they click expand button) As you said it is supposed to be for easy using. ;)

dimzon
29th March 2006, 16:53
Maybe you could put expand button or something:) :

http://img138.imageshack.us/img138/802/behappy2qs.th.png (http://img138.imageshack.us/my.php?image=behappy2qs.png)

Hmmm... Looks better.
So let's wait a little, maybe somebody provide another sketches...

dimzon
29th March 2006, 17:19
Just addition - current BeHappy implementation opens Decoder/DSP/Encoder configuration in modal dialog
In new UI layout I want to place it @ main form to avoid ModalDialogs

dimzon
29th March 2006, 17:57
Queue
http://img225.imageshack.us/img225/738/11115ce.th.png (http://img225.imageshack.us/my.php?image=11115ce.png)

stax76
29th March 2006, 18:39
How about a side bar like in so many MS UIs (e.g. 'Windows Movie Maker'), this gives you much more room.

AW-
31st March 2006, 20:18
Hello
I was wondering if BeHappy - AviSynth-based audio transcoding tool would help me with this problem.
I had made a backup of one of my Music Dvd's and I must have chose 6ch or dts and my brother cracked the original dvd taking it out of the case it came in, So the origanal is broke (cheap plastic) now i would like to encode the dts back to normal if i can, so i can play it without a digital reciever.
Thanks

NorthPole
2nd April 2006, 01:33
Hmmm... Looks better.
So let's wait a little, maybe somebody provide another sketches...

If you're looking for input, microsoft has a conversion utility included in some versions of xp. It is a 4 step process consisting of the following images:

step 1-

http://img216.imageshack.us/my.php?image=step10iu.png

step 2-

http://img90.imageshack.us/my.php?image=step23jc.png

step 3-

http://img118.imageshack.us/my.php?image=step37af.png

step 4-

http://img90.imageshack.us/my.php?image=step41ji.png

Just another option for you... Although I do like the current format better because it is a little less "newbie" like sasam said.

dimzon
2nd April 2006, 09:22
@NorthPole
Thanx, looking good for newbie

Mr_Odwin
5th April 2006, 09:34
Having looked at the downmixing that BeHappy does for 5.1 to stereo I have a question.

fl = GetChannel(a, 1)
fr = GetChannel(a, 2)
c = GetChannel(a, 3)
lfe = GetChannel(a, 4)
sl = GetChannel(a, 5)
sr = GetChannel(a, 6)
l_sl = MixAudio(fl, sl, 0.2929, 0.2929)
c_lfe = MixAudio(lfe, c, 0.2071, 0.2071)
r_sr = MixAudio(fr, sr, 0.2929, 0.2929)
l = MixAudio(l_sl, c_lfe, 1.0, 1.0)
r = MixAudio(r_sr, c_lfe, 1.0, 1.0)
return MergeChannels(l, r)

I have a 5.1 ac3 file and according to the Avisynth documentation (http://www.avisynth.org/GetChannel) the front center channel should be channel 2, but this doesn't seem to be the case and the above BeHappy generated code seems to be right. (If I do downmixing using the channel mapping from the documentation I get no dialogue in the resulting right stereo channel.)

Why is this?

dimzon
5th April 2006, 10:03
I have a 5.1 ac3 file and according to the Avisynth documentation (http://www.avisynth.org/GetChannel) the front center channel should be channel 2, but this doesn't seem to be the case and the above BeHappy generated code seems to be right. (If I do downmixing using the channel mapping from the documentation I get no dialogue in the resulting right stereo channel.)

Why is this?

Seems like NicAc3Source has build-in channel mapper wich map output to WAV 5.1 channel order
And any DirectShow decoder (by definition) must perform same mapping too

Actually I believe every valid multichannel decoder must provide WAV 5.1 channel order

Mr_Odwin
5th April 2006, 10:31
Cool. But it then seems a little redundant to mention other channel mappings in the documentation. Odd.
You've answered my question though.:thanks:

dimzon
5th April 2006, 12:59
Cool. But it then seems a little redundant to mention other channel mappings in the documentation. Odd.
You've answered my question though.:thanks:

Anycase You must look @ concrete decoder documentation (what channel mapping does it produce) rather this abstract documentation

thuongshoo
11th April 2006, 04:39
hi ! I want to use winamp encoder and but this encoder can't make a HC file , how can I do ?
I used Nero7WA but error , Perhaps I don't have nero7WA.exe .I searched it by google.com but I have no result . Where do I download it ?
Thanks !

chros
14th April 2006, 20:55
Ok, new GUI layout prototype is here
http://www.mytempdir.com/553286

please, post your comments and suggestions

I don't like the concept of these guis. (But this shouldn't put you out of concei :) ) . It's so Microsoft-ish ... which is (I think): the user shouldn't know how the app is working (of course it's not relying to you). The user must clicking so much to achive the result. (And these guis take time away from the developer !!!)
I prefer your app that way it was: simple, it stand in full view (!).

And last: if you remember the first public release of MPC, Gabest said: "feature: - no skin support" !!! :)

Keep up the good work !

thuongshoo
15th April 2006, 17:08
Behappy say that "... can not configure bsn ! .."
I don't know !. Belight still works well with bsn.dll which Behappy can't .
Can you give me your good bsn.dll ? thank you !
me email : yuyoonshoo@gmail.com

shon3i
15th April 2006, 17:50
You don't need to copy bsn.dll to behappy folder, than Aac.dll aacenc32.dll from belight or nero comon files folder.

thuongshoo
26th April 2006, 02:53
Thank shon3i ! :D
Can Nero encoder make a He-llc- file ?
http://img125.imageshack.us/img125/2651/aache0wx.th.png (http://img125.imageshack.us/my.php?image=aache0wx.png)

dimzon
26th April 2006, 13:31
Thank shon3i ! :D
Can Nero encoder make a He-llc- file ?
http://img125.imageshack.us/img125/2651/aache0wx.th.png (http://img125.imageshack.us/my.php?image=aache0wxpng)
This is mediaInfo bug, use Foobar0.9 instead

thuongshoo
28th April 2006, 11:58
I installed Foobar but What must I do ?
Foobar can't open my wav file. It is a wav file which made by VD. Foobar can't also display properties of media file
Gspot also says like MediaInfo ..

dimzon
5th May 2006, 10:14
BeHappy extension to support this (http://forum.doom9.org/showthread.php?p=823788&posted=1#post823788)perfect cli encoder is uploaded @ BeHappy Workspace @ gotDotNet (http://gotdotnet.com/Workspaces/Workspace.aspx?id=1bb59ddf-901b-43a5-bd54-b0999e8e223e)

shon3i
5th May 2006, 10:24
dimzon what about 2pass and other options like choosing betwen LC,HE,HEv2.

dimzon
5th May 2006, 10:52
dimzon what about 2pass and other options like choosing betwen LC,HE,HEv2.
for 2pass I need additional featiures (http://forum.doom9.org/showthread.php?p=823740#post823740) in Nero binary
other options working in automatic implicit mode, I will add explicit options much later (it reques some coding for me and I'm too busy IRL now)

dimzon
5th May 2006, 11:11
2 ALL
I'm planing to release fresh BeHappy beta in this month.
No new GUI yet (I'm too busy to do it) but new .NET Runtime (2.0) + some fixes/improvements

Future plans

Disable .avs like extension for WavSource
Separate source for .avs files (via Import)
Make EnsureVBRMP3Sync optional with a checkbox in Tweak section
Don't include the two AudioDubEx() if the checkbox Split is not marked
Move Amplify from Tweak section to DSP section, accept negative values in Amplify, allow to switch between AmplifyDB and Amplify
Multipupose multi-option Source to allow tweaks in sources (NicAc3Source/NicDtsSource w/wo DRC)
ND AAC encoder - completly new & flexible configuration dialog (+removing old Nero7 AAC one based on AAC.DLL)
OggVorbis encoder - additional controls in configuration dialog for advanced settings
CT AAC encoder - completly new & flexible configuration dialog
Collect fresh 3rd-party extentions
Create All-in-One bundle including BeHappy+Extensions+Encoders ( oggenc, ffmpeg, faac, enc_aacplus {w/o winamp dll itself}, wavpack, flac, twolame, lame)+Filters (NicAudio,SoX)


If You need some fix/improvement please let me know ASAP!

tebasuna51
5th May 2006, 12:42
Nice!.
Really I don't need new GUI, I prefer all of your "Future plans" before, and:

Don't forget BassAudio, is very useful to decode ogg, wma, stereo aac, and any kind of wav's. Now, for habitual formats, only aac 5.1 need DirectShowSource.

In order to reproduce all important (for me) BeSweet's features, remember my old petition to split multichannel wav's in mono wav's.

Thanks!

dimzon
6th May 2006, 00:48
New ND AAC dialog in action
http://img522.imageshack.us/img522/5394/untitled4dp2.jpg