View Full Version : BeHappy - AviSynth based audio transcoding tool (UPD 19-07-2006)
tebasuna51
4th June 2008, 19:17
it means BeHappy is started as 64-bit process and attept to load 32-bit dll...
to solve this problem we need rebuild BeHappy using target CPU x86 (not Any CPU)
it's also possible via special compiler key too
Hello, Dimzon. Thanks for your post, this question is out of my knowledge.
Last version was compiled with:
%windir%\Microsoft.NET\Framework\v2.0.50727\MSBuild BeHappy.csproj /t:Rebuild /p:Configuration=Release /p:Platform=x86 /p:OutputPath=.\Dist
and inside BeHappy.csproj also:
...
<PlatformTarget>x86</PlatformTarget>
...
The files (BeHappy.csproj and compile.bat) are in BeHappy source code.
dimzon
4th June 2008, 20:40
Hello, Dimzon. Thanks for your post, this question is out of my knowledge.
Last version was compiled with:
%windir%\Microsoft.NET\Framework\v2.0.50727\MSBuild BeHappy.csproj /t:Rebuild /p:Configuration=Release /p:Platform=x86 /p:OutputPath=.\Dist
and inside BeHappy.csproj also:
...
<PlatformTarget>x86</PlatformTarget>
...
The files (BeHappy.csproj and compile.bat) are in BeHappy source code.
Actually BeHappy works fine onto my Windows Server 2003 x64.
Unfortunally I have not Vista to debug this bug...
dimzon
5th June 2008, 16:53
finally System.BadImageFormatException solved
code (not binary) commited to codeplex
I had an error with the latest version, sorry I didn't keep track of it, converting mp3 to ac3 using the bundled aften, but I solved it by updating to the latest aften.
Menedas
6th June 2008, 10:25
I'm currently trying to time stretch a 6 channel FLAC, which I made from a eac3, and save it to a 6 channel WAV.
With version 0.1.0.35190 I get a WAV which seems to have asynchronous channels. It sounds not as it should.
With an upgrade to version 0.1.9.50202 I get this error message:
Starting job LiW.flac->LiW.wav
Error: BeHappy.AviSynthException: Script error: there is no function named "bassAudioSource"
at BeHappy.AviSynthClip..ctor(String func, String arg, AviSynthColorspace forceColorspace, AviSynthScriptEnvironment env)
at BeHappy.Encoder.encode()
tebasuna51
6th June 2008, 12:15
I'm currently trying to time stretch a 6 channel FLAC, which I made from a eac3, and save it to a 6 channel WAV.
With version 0.1.0.35190 I get a WAV which seems to have asynchronous channels. It sounds not as it should.
Use you DirectShowSource in this version to open the LiW.flac?
With an upgrade to version 0.1.9.50202 I get this error message:
Starting job LiW.flac->LiW.wav
Error: BeHappy.AviSynthException: Script error: there is no function named "bassAudioSource"
at BeHappy.AviSynthClip..ctor(String func, String arg, AviSynthColorspace forceColorspace, AviSynthScriptEnvironment env)
at BeHappy.Encoder.encode()
If you want use BassAudioSource instead DirectShowSource like flac decoder, you need in your 'c:\Program files\AviSynth 2.5\plugins' folder these 3 files (see the readme.txt in BeHappy\plugins folder):
BassAudio.dll
Bass.dll
Bass_flac.dll
Menedas
6th June 2008, 12:35
Use you DirectShowSource in this version to open the LiW.flac?
No I also use BassAudio here. With DirectShow Source I get this error:
Error: BeHappy.AviSynthException: DirectShowSource: couldn't open file C:\LiW.flac:
Unsupported format.
at BeHappy.AviSynthClip..ctor(String func, String arg, AviSynthColorspace forceColorspace, AviSynthScriptEnvironment env)
at BeHappy.Encoder.encode()
If you want use BassAudioSource instead DirectShowSource like flac decoder, you need in your 'c:\Program files\AviSynth 2.5\plugins' folder these 3 files (see the readme.txt in BeHappy\plugins folder):
BassAudio.dll
Bass.dll
Bass_flac.dll
Its still in the AviSynth plugins directory, else it would not work in version version 0.1.0.35190, too.
tebasuna51
6th June 2008, 16:40
Its still in the AviSynth plugins directory, else it would not work in version version 0.1.0.35190, too.
Yep, for this my first question.
And your SO, Vista, 32/64 bits?
Menedas
6th June 2008, 19:04
And your SO, Vista, 32/64 bits?
XP Pro 32
tebasuna51
6th June 2008, 21:25
XP Pro 32
I don't know what is the problem.
Try inserting the line (or equivalent):
LoadPlugin("C:\Program files\Avisynth 2.5\plugins\BassAudio.dll")
in the avs generated with 'Export Avisynth script'
Menedas
6th June 2008, 21:55
I have tried to copy the bassAudio.dll to different paths, thats why it is D root here, but I always get this message:
Error: BeHappy.AviSynthException: LoadPlugin: unable to load "D:\BassAudio.dll"
AviSynth is correct installed. For example MeGUI works.
DenisKanone
22nd June 2008, 17:53
Gratulation for this great Programm. I use BeHappy since the first Release. With WinXP 32bit (NET.Framework 2) works the Programm perfect. But with Win VISTA 32bit (NET.Framework 3) i have a little Problem. The Programm encode the File correct, but after the Encode-Processe BeHappy close from self without Error-Reporting. When I will use Batch-Encoding (more Jobs), then BeHappy encode the first File (first Job) and then close from self.
Then I want me a new Feature: Fade In/Out with seperatly Preferences.
Sorry for my "School-English". I hope all understand me.
dimzon
28th June 2008, 11:22
I found some little bugs in the last released BeHappy ver.0.1.9.50202.
1.enc_aacplus limit bitrate is 16kbps not 8kbps,this is just converse to neroAacEnc.
2.neroAacEnc limit bitrate is 8k not 16,but the different neroAacEnc_SSE limit also is 16k no longer support 8k.
3.when I new get the behappy and download the neroaacenc form internet, put in behappy encoder folder, but its not work if I choose p4 support.bocs the original file name is "neroAacEnc_SSE.exe" not "neroAacEnc_SSE2.exe".So I must rename the codec.
All the really little bugs,but hope correct in next version,make BeHappy perfect..
if received,give me reply pls.
Chris
2008-06-28 14:12
tebasuna51, just rebuild last sources and make new relesase...
Reference: http://forum.doom9.org/showthread.ph...75#post1146075
I'm using windows vista 64, and i've got this bug!
Where I can find the binary of your bugfix?
Thank you
tebasuna51
28th June 2008, 18:39
tebasuna51, just rebuild last sources and make new relesase...
Done. New BeHappy v0.2.2.30338 released.
Please report if all bugs are solved
Menedas
28th June 2008, 21:31
Still have the same bug. :(
tebasuna51
29th June 2008, 01:20
Still have the same bug. :(
I don't know what is your problem, try this:
Put this Test1.exe (http://www.sendspace.com/file/yhulvl) in D:\, DoubleClick (execute) and accept decompress in D:\.
DoubleClick D:\Test1\Test1.bat and say me what happen.
Menedas
29th June 2008, 01:43
It opens cmd without output and one hidden window with the title "Incorrect BASS.DLL version" I could only see in the task bar.
tebasuna51
29th June 2008, 03:45
It opens cmd without output and one hidden window with the title "Incorrect BASS.DLL version" I could only see in the task bar.
Check if you have in your system other bass.dll with a version lower than 2.4
The three dll files in Test1 are 2.4 and work fine for me. Sorry.
shon3i
4th July 2008, 11:18
New package is out:
Based on BeHappy 0.2.2.30338 (2008-06-28)
All encoders and avsplugins are upto date.
New installer system: Inno Setup, to downsize package size, Installshield uses bigger overhead.
Link (http://tom.niko.users.sbb.co.yu/BeHappy_20080704.exe), Mirror (http://www.box.net/shared/epiguyhkco), Alternative site (tom.niko.users.sbb.co.yu)
Menedas
4th July 2008, 14:22
Check if you have in your system other bass.dll with a version lower than 2.4
Ok, I found the Problem. It was the bass_flac.dll in my AviSynth Plugin Directory which came for the previous BeHappy Package (installer). When I removed the bass_flac.dll the Test works. When I install the new Package from shon3i I get the error, that OptimFROG.dll could not been found, but process finished successful.
I will test later to convert my flac and tell the results.
shon3i
4th July 2008, 15:49
When I install the new Package from shon3i I get the error, that OptimFROG.dllConfirmed. Just remove bass_ofr.dll from avs plugins dir.
chriszxl
5th July 2008, 10:05
use enc_aacplus output .aac format...I can't give the --mpeg4aac order by Behappy..So only version2 aac I can get...not version 4.
but if output .mp4 or .m4a format mux by mp4box/mp4mux the defualt is aac version4
tebasuna51
5th July 2008, 10:45
use enc_aacplus output .aac format...I can't give the --mpeg4aac order by Behappy..So only version2 aac I can get...not version 4.
but if output .mp4 or .m4a format mux by mp4box/mp4mux the defualt is aac version4
Yep, the default output of last Winamp CT dll's is mpeg2, before was mpeg4.
Only when go to be put in mp4 container we change the header flag to mark mpeg4 (the data stream is always the same).
If there are any other reason to select mpeg2/4 flag we can put a checkbox in Configure CT-AAC GUI.
masscamp24
5th July 2008, 14:06
I download the installer package and tried to use ffmpeg ac3. The program crashed I got this message "Application has failed to start because optimFROG.dll was not found. Re-installing may fix the problem" I reinstall but get the same message. What does this mean. I'm useing windows xp system32.
PS I get the same message when I start VDUBMod and try to use WMP2 via AviSynth 2.58. I never had this problem before useing these programe. Can someone please help.
Menedas
5th July 2008, 14:19
Look three posts above your post.
masscamp24
5th July 2008, 14:43
That was quick I love this forum. Thanks Mate
Menedas
5th July 2008, 15:50
Now that I can handle flac files with Bass again, I tried to convert my 6 channel flac to aac. The resulting file is still does have async channels.
shon3i
5th July 2008, 16:11
Now that I can handle flac files with Bass again, I tried to convert my 6 channel flac to aac. The resulting file is still does have async channels.
What setting you use, CT or Nero AAC, can you split this flac and upload small segment here? You can aslo try to decode flac to wav, and report what you get?
Menedas
5th July 2008, 16:43
I also created a wav with the same problem. Output format seems not the problem. I think the TimeStretch is the problem, because if I only just convert the flac to aac without TimeStretch the channels are synchron.
Here is the header of the flac. Hope it works without the footer:
http://www.megaupload.com/?d=2UAALBSP
You can hear that it is unsync at 28 sec, when the narrator starts to talk.
I time stretched from 23,976 to 25.
chriszxl
6th July 2008, 16:21
When the source sampling rate is lower than 32000,use the enc_aacplus code will be error,as:
Error: System.IO.IOException:
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.FileStream.WriteCore(Byte[] buffer, Int32 offset, Int32 count)
because of enc_aacplus only allows the source as 32000-48000,hope can present the correct prompt in Behappy,or Behappy can auto choose a resample rate to fit to encaacplus is better...
and another problem is I cant choose the bitrate to 8kbps when use neroaacenc,but actually neroaacenc can recoding to 8kbps(neroaacen_sse can not),bcos I really care about the file size when I make some stuff to my handphone...so fix it pls..
tebasuna51
6th July 2008, 18:34
When the source sampling rate is lower than 32000,use the enc_aacplus code will be error,as:
Error: System.IO.IOException:
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.FileStream.WriteCore(Byte[] buffer, Int32 offset, Int32 count)
because of enc_aacplus only allows the source as 32000-48000,hope can present the correct prompt in Behappy,or Behappy can auto choose a resample rate to fit to encaacplus is better...
BeHappy is a GUI for AviSynth audio and don't check the input sources.
and another problem is I cant choose the bitrate to 8kbps when use neroaacenc,but actually neroaacenc can recoding to 8kbps(neroaacen_sse can not),bcos I really care about the file size when I make some stuff to my handphone...so fix it pls..
Maybe in next release.
Deckard2019
16th July 2008, 23:50
Just a small note : ffmpeg need more details for bitrates. So in ffmpeg.extension, "Value" tags become :
... <Value>-i - -y -acodec mp2 -ab 224kb "{0}"</Value> ...
... <Value>-i - -y -acodec mp2 -ab 192kb "{0}"</Value> ...
Menedas
17th July 2008, 00:02
Does someone checking my problem with the asynchronous channels after time stretch?
tebasuna51
17th July 2008, 01:44
Just a small note : ffmpeg need more details for bitrates. So in ffmpeg.extension, "Value" tags become :
Well, not in my version.
We can't support all ffmpeg versions/compiles.
Everybody is free to adapt ffmpeg.extension to their ffmpeg version.
I can't recommend ffmpeg to encode audio (float samples, channelmap bugs, ...)
tebasuna51
17th July 2008, 02:26
I also created a wav with the same problem. Output format seems not the problem. I think the TimeStretch is the problem, because if I only just convert the flac to aac without TimeStretch the channels are synchron.
Here is the header of the flac. Hope it works without the footer:
http://www.megaupload.com/?d=2UAALBSP.
Sorry but I can't recover the wav file.
BTW I need the original wav file (first minute) to try reproduce the problem.
Menedas
17th July 2008, 08:02
Whats the problem with the flac file? It is the original. Don't wanna have a very large wav lying around and have to upload it. Just use the flac and create a wav (or what ever format you like) with behappy and with time stratch as I said with the flac. It should work. As it does here. The conversion will take a while, I know. The same time as when you have the whole flac file.
Or do you mean that you don't have that bug with your created time stretched audiofile?
Deckard2019
17th July 2008, 23:49
Well, not in my version.
I'm talking about the version found in shon3i's package.
Everybody is free to adapt ffmpeg.extension to their ffmpeg version
Sure. shon3i too ;)
tebasuna51
18th July 2008, 03:30
I'm talking about the version found in shon3i's package.
...
Sure. shon3i too ;)
Yep, I think the next shon3i package come without ffmpeg.
tebasuna51
18th July 2008, 03:34
Whats the problem with the flac file?
I can't decode it.
Menedas
18th July 2008, 19:58
I wonder. Normally I'm the one who has problems :)
Ok, here is the header as wav file:
http://www.megaupload.com/?d=KRR980YC
tebasuna51
18th July 2008, 21:37
I wonder. Normally I'm the one who has problems :)
Ok, here is the header as wav file:
http://www.megaupload.com/?d=KRR980YC
Thanks. Now I have 33.9816 sec of wav 5.1 file with begin talk at 28 sec like you say (in FL, FR and FC channels in sync.).
I try a Timestretch 23.976 -> 25 and obtain a 32.5897 sec. wav file with Rate and Tempo modes, and the same time 33.9816 with Pitch mode.
In Tempo and Rate modes now begin talk at 27 sec. and in all modes FL, FR and FC are sync.
What async. you detect?
Menedas
18th July 2008, 21:59
Hard to tell how it sounds. Maybe its again only a problem on my side. So here is the file I get when I make a Timestretch on the header file I've uploaded:
http://www.megaupload.com/?d=PB0SI21B
I'm using the Rate Control "Tempo changed, pitch correction". Hope you can hear the difference to the original, else tell me which software do you use to hear it. I have tested it with foobar2000, ffdshow and vlc. All with the same problem.
tebasuna51
19th July 2008, 03:42
Hard to tell how it sounds.
...
Hope you can hear the difference to the original, else tell me which software do you use to hear it. I have tested it with foobar2000, ffdshow and vlc. All with the same problem.
Sorry, I can't hear the difference (Foobar2000). There are, of course, a pitch change, but async?
But, also, I can't see the diference. I use audio editors (Audacity, Wavosaur, ...) to see the exact ms.
Menedas
19th July 2008, 04:50
I have tested the Timeshifted audio file on a different computer with Linux. I can also hear there that the sound is wrong. And its not a problem of pitch. I have tried all three time shift options with the same result. For me its easy to hear. I can hear that the channels are not sync which results in an echo and some other effect. Maybe you should use a headphone. Also the ABX comparison of foobar2000 may help you to hear the difference.
tebasuna51
19th July 2008, 11:54
I have tested the Timeshifted audio file on a different computer with Linux. I can also hear there that the sound is wrong. And its not a problem of pitch. I have tried all three time shift options with the same result. For me its easy to hear. I can hear that the channels are not sync which results in an echo and some other effect. Maybe you should use a headphone. Also the ABX comparison of foobar2000 may help you to hear the difference.
Is well know than a timestretch transformation is not perfect (the Rate option with only samplerate change can be the more accurate).
I always say, also, than the audio never is the culprit of different video framerate problems. The video must be changed to mantain the same duration than original and the audio don't need change. This is the correct way and I recommend you use this method.
Menedas
19th July 2008, 12:11
To just change the frame rate the video is not a solution for me, because I mostly have 25fps and 23,976fps audio which I both need. So one of them have to be time shifted.
And as I said, I tested all three time shift modes. Also the one option without pitch correction you mentioned makes it wrong, so the explanation seems not accurate to me.
tebasuna51
19th July 2008, 13:24
To just change the frame rate the video is not a solution for me, because I mostly have 25fps and 23,976fps audio which I both need. So one of them have to be time shifted.
Try with not free soft: TimeFactory (http://www.prosoniq.com/main/timefactory-2-windows/)
And as I said, I tested all three time shift modes. Also the one option without pitch correction you mentioned makes it wrong, so the explanation seems not accurate to me.
?
Menedas
19th July 2008, 13:47
The "?" means that you don't understand my writing or my conclusion? Can't you still don't hear it?
tebasuna51
19th July 2008, 14:06
The "?" means that you don't understand my writing or my conclusion? Can't you still don't hear it?
Like I say you the Rate transform can't introduce audible artifacts like the Tempo and Pitch can do.
Menedas
19th July 2008, 14:17
Of which DSP do you talk now? Not Timestretch?
tebasuna51
19th July 2008, 17:32
Of which DSP do you talk now? Not Timestretch?
Yes TimeStretch. There are 3 modes in 'Rate Control':
- Rate ...
- Pitch ...
- Tempo ...
The Rate mode don't need sophisticated algorithms to do the job, only change the samplerate then the waveform is very similar and only the pitch change can be detected. This is the -slowdown/speedup from eac3to.
Pitch or Tempo modes need more complex job.
You can try also different parameters in TimeStretch AviSynth function (http://avisynth.org/mediawiki/TimeStretch)
lchiu7
19th July 2008, 23:45
Our new DVB-T broadcasts are using this audio format. About the only way to hear the recorded files is to have PowerDVD8 which has a DS filter that can handle this audio format.
Since Behappy uses DS I wonder if it's possible to use this tool to convert this audio format to something common - say MP4 or even 2 channel AC-3 so that it could be muxed back with the original (or even re-compressed) AVC video into something that is easier to play.
Thanks
Menedas
20th July 2008, 00:46
Ok, then I have understood you right. But how can you explain, that there is the same effect hearable with the Rate option? Hence, the effect I can hear could not come from the pitch. Thats what I wanted to say the whole time.
I wasn't really aware that the speedup option of eac3to is maybe the thing I wanted. I tested it and it does not have the same "bug" as the AviSynth function (Rate). Thank you for that information. But thats only a solution for eac3 files. I need also something for AC3 or DTS files.
tebasuna51
20th July 2008, 01:31
Our new DVB-T broadcasts are using this audio format. About the only way to hear the recorded files is to have PowerDVD8 which has a DS filter that can handle this audio format.
Since Behappy uses DS I wonder if it's possible to use this tool to convert this audio format to something common - say MP4 or even 2 channel AC-3 so that it could be muxed back with the original (or even re-compressed) AVC video into something that is easier to play.
Seems there are also a free LATM aac DS decoder (http://forum.doom9.org/showthread.php?p=1082416#post1082416)
You can try open the file with the DirectShowSource method.
tebasuna51
20th July 2008, 02:04
Ok, then I have understood you right. But how can you explain, that there is the same effect hearable with the Rate option? Hence, the effect I can hear could not come from the pitch. Thats what I wanted to say the whole time.
I can't explain a effect that I don't hear.
I wasn't really aware that the speedup option of eac3to is maybe the thing I wanted. I tested it and it does not have the same "bug" as the AviSynth function (Rate). Thank you for that information. But thats only a solution for eac3 files. I need also something for AC3 or DTS files.
I'm happy you found the solution because eac3to also decode ac3 and dts files.
Menedas
20th July 2008, 02:17
I can't explain a effect that I don't hear.
Strange. You can't even hear it with headphones?
lchiu7
20th July 2008, 05:22
Seems there are also a free LATM aac DS decoder (http://forum.doom9.org/showthread.php?p=1082416#post1082416)
You can try open the file with the DirectShowSource method.
Tried that (under Vista SP1). Demuxed the audio from the ts file using tsremuxer (saved as a aac file)
Had the Monogram filter already installed
Opened the aac file using behappy and chose Directshow (also tried avisynth).
Both times in a few second Behappy just died (program has stopped responding).
So it looks like Behappy is unable to open these files
gtpboy
28th August 2008, 23:11
Maybe I’m doing something wrong but I'm trying to take a 6 channel AC3 file splitting into individual mono WAV files then re encode it into a single WAV file in WME.
Well once BeHappy gets done splitting the AC3 file into the individual WAV files I go to convert it in WME and it tells me that the source files need to be mono WAV files, well I thought that’s what I just did. I've double and triple checked all the settings in BeHappy but can't figure it out.
Is there an easier way to do this like a straight encode AC3->WMA 10 instead of splitting and then rejoining?
tebasuna51
29th August 2008, 03:00
Maybe I’m doing something wrong but I'm trying to take a 6 channel AC3 file splitting into individual mono WAV files then re encode it into a single WAV file in WME.
What is WME?
Do you need a single WAV or a WMA?
Well once BeHappy gets done splitting the AC3 file into the individual WAV files I go to convert it in WME and it tells me that the source files need to be mono WAV files, well I thought that’s what I just did. I've double and triple checked all the settings in BeHappy but can't figure it out.
BeHappy can decode ac3 files to a single WAV multichannel (Destination Wav Writer) file or to monowav files (Destination WavSplit @ Mono Wav's).
Is there an easier way to do this like a straight encode AC3->WMA 10 instead of splitting and then rejoining?
If MS supply a WMA encoder with STDIN input we can add a direct transcode AC3->WMA in BeHappy.
Snowknight26
29th August 2008, 04:15
WME = Windows Media Encoder.
tebasuna51
29th August 2008, 10:46
WME = Windows Media Encoder.
Sorry, I don't know this tool.
I supose you want output a multichannel WMA.
And WME need 6 monowavs always to encode a multichannel WMA?
And WME don't recognize the monowavs generated by BeHappy-WavSplit?
gtpboy
29th August 2008, 14:02
BeHappy can decode ac3 files to a single WAV multichannel (Destination Wav Writer) file or to monowav files (Destination WavSplit @ Mono Wav's).
I did see that option in there but didn't know it generated a multichannel WAV file I'll have to try that thanks.
And WME don't recognize the monowavs generated by BeHappy-WavSplit?
Aparently i've tried it on a few different AC3 files and get the same message "source must be mono WAV file"
Oh well as long as the other method works i'll be fine Thanks again
WME is a fickle program some AC3 files it will transcode with no problems others it will generate a "source file type is invalid" error same with some DTS files
DiGiT@LON€
31st October 2008, 11:52
Hi everyone.
I'm an Italian user, sorry for my bad English.
I have to make 2 questions:
- I have an ac3 2.0 audio file. I want to convert it in wav with behappy latest release.
I select wav writer like encoder, and the encode works good.
But the output wav file don't have sound.
I can see from foobar that it is a PCM 32 bit floating point, but there's not sound.
How can I convert better?
- Does Behappy add a delay to output file? If yes, how much?
Thanks...
tebasuna51
31st October 2008, 14:12
- I have an ac3 2.0 audio file. I want to convert it in wav with behappy latest release.
I select wav writer like encoder, and the encode works good.
But the output wav file don't have sound.
I can see from foobar that it is a PCM 32 bit floating point, but there's not sound.
How can I convert better?
This is a NicAudio ac3 decoder behaviour more than BeHappy related.
When the decoder found a valid ac3 frame set some basic parameters (num_channels, samplerate, bitrate) and after reject (filling with silence) any other frame don't match the initial basic parameters.
Probably your ac3 source is from a TV capture and you have some initial frames 2.0 (commercials) and after change to 5.1 (movie), sorry but NicAudio can't begin supply 2.0 and change to 5.1 on the fly. You can use DelayCut to check the ac3 file and cut the initial 2.0 frames (if is the problem).
- Does Behappy add a delay to output file? If yes, how much?
Behappy have a box to include any desired delay. By default BeHappy don't add delay.
NicAudio.dll v2.0.2 ac3 decoder can add delay (a multiple of 32 ms) when found invalid data (until 1 MB) before the first valid ac3 frame, then can compensate pseudo-delays in VirtualDub style. If you don't want this delay you can use DelayCut to fix the ac3 before decode.
There are also little delays introduced by encoders, for instance ac3 encoders do a 5.333 ms delay (with Aften you can disable this delay with the -pad 0 parameter)
DiGiT@LON€
31st October 2008, 18:08
This is a NicAudio ac3 decoder behaviour more than BeHappy related.
When the decoder found a valid ac3 frame set some basic parameters (num_channels, samplerate, bitrate) and after reject (filling with silence) any other frame don't match the initial basic parameters.
Probably your ac3 source is from a TV capture and you have some initial frames 2.0 (commercials) and after change to 5.1 (movie), sorry but NicAudio can't begin supply 2.0 and change to 5.1 on the fly. You can use DelayCut to check the ac3 file and cut the initial 2.0 frames (if is the problem).Yes, you're right. It comes from a TV capture.
Can you suggest me another tool that convert ac3 (in this status) in wav?
Have I to use Delaycut imperatively?
There are also little delays introduced by encoders, for instance ac3 encoders do a 5.333 ms delay (with Aften you can disable this delay with the -pad 0 parameter)Does Ac3 encoder in BeHappy have this behaviour?
If yes, have I to set -5.333 in BeHappy for synchronizing?
DiGiT@LON€
31st October 2008, 23:39
I have resolved with Azid-BeSweet.
Now I want to know only if azid is between those encoders that apply a delay during the encode.
Then, if someone explains me why the encode works with azid-beesweet, I appreciate...
Thanks...
Kurtnoise
2nd January 2009, 17:27
@Tebasuna:
I found a bug in the AvisynthWrapper. Using your dll + the wrapper with megui, I got a buffer overrun issue. :eek:
Here is the fix (http://pastebin.com/f11b1bda1)...
tebasuna51
3rd January 2009, 02:32
You are rigth Kurtnoise. Next release must correct that. Thanks.
Isn't a problem for BeHappy because seems never read video frames but MeGUI ...
I don't know if AvisynthWrapper.cs can work with MeGUI my unique change was 'dimzon_avs_init' -> 'dimzon_avs_init_2'
Kurtnoise
3rd January 2009, 10:04
well...the AvisynthWrapper.cs is the same (quite normal because we uses the same lib ;)). The main difference comes from the encoder routines (wav header writing, etc...). Yesterday, I tried to drop the ConvertAudio16Bits() restriction from the megui script but unfortunately, it produces some garbage as ouput whereas with BeHappy and the same script, all it's fine. So, I suspect something wrong with the wav header. I've seen that the wav header writing is more accurate with BeHappy (wav > 4GB detection, different headertypes, etc...) but I'm busy with other things right now so I can't check it out more carefully...
tebasuna51
3rd January 2009, 17:20
You are writing always INT wav files.
In AviSynthAudioEncoder.cs (line 482) you need only write the correct Format_tag:
- target.Write(BitConverter.GetBytes((short)0x01), 0, 2);
+ target.Write(BitConverter.GetBytes((a.SampleType==AudioSampleType.FLOAT) ? (short)0x03) : (short)0x01), 0, 2);
Where (in AviSynthWrapper.cs):
public enum AudioSampleType:int {
Unknown=0,
INT8 = 1,
INT16 = 2,
INT24 = 4,
INT32 = 8,
FLOAT = 16
};
Seraphic-
3rd January 2009, 21:29
Nero AAC Codec 1.3.3.0 was released a few weeks ago.
Is neroAacEnc built into BeHappy or do you just have to put the neroAacEnc in the BeHappy "encoder" folder before BeHappy can encode NeroAAC. (i've been doing the latter)
Also, does anyone have any experiance with "save extra non audio information"?
Generally, if you are going directly from an audio editor like adobe premiere/audition to an audio encoder like BeHappy for NeroAAC, would it be recommended to disable or enable "save extra non audio information"?
Kurtnoise
3rd January 2009, 23:01
You are writing always INT wav files.
In AviSynthAudioEncoder.cs (line 482) you need only write the correct Format_tag:
thanks for the trick...it seems to work fine now. ;)
btw, did you noticed that with any sources, the bits per samples returned as info is always 32 ? even with 16 bits sources ?
to reproduce w/ BeHappy : take an ac3 (2.0) and transcode it to aac without applying any dsp. At the end, check the log, you'll see that the bps is always 32. Is it due to float conversion or is it a bug ?
tebasuna51
4th January 2009, 04:21
btw, did you noticed that with any sources, the bits per samples returned as info is always 32 ? even with 16 bits sources ?
to reproduce w/ BeHappy : take an ac3 (2.0) and transcode it to aac without applying any dsp. At the end, check the log, you'll see that the bps is always 32. Is it due to float conversion or is it a bug ?
NicAudio/Bass decoders always output 32 bits float (also many others functions work in 32 float). Behappy select the high resolution supported by the encoder, most the times supply 32 bit float.
Only lossless formats can be preserved.
How do you know than one ac3 have 16 bitdepth sources?
Also the dts field header about source bitdepth can be wrong (Surcode write 24 when sources are 16)
And what is the problem when supply the best precission know?.
Encoders convert to float any input most the times. Then we can skip two conversions.
tebasuna51
4th January 2009, 04:35
Nero AAC Codec 1.3.3.0 was released a few weeks ago.
Is neroAacEnc built into BeHappy or do you just have to put the neroAacEnc in the BeHappy "encoder" folder before BeHappy can encode NeroAAC. (i've been doing the latter)
Yes NeroAacEnc can't be build with BeHappy the you must dowload and include in same folder than BeHappy or in the sibfolder "encoder".
Now only exist 1 version (for Windows) and you don't need check the 'Use SSE CPU instructions' (must disapear for next version)
Also, does anyone have any experiance with "save extra non audio information"?
Generally, if you are going directly from an audio editor like adobe premiere/audition to an audio encoder like BeHappy for NeroAAC, would it be recommended to disable or enable "save extra non audio information"?
The "extra non audio information" is always ignored. Only if wav files are >4GB and the "extra info" is writed at end of file, after the 'data' chunk can be treated as audio data and produce a final click.
b66pak
27th January 2009, 19:39
i am encoding Madagascar 2 for my psp but the final audio (.m4a) has a really low volume...
i rip the 6ch.ac3 track > remove dialnorm (eac3to [other free options for this?]) > transcoded with behappy with nicac3source + downmix to stereo + normalize to 100% >.mp4 output is very low volume!
please advise...
_
tebasuna51
28th January 2009, 01:20
i am encoding Madagascar 2 for my psp but the final audio (.m4a) has a really low volume...
i rip the 6ch.ac3 track > remove dialnorm (eac3to [other free options for this?]) > transcoded with behappy with nicac3source + downmix to stereo + normalize to 100% >.mp4 output is very low volume!
please advise...
_
Your process is more or less correct but if you need the sound for low end audio equipment you need compress the dynamic range (less quality but more volume after normalize).
Then:
- You don' need remove DialNorm, NicAudio don't apply DialNorm.
- Open with BeHappy-NicAc3Source(DRC), Configure at (...)
Then the high volume are attenuated and low volume amplified (Dynamic Range Compresion)
- Downmix
- Normalize at end (must be the last DSP function).
Now are max amplified without overflow
b66pak
28th January 2009, 18:36
ok...thanks a lot for the help...
i use this .avs
#
NicAc3Source("F:\audio.ac3", DRC=1)
#
#
caaa4eafb6a2f44a1ae9bbae242a91a24=ConvertAudioToFloat(last)
#
function faaa4eafb6a2f44a1ae9bbae242a91a24(clip a)
{
#
flr = GetChannel(a, 1, 2)
#
fcc = GetChannel(a, 3)
#
lfe = GetChannel(a, 4)
#
lfc = MixAudio(fcc, lfe, 0.2071, 0.2071)
#
mix = MergeChannels(lfc, lfc)
#
lrc = MixAudio(flr, mix, 0.2929, 1.0)
#
blr = GetChannel(a, 5, 6)
#
return MixAudio(lrc, blr, 1.0, 0.2929)
#
}
#
faaa4eafb6a2f44a1ae9bbae242a91a24(caaa4eafb6a2f44a1ae9bbae242a91a24)
#
#
Normalize(100.0/100.0)
#
and the volume level is higher...i am a little confused....why is behappy using normalize function before the downmix and not after?
i also find that Normalize(200.0/100.0) is busting the volume even higher...is this wrong?
by the way the psp is not low end audio...you must use headphones for proper audio output...
_
L.E. it would be very nice if someone experimented will make a tutorial (or guidance) for proper audio transcoding...
_
L.E.2 i have a .mp2 (2channel 192k cbr) from a TV recording that i need to transcode to .m4a...it is proper to normalize it to 100%?
#
NicMPG123Source("F:\audio.mp2")
#
#
Normalize(100.0/100.0)
#
what is the difference between the above and below (beside the level of normalization)?
#
NicMPG123Source("F:\audio.mp2", true)
#
#
_
best regards...
tebasuna51
29th January 2009, 01:26
...
and the volume level is higher...i am a little confused....why is behappy using normalize function before the downmix and not after?
In your sample Normalize is after.
The function definition can be at any place, only the execution line is important.
You have Up and Down buttons to put the DSP functions at desired order.
i also find that Normalize(200.0/100.0) is busting the volume even higher...is this wrong?
Yes, the sound is cliped and distorted
what is the difference between the above and below (beside the level of normalization)?
Nothing, if you don't need any other DSP function after you can use the decoder included normalize.
b66pak
31st January 2009, 20:25
how can i add delayaudio() and downmixing 3 or 4 or 5 channels to stereo to BeHappy's extensions?
_
L.E. a trim() extension too...
_
L.E.2 considering that mediainfo.dll is free for use in other apps it is posible to add an info button to display the audio track info?
_
tebasuna51
1st February 2009, 00:06
how can i add delayaudio() and downmixing 3 or 4 or 5 channels to stereo to BeHappy's extensions?
L.E. a trim() extension too...
You have the Delay and Split (Trim) boxes in (2) Tweak section.
You always can write your own avs scripts. We can't cover all the situations.
Select your desired downmix function:
function Dmix3Stereo(clip a) { # 3 Channels L,R,C or L,R,S
flr = GetChannel(a, 1, 2)
fcc = GetChannel(a, 3, 3)
return MixAudio(flr, fcc, 0.5858, 0.4142)
}
function Dmix3Dpl(clip a) { # 3 Channels only L,R,S
flr = GetChannel(a, 1, 2)
sl = GetChannel(a, 3)
sr = Amplify(sl, -1.0)
blr = MergeChannels(sl, sr)
return MixAudio(flr, blr, 0.5858, 0.4142)
}
function Dmix4lStereo(clip a) { # 4 Channels L,R,C + LFE
flr = GetChannel(a, 1, 2)
fcc = GetChannel(a, 3, 3)
lfe = GetChannel(a, 4, 4)
clf = MixAudio(fcc, lfe, 0.2929, 0.2929)
return MixAudio(flr, clf, 0.4142, 1.0)
}
function Dmix4qStereo(clip a) { #4 Channels Quadro L,R,SL,SR
flr = GetChannel(a, 1, 2)
blr = GetChannel(a, 3, 4)
return MixAudio(flr, blr, 0.5, 0.5)
}
function Dmix4qDpl(clip a) { # 4 Channels Quadro L,R,SL,SR
flr = GetChannel(a, 1, 2)
bl = GetChannel(a, 3)
br = GetChannel(a, 4)
sl = MixAudio(bl, br, 0.2929, 0.2929)
sr = MixAudio(bl, br, -0.2929, -0.2929)
blr = MergeChannels(sl, sr)
return MixAudio(flr, blr, 0.4142, 1.0)
}
function Dmix4qDpl2(clip a) { # 4 Channels Quadro L,R,SL,SR
flr = GetChannel(a, 1, 2)
bl = GetChannel(a, 3)
br = GetChannel(a, 4)
sl = MixAudio(bl, br, 0.3714, 0.2144)
sr = MixAudio(bl, br, -0.2144, -0.3714)
blr = MergeChannels(sl, sr)
return MixAudio(flr, blr, 0.4142, 1.0)
}
function Dmix4sStereo(clip a) {# 4 Channels L,R,C,S
flr = GetChannel(a, 1, 2)
fcc = GetChannel(a, 3, 3)
lrc = MixAudio(flr, fcc, 0.4142, 0.2929)
blr = GetChannel(a, 4, 4)
return MixAudio(flr, blr, 1.0, 0.2929)
}
function Dmix4sDpl(clip a) { # 4 Channels L,R,C,S
flr = GetChannel(a, 1, 2)
fcc = GetChannel(a, 3, 3)
lrc = MixAudio(flr, fcc, 0.4142, 0.2929)
sl = GetChannel(a, 4)
sr = Amplify(sl, -1.0)
blr = MergeChannels(sl, sr)
return MixAudio(flr, blr, 1.0, 0.2929)
}
function Dmix5Stereo(clip a) { # 5 Channels L,R,C,SL,SR -> Stereo
flr = GetChannel(a, 1, 2)
fcc = GetChannel(a, 3, 3)
lrc = MixAudio(flr, fcc, 0.3694, 0.2612)
blr = GetChannel(a, 4, 5)
return MixAudio(lrc, blr, 1.0, 0.3694)
}
function Dmix5Dpl(clip a) { # 5 Channels L,R,C,SL,SR -> dpl
flr = GetChannel(a, 1, 2)
fcc = GetChannel(a, 3, 3)
lrc = MixAudio(flr, fcc, 0.3205, 0.2265)
bl = GetChannel(a, 4)
br = GetChannel(a, 5)
sl = MixAudio(bl, br, 0.2265, 0.2265)
sr = MixAudio(bl, br, -0.2265, -0.2265)
blr = MergeChannels(sl, sr)
return MixAudio(lrc, blr, 1.0, 1.0)
}
function Dmix5Dpl2(clip a) { # 5 Channels L,R,C,SL,SR -> dpl II
flr = GetChannel(a, 1, 2)
fcc = GetChannel(a, 3, 3)
lrc = MixAudio(flr, fcc, 0.3254, 0.2301)
bl = GetChannel(a, 4)
br = GetChannel(a, 5)
sl = MixAudio(bl, br, 0.2818, 0.1627)
sr = MixAudio(bl, br, -0.1627, -0.2818)
blr = MergeChannels(sl, sr)
return MixAudio(lrc, blr, 1.0, 1.0)
}
function Dmix6Stereo(clip a) {
flr = GetChannel(a, 1, 2)
fcc = GetChannel(a, 3, 3)
lrc = MixAudio(flr, fcc, 0.3694, 0.2612)
blr = GetChannel(a, 5, 6)
return MixAudio(lrc, blr, 1.0, 0.3694)
}
function Dmix6Dpl(clip a) {
flr = GetChannel(a, 1, 2)
fcc = GetChannel(a, 3, 3)
lrc = MixAudio(flr, fcc, 0.3205, 0.2265)
bl = GetChannel(a, 5)
br = GetChannel(a, 6)
sl = MixAudio(bl, br, 0.2265, 0.2265)
sr = MixAudio(bl, br, -0.2265, -0.2265)
blr = MergeChannels(sl, sr)
return MixAudio(lrc, blr, 1.0, 1.0)
}
function Dmix6Dpl2(clip a) {
flr = GetChannel(a, 1, 2)
fcc = GetChannel(a, 3, 3)
lrc = MixAudio(flr, fcc, 0.3254, 0.2301)
bl = GetChannel(a, 5)
br = GetChannel(a, 6)
sl = MixAudio(bl, br, 0.2818, 0.1627)
sr = MixAudio(bl, br, -0.1627, -0.2818)
blr = MergeChannels(sl, sr)
return MixAudio(lrc, blr, 1.0, 1.0)
}
function Dmix6StereoLfe(clip a) {
flr = GetChannel(a, 1, 2)
fcc = GetChannel(a, 3)
lfe = GetChannel(a, 4)
lfc = MixAudio(fcc, lfe, 0.2071, 0.2071)
mix = MergeChannels(lfc, lfc)
lrc = MixAudio(flr, mix, 0.2929, 1.0)
blr = GetChannel(a, 5, 6)
return MixAudio(lrc, blr, 1.0, 0.2929)
}
function Dmix6StereoLfe2(clip a) {
flr = GetChannel(a, 1, 2)
fcc = GetChannel(a, 3, 3)
lrc = MixAudio(flr, fcc, 0.2929, 0.2071)
lfe = GetChannel(a, 4, 4)
lrc = MixAudio(lrc, lfe, 1.0, 0.2071)
blr = GetChannel(a, 5, 6)
return MixAudio(lrc, blr, 1.0, 0.2929)
}
function Dmix6DplLfe(clip a) {
flr = GetChannel(a, 1, 2)
fcc = GetChannel(a, 3, 3)
lrc = MixAudio(flr, fcc, 0.2613, 0.1847)
lfe = GetChannel(a, 4, 4)
lrc = MixAudio(lrc, lfe, 1.0, 0.1847)
bl = GetChannel(a, 5)
br = GetChannel(a, 6)
sl = MixAudio(bl, br, 0.1847, 0.1847)
sr = MixAudio(bl, br, -0.1847, -0.1847)
blr = MergeChannels(sl, sr)
return MixAudio(lrc, blr, 1.0, 1.0)
}
function Dmix6Dpl2Lfe(clip a) {
flr = GetChannel(a, 1, 2)
fcc = GetChannel(a, 3, 3)
lrc = MixAudio(flr, fcc, 0.2646, 0.1870)
lfe = GetChannel(a, 4, 4)
lrc = MixAudio(lrc, lfe, 1.0, 0.1870)
bl = GetChannel(a, 5)
br = GetChannel(a, 6)
sl = MixAudio(bl, br, 0.2291, 0.1323)
sr = MixAudio(bl, br, -0.1323, -0.2291)
blr = MergeChannels(sl, sr)
return MixAudio(lrc, blr, 1.0, 1.0)
return MergeChannels(l, r)
}
L.E.2 considering that mediainfo.dll is free for use in other apps it is posible to add an info button to display the audio track info?
I suppose, yes.
You can try, the BeHappy code is public and free. But you can always ask to MediaInfo before open BeHappy
b66pak
1st February 2009, 22:48
thank you very much...this is very usefull...the reason for asking for it is that if you don't know about this avs scripts and try to downmix anything but 5.1 you get an error (in megui is worse because you get same number of channels as you input!!!)...also i suggest to rename "downmix to stereo" to "downmix 5.1 to stereo" or "5.1 to stereo" to avoid this confusion...
i also noticed that megui don't use anymore EnsureVBRMP3Sync() when transcoding from .mp3...is this obsolete?
_
tebasuna51
2nd February 2009, 01:16
i also noticed that megui don't use anymore EnsureVBRMP3Sync() when transcoding from .mp3...is this obsolete?
I don't know if is obsolete because there are changes in buffer sizes in last AviSynth releases.
The decoder used with BeHappy/MeGUI (NicAudio) don't need this tool, maybe with DirectShowSource, but using DirectShow we can't know the decoder used.
buzzqw
2nd February 2009, 16:35
thanks for the downmix preset tebasuna51!
update in automkv!
BHH
Chumbo
17th February 2009, 16:05
I made some changes to fix a crash that was occurring on my system and may affect others. The executable is available in this download which also includes the up to date release notes and the changed class file.
http://www.mediafire.com/?dyndymymnmo2009-02-16
+ Added stability by handling exceptions in the main form's saveConfiguration method.
+ Added checks in the same method to make sure that items added to any collections do not already exist.
+ Project solution updated to Visual Studio 2008
@tebasuna51,
I sent you an email regarding the changes and the little mess I created on codeplex, i.e., extra Change Sets that can be removed if possible. Not sure if you got it or not.
tebasuna51
20th February 2009, 12:28
@Chumbo
Restored the sources in Codeplex, but I don't know how delete the empty/bad extra Change Sets.
Could you explain your crash (OS, AviSynth version, ...)?
I always compile using .NET (compile.bat), I don't know if the change to Visual Studio 2008 can affect others.
Some minor changes added:
- Kurtnoise fix (http://forum.doom9.org/showthread.php?p=1231145#post1231145) for AvisynthWrapper.cs
- Low limit for NicAacEnc to 8 Kb/s (NeroDigitalEncoder.cs)
- SSRC SpeedUp and SlowDown methods (SSRC.extension)
- NicAc3Source internal downmix (simple DolbyProLogic) to stereo, this work with any source channels. (NicAudio.extension)
Chumbo
20th February 2009, 14:55
@Chumbo
Restored the sources in Codeplex, but I don't know how delete the empty/bad extra Change Sets.
Could you explain your crash (OS, AviSynth version, ...)?
I always compile using .NET (compile.bat), I don't know if the change to Visual Studio 2008 can affect others.
Some minor changes added:
- Kurtnoise fix (http://forum.doom9.org/showthread.php?p=1231145#post1231145) for AvisynthWrapper.cs
- Low limit for NicAacEnc to 8 Kb/s (NeroDigitalEncoder.cs)
- SSRC SpeedUp and SlowDown methods (SSRC.extension)
- NicAc3Source internal downmix (simple DolbyProLogic) to stereo, this work with any source channels. (NicAudio.extension)
I don't know that we can. I've tried everything over the last few days to get rid of the change sets that are not needed. Anyway, I hope you didn't get rid of the change in set 18494 because that one is fine.
The crash I was getting was this:
http://img16.imageshack.us/img16/2962/behappycrashti5.jpg
Which is why I put checks in the fix I added to make sure the collection items check for already existing items prior to adding because that's what's causing this exception.
This started happening after one of the builds last year but I was too lazy to check into it until now. It happened every time I closed the app which meant I lost all my state changes, e.g., the queue.
tebasuna51
20th February 2009, 16:33
<AudioSource UniqueID="58ab9132-50c8-11dc-8314-0800200c9a66"> is defined for RaWavSource in NicAudio.Extension.
Maybe you have a old RaWav.extension not needed now.
Also RaWav.dll must be deleted in AviSynth plugins, now is fully integrated in NicAudio.dll
The set 18532 is the 18494 with the 4 changes in my post.
Chumbo
20th February 2009, 19:21
<AudioSource UniqueID="58ab9132-50c8-11dc-8314-0800200c9a66"> is defined for RaWavSource in NicAudio.Extension.
Maybe you have a old RaWav.extension not needed now.
Also RaWav.dll must be deleted in AviSynth plugins, now is fully integrated in NicAudio.dll
The set 18532 is the 18494 with the 4 changes in my post.
Good to know and you're probably right. Thanks.
b66pak
21st February 2009, 19:20
@tebasuna51 thank for update but where can i find it?
_
tebasuna51
22nd February 2009, 03:05
@tebasuna51 thank for update but where can i find it?
_
There are very little changes to do a new official release.
You have the BeHappy.exe with Chumbo changes in the Chumbo post (set 18494).
The Kurnoise patch don't affect to BeHappy, the NicAudio.extension and SSRC.extension can be downloaded from CodePlex (Source Code) and put in \extensions folder.
And, if you need the low limit for NeroAAcEnc to 8 Kb/s instead 16 Kb/s, you always can download the full set 18532 and double click to 'compile.bat' to obtain the last BeHappy.exe (in \release subfolder).
b66pak
22nd February 2009, 19:21
thanks...
_
Chumbo
25th February 2009, 04:36
I've been wanting this for awhile now and had some time tonight to work on it. The test build is available here (http://www.mediafire.com/?ttzl5ghuyxy).
2009-02-24 (Chumbo)
+ Added process priority control. Available when jobs are started and
persists through all the jobs in the queue. Defaults to Idle every time
a job or set of jobs are started.
@tebasuna,
I've not checked anything in yet to codeplex. I figured I'd wait until a few have used it and I've received some feedback. I used your latest branch as the base for this to ensure all the latest changes are included.
Chumbo
28th February 2009, 03:24
Here's another update. Build is available here (http://www.mediafire.com/?mwglx0zzoeg).
2009-02-27 (Chumbo)
+ Fixed a bug. It's possible the creation of the .State file may fail due to the use of an enumerated type. I changed it to use an int since it can be cast easily and works fine.
+ Added exception handling in the SaveToFile() method so if a problem occurs we'll be made aware of it in the future.
+ (forgot this one in the linked rar) Fixed the issue where selecting the priority before the encoder actually starts (that small delay between hitting Start and, for example, aften starts) would not affect the priority.
@tebasuna,
I'll check this code base in either later today or tomorrow.
[EDIT]Source updated under change set 18658. A new release is now available as 0.2.3.38071 with the release notes and .exe.
~bT~
4th March 2009, 03:16
has the flac profile been removed from the latest version?
also, there is no longer an sse2 version of neroaacenc.exe. if i tick sse then it fails.
tebasuna51
4th March 2009, 12:37
has the flac profile been removed from the latest version?
You need the flac.extension file present in last full release (set 18532).
also, there is no longer an sse2 version of neroaacenc.exe. if i tick sse then it fails.
Now there are only a NeroAacEnc version.
Check the sse2 box only if you have the old NeroAacEnc with two versions.
ANGEL_SU
27th March 2009, 17:30
Very nice tool, but i found a small problem on its GUI. BeHappy cannot remember GUI location & size. After several restart, it is either hidden or maximized(not adjustable).
I can read a litte of the source code. It should be better to initial MainForm position at (0, 0). Also, to apply its size firstly, and next, its location. I have tested, and now it displays much normal.
cobo
30th July 2009, 07:02
I'm trying to convert 5.1 AC3 track from a PAL DVD to NTSC. I have split it into 6 16bit mono WAV files with BeLight. Is there some way to do the 25 to 23.97 conversion with BeHappy that will result in timestretched 16bit mono WAV files? I've only figured out how to get 32bit WAV files with WAV Writer which I can't play because they are unknown to DirectShow. I wan't to be able to encode back into AC3 using Sonic encoder so I can set the metadata and be sure of correct AC3 encoding.
BTW everytime I start the queue I get the message: "This application has failed to start because OptimFrog.dll was not found. Re-installing the application may fix this problem." Why is that? I've searched for the dll, but haven't been able to find it.
tebasuna51
30th July 2009, 11:36
I'm trying to convert 5.1 AC3 track from a PAL DVD to NTSC. I have split it into 6 16bit mono WAV files with BeLight. Is there some way to do the 25 to 23.97 conversion with BeHappy that will result in timestretched 16bit mono WAV files?
Of course, the last [3] DSP function checked must be 'Convert Sample To 16 bit int' (maybe Sonic can also accept 24 bit int with better resolution)
And select 'Wav Split @ Mono wav's' at [4] Destination format
BTW everytime I start the queue I get the message: "This application has failed to start because OptimFrog.dll was not found. Re-installing the application may fix this problem." Why is that? I've searched for the dll, but haven't been able to find it.
Seems your Bass package is incomplete.
You can obtain OptimFrog.dll + bass_ofr.dll (http://www.un4seen.com/filez/2/bass_ofr24.zip) from http://www.un4seen.com/
BTW, if you don't need decode OptimFROG encoded files the best solution is delete bass_ofr.dll from your ...\AviSynth 2.5\plugins folder.
To avoid overload of AviSynth plugins only put in your ...\AviSynth 2.5\plugins folder the really needed plugins
cobo
30th July 2009, 20:02
Thanks for the explanation tebasuna51. That works very well. Yes, Soft Encode does seem to accept 24bit input files.
I geuss I couldn't turn up any references to OptimFrog.dll because I was spelling it wrong when I searched.
cobo
2nd August 2009, 01:47
What bitdepth does NicAc3Source return? Does it depend on the AC3 file? What bitdepths is NicAc3Source capable of putting out?
tebasuna51
2nd August 2009, 10:34
What bitdepth does NicAc3Source return? Does it depend on the AC3 file? What bitdepths is NicAc3Source capable of putting out?
Always 32 bit float.
If you want other you need use like last DSP (because other DSP funcitions can use also 32 bit float) a 'Convert sample to ...'
cobo
2nd August 2009, 14:26
Thanks. That's what I thought I read, but when I open an .avs with VirtualDub it says 16bit, so I thought I'd double check in case I got it wrong. I want to do the least number of conversions as SoftEncode will accept 32bit float as well.
Wilbert
3rd August 2009, 19:46
If the sample type is float, when AviSynth has to output the data, it will be converted to 16 bit, since float cannot be passed as valid AVI data.
source: http://avisynth.org/mediawiki/Internal_filters
You can circumvent that by setting
global OPT_AllowFloatAudio = True
at the start of your script.
tebasuna51
4th August 2009, 00:39
You can circumvent that by setting
global OPT_AllowFloatAudio = True
at the start of your script.
Yes the:
global OPT_AllowFloatAudio = True
is needed if you want use Bepipe or Wavi to decode an avs audio script with 32 bit float output.
If you use the SoundOut AviSynth plugin, MeGUI or BeHappy is not needed.
With MeGUI and BeHappy is because the modified AvisynthWrapper.dll
EpheMeroN
12th September 2009, 21:49
Is there like a new build of BeHappy all inclusive with all updated plugins somewhere on here? I don't wanna hunt through all 43 pages for updates and I really miss BeHappy!!!
tebasuna51
13th September 2009, 04:00
Bass lib's, encoders like NeroAacEnc and others can't be distributed with BeHappy, you need download yourself.
In BeHappy 0.2.2.30338 there are Readme files with links.
EpheMeroN
13th September 2009, 22:10
I took the "Shon3i BeHappy package (2007-03-24) with installer and many plugins" and installed it, and then replaced the main BeHappy executable with the one from CodePlex (BeHappy r18658.rar) and every time I try to run a conversion I get errors.
Can anyone help? I used to have BeHappy working, but reinstalled Windows and can't recall what I had to do.
Here's the error output:
Starting job audio.wav->audio_04cf46ab95d148d3bcf3701639dd26ee.wav
Error: System.EntryPointNotFoundException: Unable to find an entry point named 'dimzon_avs_init_2' in DLL 'AvisynthWrapper'.
at BeHappy.AviSynthClip.dimzon_avs_init_2(IntPtr& avs, String func, String arg, AVSDLLVideoInfo& vi, AviSynthColorspace& originalColorspace, AudioSampleType& originalSampleType, String cs)
at BeHappy.AviSynthClip..ctor(String func, String arg, AviSynthColorspace forceColorspace, AviSynthScriptEnvironment env)
at BeHappy.Encoder.encode()
tebasuna51
14th September 2009, 03:24
I took the "Shon3i BeHappy package (2007-03-24) with installer and many plugins" and installed it, and then replaced the main BeHappy executable with the one from CodePlex (BeHappy r18658.rar) and every time I try to run a conversion I get errors.
Can anyone help?
Of course, you can't mix the last version with a old package.
If you preserve the old BeHappy.exe the application run, but without the last two year changes.
BeHappy is a portable package and not need a install, only AviSynth, if you want preserve your installation you need download BeHappy 0.2.2.30338 (http://behappy.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=14812#DownloadId=37805) and:
1) Replace AvisynthWrapper.dll, (the culprit of the error message)
2) Replace the files in extensions folder
3) Replace the files in encoder folder and search the last versions for:
aften.exe
flac.exe
lame.exe
neroAacEnc.exe
oggenc2.exe
(Maybe if you have MeGUI you can use the included in Tools subfolder)
4) Replace the dll in plugins folder to the AviSynth plugins folder, and search for bass*.dll (version 2.4) in http://www.un4seen.com/bass.html
tebasuna51
12th October 2009, 12:08
New BeHappy version
2009-10-12 (Tebasuna) v0.2.4.20767 (Change Set 28802)
+ Now encAacPlus need libmp4v2.dll (Winamp folder) instead MP4Box/MP4Mux to output .mp4/.m4a files.
+ Recover the low limit for CT encAacPlus to 8 Kb/s, available for mono audio, and the option to force MPEG4 AAC streams.
- Delete the obsolete option to select NeroAacEnc SSE.
+ Add info over Header option.
There are also a new full release:
BeHappy20091012 (http://behappy.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=34300#DownloadId=87266)
with last enc_aacplus, nicaudio, bassaudio and ssrc options.
elguaxo
27th December 2009, 15:56
I've just updated BeHappy and the encoders, but I have problems with encAacPlus. I got enc_aacplus.dll and libmp4v2.dll from the latest Winamp v5.571. nscrt.dll is no longer installed with winamp, so I guess it's no longer needed?
When I try to encode something with it I get this:
Starting job audio.ac3->audio.mp4
Found Audio Stream
Channels=2, BitsPerSample=16 int, SampleRate=48000Hz
encoder\enc_aacPlus.exe - "H:\audio.mp4" --rawpcm 48000 2 16 --br 96000 --he
Writing PCM data to encoder's StdIn
Error: System.IO.IOException: The pipe has been ended.
Any hints? TIA!
tebasuna51
27th December 2009, 21:26
Yes, seems Winamp v5.57 CT libraries enc_aacPlus don't work with the encoder enc_aacPlus.exe.
I always use NeroAacEnc (with new version now) but if somebody know how work with new v5.57 please put the solution
elguaxo
27th December 2009, 21:38
I always use NeroAacEnc (with new version now)
Me too! I was just curious why enc_aacPlus wasn't working.
Thanks for the quick replay. :)
b66pak
25th January 2010, 20:11
do you plan to support the new qtaacenc CLI tool?
http://tmkk.hp.infoseek.co.jp/qtaacenc/
_
P.S. a little omission in BeHappy...if you select BassAudio the .ac3 is not listed as supported extension...
_
tebasuna51
25th January 2010, 21:08
do you plan to support the new qtaacenc CLI tool?
Only work with mono/stereo audio.
You need install QuickTime 7.6.5, then I never can test this.
You can create a file qtaacenc.extension with this:
<?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">
<AudioEncoder Name="QT AAC Encoder" UniqueID="58cf5690-09e8-11df-8a39-0800200c9a66">
<Plugin>
<MultiOptionEncoder Type="BeHappy.Extensions.MultiOptionEncoder, BeHappy">
<Script>32==Audiobits(last)?ConvertAudioTo24bit(last):last</Script>
<ExecutableFileName>qtaacenc.exe</ExecutableFileName>
<TitleFormatString>QTaacEnc M4A @ {0}</TitleFormatString>
<SupportedFileExtension>m4a</SupportedFileExtension>
<Option>
<Name>cbr 192 kbps</Name>
<Value>--cbr 192 - "{0}"</Value>
</Option>
<Option>
<Name>abr 128 kbps</Name>
<Value>--abr 128 - "{0}"</Value>
</Option>
<Option>
<Name>cvbr 160 kbps</Name>
<Value>--cvbr 160 - "{0}"</Value>
</Option>
<Option>
<Name>tvbr 64</Name>
<Value>--tvbr 64 - "{0}"</Value>
</Option>
</MultiOptionEncoder>
</Plugin>
</AudioEncoder>
</BeHappy.Extension>
Put the encoder at BeHappy\encoder folder and test.
Of course you can put other bitrates.
If all is fine we can think a more complex GUI with sliders and other encoder options.
P.S. a little omission in BeHappy...if you select BassAudio the .ac3 is not listed as supported extension...
In my first test the ac3 bass decoder don't work fine, and the ac3 is supported well with NicAudio.
Maybe last bass versions work, test yourself.
Add the ac3 in the list is easy:
edit BassAudio.extension and add a new line
<SupportedFileExtension>ac3</SupportedFileExtension>
b66pak
27th January 2010, 21:11
ok...i have done some tests...here are the results...
the qtaacenc encoder accepts wav's up to 32float (mono or stereo ONLY)...
if found that is limited (an old apple flaw!!!) to maximum 186 minutes for a 32float@48000hz wav or 279 minutes for a 24bit@48000hz wav and 327 minutes for a 16bit@48000hz wav!!!
_
P.S. @tebasuna51 the extension work great...could you make one similar to nero's aacenc?
_
shon3i
27th January 2010, 21:50
P.S. @tebasuna51 the extension work great...could you make one similar to nero's aacenc?Why? it's alredy included in behappy without extension.
tebasuna51
28th January 2010, 00:58
the qtaacenc encoder accepts wav's up to 32float (mono or stereo ONLY)...
To test 32 bit (int/float) I supose you remove the line:
<Script>32==Audiobits(last)?ConvertAudioTo24bit(last):last</Script>
I put the limit based in the Foobar2000 integration image
if found that is limited (an old apple flaw!!!) to maximum 186 minutes for a 32float@48000hz wav or 279 minutes for a 24bit@48000hz wav and 327 minutes for a 16bit@48000hz wav!!!
Seems the encoder need a parameter like -ignorelength for NeroAacEnc or -readtoeof 1 for Aften.
If you use wav file input I hope you use RaWawSource instead WavSource (limited to 4GB).
P.S. @tebasuna51 the extension work great...could you make one similar to nero's aacenc?
NeroAacEnc is already supported.
If you want test any encoder with STDIN input you can create your own file.extension
You have some samples, remember only change the UUID, get a new one here: http://kruithof.xs4all.nl/uuid/uuidgen
b66pak
28th January 2010, 18:26
@tebasuna51 the extension work great...could you make one similar to nero's aacenc?
i was talking about qtaacenc extension you made...i was trying to make it look like nero's extension (with radio buttons, sliders, checkboxes, dropdown menus, a nice image) but i suppose is built in because i don't find it in the extensions folder...that is why i ask if you could make the qtaacenc extension look more like nero's extension...i hope i was clear...
yes, i removed the "ConvertAudioTo24bit" line...
the 4gb limit is on apple side of the encoder...i test it using the STDIN input by feeding a +8hrs .ac3 file with 16, 24, 32, 32float bits...
_
P.S. what can i do to make bepipe/wavi to output 32float from an .avs (ex: --script "NicAc3Source(^sample.ac3^)"
_
tebasuna51
29th January 2010, 10:56
The integrated GUI for qtaacenc need more work and a new BeHappy release. New item for my TODO list.
To pipe Bepipe/wavi you only need the the pipe command '|':
bepipe --script "NicAc3Source(^sample.ac3^)" | qtaacenc -parameters - "output.m4a"
wavi need a physical .avs file
wavi "sample.avs" - | qtaacenc -parameters - "output.m4a"
b66pak
29th January 2010, 18:29
what can i do to make bepipe/wavi to output 32float from an .avs?
here is what i mean:
input 16bit > output 16bit
F:\>bepipe --script "NicAc3Source(^F:\sample.ac3^).ConvertAudioTo16bit()" | Wavfix - sample.wav
***************************************
BePipe by dimzon
***************************************
Script used:
# BEGIN
NicAc3Source("F:\sample.ac3").ConvertAudioTo16bit()
# END
Scanning for Audio Stream...
Found Audio Stream
Channels=6, BitsPerSample=16, SampleRate=48000Hz
Writing Header...
Writing Data...
Done!
input 24bit > output 24bit
F:\>bepipe --script "NicAc3Source(^F:\sample.ac3^).ConvertAudioTo24bit()" | Wavfix - sample.wav
***************************************
BePipe by dimzon
***************************************
Script used:
# BEGIN
NicAc3Source("F:\3\sample.ac3").ConvertAudioTo24bit()
# END
Scanning for Audio Stream...
Found Audio Stream
Channels=6, BitsPerSample=24, SampleRate=48000Hz
Writing Header...
Writing Data...
Done!
input 32bit > output 32bit
F:\>bepipe --script "NicAc3Source(^F:\sample.ac3^).ConvertAudioTo32bit()" | Wavfix - sample.wav
***************************************
BePipe by dimzon
***************************************
Script used:
# BEGIN
NicAc3Source("F:\3\sample.ac3").ConvertAudioTo32bit()
# END
Scanning for Audio Stream...
Found Audio Stream
Channels=6, BitsPerSample=32, SampleRate=48000Hz
Writing Header...
Writing Data...
Done!
input 32float > output 16bit
F:\>bepipe --script "NicAc3Source(^F:\sample.ac3^).ConvertAudioToFloat()" | Wavfix - sample.wav
***************************************
BePipe by dimzon
***************************************
Script used:
# BEGIN
NicAc3Source("F:\sample.ac3").ConvertAudioToFloat()
# END
Scanning for Audio Stream...
Found Audio Stream
Channels=6, BitsPerSample=16, SampleRate=48000Hz
Writing Header...
Writing Data...
Done!
_
tebasuna51
30th January 2010, 16:42
Sorry I don't see the float32 requirement.
In AviSynth you need enable the float output, default is False, with:
global OPT_AllowFloatAudio=True
Then we need make a physical sample.avs with:
global OPT_AllowFloatAudio=True
NicAc3Source("F:\sample.ac3")
Here you don't need ConvertAudioToFloat() because the NicAc3Source is already 32 float.
Now you can use Bepipe with:
bepipe --script "Import(^F:\sample.avs^)" | Wavfix - sample.wav
If you use BeHappy (or MeGUI) the global OPT_AllowFloatAudio=True isn't needed because the special AvisynthWrapper.dll
b66pak
30th January 2010, 18:24
global OPT_AllowFloatAudio=True
i did not know that...thanks a lot...
another problem is with rawavsource and 32float wav/dat/raw...
here is BeHappy's generated .avs:
########################################
#Created by BeHappy v0.2.4.20767
#Creation timestamp: 1/30/2010 7:17:06 PM
########################################
#Source FileName:E:\_audio.dat
#Target FileName:E:\_audio.wav
########################################
########################################
# [Source: RaWav 48000Hz, 32float, 6ch]
########################################
RaWavSource("E:\_audio.dat", 48000, 0, 6)
########################################
# [Encoder: Wav Writer]
########################################
and the error:
Starting job _audio.dat->_audio.wav
Error: BeHappy.AviSynthException: m2RaWavSource: unsupported sample precision
it should be:
RaWavSource("E:\_audio.dat", 48000, 33, 6)
_
L.E. also .dat is not listed as valid extension for RaWavSource...
_
Cozmec
30th January 2010, 21:45
I am trying to convert an .acc file to a .ac3 and i get the following error:
Error: BeHappy.AviSynthException: unexpected character ""
σε BeHappy.AviSynthClip..ctor(String func, String arg, AviSynthColorspace forceColorspace, AviSynthScriptEnvironment env)
σε BeHappy.Encoder.encode()
I am using the ffmpeg ac3
tebasuna51
31st January 2010, 00:48
...
it should be:
RaWavSource("E:\_audio.dat", 48000, 33, 6)
_
L.E. also .dat is not listed as valid extension for RaWavSource...
_
You are right, please edit the NicAudio.extension file until next release.
tebasuna51
31st January 2010, 01:08
I am trying to convert an .acc file to a .ac3 and i get the following error:
Error: BeHappy.AviSynthException: unexpected character ""
I am using the ffmpeg ac3
I don't know what is the problem.
Please use the 'Export AviSynth Script' and post here the script.
b66pak
31st January 2010, 16:35
here is the edited NicAudio.extension...
_
Lincoln Burrows
3rd February 2010, 09:52
Any idea how to fix this problem?
Starting job audiofile2.wav->audiofile2best.m4a
Found Audio Stream
Channels=2, BitsPerSample=16 int, SampleRate=44100Hz
encoder\ffmpeg.exe -i - -y -acodec aac -ab 128 "C:\Documents and Settings\Core Quad 9450\Desktop\audiofile2best.m4a"
Error: System.ApplicationException: Can't start encoder: System cannot find the specified file ---> System.ComponentModel.Win32Exception: System cannot find the specified file
at System.Diagnostics.Process.StartWithCreateProcess(ProcessStartInfo startInfo)
at System.Diagnostics.Process.Start()
tebasuna51
3rd February 2010, 13:24
Put ffmpeg.exe in Behappy encoder folder
Lincoln Burrows
3rd February 2010, 14:57
Where are most BeHappy encoders? Did they come in the original BeHappy package? Ffmpeg.exe is not here, that's what this message is about. If I recall correctly, I had to download lame.exe myself to work. Not sure where I can find the rest BeHappy uses.
b66pak
3rd February 2010, 18:28
from readme.txt in BeHappy "encoder" folder:
The files in this folder can be included in BeHappy folder or in a subfolder called 'encoder'.
If the subfolder 'encoder' exists, all the encoders must be inside it.
Some files are interfaces created by BeHappy team and are included here, but the rest must be obtained from the authors.
Some special versions with STDIN input are included also, when the old link don't work.
There are also Bepipe.7z with the command line Bepipe.exe and some sample.
Here are the last know url to download the encoders and the last version tested:
WavSplit.exe (Included. Author Tebasuna, to split in mono/stereo wav's instead multichannel output)
-- lossless encoders
flac.exe (free lossless FLAC encoder http://www.rarewares.org/lossless.php, v1.2.1b)
ttaenc.exe (free lossless TTA True Audio encoder, special v3.4.1 with STDIN input, included)
wavpack.exe (free lossless WV WavPack encoder http://www.rarewares.org/lossless.php, http://www.wavpack.com/ v4.60)
-- lossy multichannel encoders
neroAacEnc.exe (free AAC-MP4 encoder from Nero, http://www.nero.com/eng/technologies-aac-codec.html)
aften.exe (free AC3 encoder by Justin Ruggles, in http://code.google.com/p/wavtoac3encoder/downloads/list or http://kurtnoise.free.fr/MeGUI)
oggenc2.exe (free OGG encoder, http://www.rarewares.org/ogg-oggenc.php v2.85)
enc_aacPlus.exe (Included. Author Dimzon and BeHappy team, interface for enc_aacplus.dll)
enc_aacplus.dll (free AAC CT encoder v1.27, from full Winamp)
nscrt.dll (needed for enc_aacplus.dll, from full Winamp)
libmp4v2.dll (needed for enc_aacplus.dll mp4 output, from full Winamp)
ffmpeg.exe (many options, maybe: http://ffdshow.faireal.net/mirror/ffmpeg/, v?.?)
enc_AudX_CLI.exe (Included. Author Dimzon, interface for audxlib.dll)
audxlib.dll (free MP3 encoder with surround features, http://www.aud-x.com/)
mp3sEncoder.exe (free MP3 Fraunhofer encoder, http://www.all4mp3.com/tools/sw_fhg_cl.html)
-- lossy only stereo encoders
lame.exe (free MP3 encoder http://www.rarewares.org/mp3-lame-bundle.php, v3.98)
twolame.exe (free MP2 encoder, version from rarewares don't work, included v0.3.10b)
mppenc.exe (free MPC MusePack encoder, http://www.musepack.net, v1.16)
Notes:
------
The GUI's to capture the encoder parameters are implemented in the main BeHappy.exe or in *.extensions files in the 'extensions' subfolder.
The *.extensions files can be edited with Notepad or similar to change a not supported option.
To change parameters to GUI encoder included in BeHappy.exe you need change the sources *.cs and compile.
The files in 'extensions' subfolder can also be placed at BeHappy folder.
The *.extension files can implement also DSP functions (ConvertSample, DownMix, DuplicateChannels, SSRC and UpMix), and AviSynth decoders (BassAudio.extension).
The mppenc v1.16 (SV7) was deprecated and the new MusePack encoder SV8 is named mpcenc.exe (actually v1.30) if you want use it you need edit MusePack.extension file.
_
b66pak
9th February 2010, 18:29
new version for qtaacenc (qtaacenc-20100210):
http://tmkk.hp.infoseek.co.jp/qtaacenc/
2010/2/10
* Added --ignorelength option
* This option lets qtaacenc ignore the size of data chunk of the input wave stream when encoding from pipe. This will be useful when you want to pass a huge (>4GB) wave stream using pipe. Note that if the data chunk size is set to zero, qtaacenc reads the stream until EOF without this option. Write max bitrate info and encoding parameter metadata (iTunes compatible)
_
Chumbo
8th August 2010, 17:52
@tebasuna51,
Have you had a chance to merge my changes per changeset 18658? They're still not in the latest and I'm no longer on the developers list so I can't access TFS.
tebasuna51
21st August 2010, 03:40
@tebasuna51,
Have you had a chance to merge my changes per changeset 18658? They're still not in the latest and I'm no longer on the developers list so I can't access TFS.
Added your changes in 18658 (deleted in 19601) to new Change Set 49787.
Chumbo
21st August 2010, 04:37
Added your changes in 18658 (deleted in 19601) to new Change Set 49787.
Great, thank you.
NoX1911
28th August 2010, 07:14
Anyone tested with NET Framework 4.0? It just crashes here on win7.
tebasuna51
28th August 2010, 10:55
No, I use NET 2.0, XP SP3 32 bits.
What version of AviSynth do you have installed?
Just crashes on open or when you make some job?
NoX1911
28th August 2010, 17:17
Wtf... it works now. Don't know what was wrong. Error was something with '2.0 CLR'. Error message came immediately after doublelclicking the exe.
Max_Cady
20th October 2010, 22:58
how to encode DTS-HD to DTS with this application? i dont see any option for DTS encoding.
tebasuna51
21st October 2010, 01:04
Because doesn't exist any free DTS encoder.
And there are better alternatives, AC3 is more efficient and more compatible, and AAC is even more efficient (but less compatible).
With less bitrate you can obtain the same quality than DTS.
BTW, you needn't encode DTS-HD to DTS, is enough extract the 'core' with eac3to, for instance:
eac3to input.dtshd output.dts -core
Chumbo
21st October 2010, 02:38
To add to what tebasuna51 already said, you can also use tsmuxer which can remux a dts-hd track to the core dts track.
DVDBob
31st October 2010, 19:02
I have some audio files from DVDs, and i want to use them to some MKV files from blurays.
So can i use this software to only TimeStretch 25 > 23,976???
tebasuna51
31st October 2010, 20:57
Yes, there are two methods:
- with SSRC (same than use eac3to), change the pitch. More accurate.
- with TimeStretch, if you use Tempo the pitch is preserved.
DVDBob
31st October 2010, 21:09
I just tried hour stretch but it reports errors immediately I press start.
I do not know whether it is best to use AviSynth, DirectShow source or NicAc3Source.
tebasuna51
31st October 2010, 23:50
NicAc3Source.
You need NicAudio.dll in your Avisynth plugin folder and Aften.exe in BeHappy Encoder subfolder.
DVDBob
1st November 2010, 00:16
Thanks it works now.
TDiTP_
17th December 2010, 15:01
One question
Why BeHappy's DPLII downmix matrix:
Lt = L + 0.7071 C + 0.7071 LFE + 0.866 BL + 0.5 BR
Rt = R + 0.7071 C + 0.7071 LFE - 0.5 BL - 0.866 BR
when at the same time here (http://forum.doom9.org/showthread.php?t=57988):
Lt = L + 0.7071 C + 0.7071 LFE - 0.866 BL - 0.5 BR
Rt = R + 0.7071 C + 0.7071 LFE + 0.5 BL + 0.866 BR
(azid and AC3Filter use such matrix: "-" surround with Lt and "+" surround with Rt)
tebasuna51
17th December 2010, 19:38
One question
Why BeHappy's DPLII downmix matrix:
...
Basically because I found than using (simplified coefficients):
M1 (like BeSweet/Azid)
LT = L + 0.7 C - 0.8 BL - 0.5 BR
RT = R + 0.7 C + 0.5 BL + 0.8 BR
M3 (with inverted signs for back channels)
LT = L + 0.7 C + 0.8 BL + 0.5 BR
RT = R + 0.7 C - 0.5 BL - 0.8 BR
I get, using DPL II upmix with Cyberlink PowerDVD 6, Audio Effect dsf (software decode, also tested with my hardware decoder)
M1 decoded in Movie mode
L' = 0.7 L
R' = 0.7 R
C' = 0.6 C
SL' = - 0.7 SL
SR' = - 0.7 SR
M3 decoded in Movie mode
L' = 0.7 L
R' = 0.7 R
C' = 0.6 C
SL' = 0.7 SL
SR' = 0.7 SR
Reference threads:
http://forum.doom9.org/showthread.php?t=111603
http://forum.doom9.org/showthread.php?t=112122
Then seems the original matrix mix produce inverted surround channels (difficult to listen the difference).
TDiTP_
20th December 2010, 08:29
tebasuna51
Thanks
What matrix do you recommend to use when downmix 7.1 and 6.1 -> 5.1 ? And what script i must use in BeHappy?
eac3to mix surround like:
Sur = 1.0 x Back + 0.7 x Side
and I can't understand why such coefficients.
if not difficult, I would want to know the theoretical explanation :)
---------------------
Upd. May be like this (http://forum.doom9.org/showthread.php?p=1144930#post1144930).
7.1/7.0:
B = 0,395 x Su -> Su1 = 2,53 x B
S = 0,742 x Su -> Su2 = 1,35 x S
=> Su = Su1 + Su2 = 2,53 x B + 1,35 x S
but we must normalize to the max signal, i.e. "B", then:
Su = B + 0,53 x S
sqrt:
Su = B + 0,73 x S
6.1/6.0:
BC is in 0,5 in left and 0,5 in right speaker
if we 6.1->5.1 we need add BC in Su: Su' = Su + 0,5 x BC
sqrt:
Su' = Su + 0,707 x BC
The right solution?
Remembering angle accuracy it may be close with what eac3to do - link (http://www.hydrogenaudio.org/forums/index.php?showtopic=59068).
tebasuna51
20th December 2010, 16:17
What matrix do you recommend to use when downmix 7.1 and 6.1 -> 5.1 ? And what script i must use in BeHappy?...
To avoid overflow, first convert to float, mix, Normalize and convert to desired output.
# Downmix 7.1 to 5.1
RaWavSource("341.wav") # or 341.w64
a = ConvertAudiotofloat()
fl = Getchannel(a,1)
fr = Getchannel(a,2)
fc = Getchannel(a,3)
lf = Getchannel(a,4)
bl = Getchannel(a,5)
br = Getchannel(a,6)
sl = Getchannel(a,7)
sr = Getchannel(a,8)
sul = Mixaudio(sl, bl, 1.0, 1.0)
sur = Mixaudio(sr, br, 1.0, 1.0)
Mergechannels(fl, fr, fc, lf, sul, sur)
Normalize()
#ConvertaudiotoX() # not needed to encode to ac3/aac
With:
sul = sl + bl
sur = sr + br
We preserve the acustic power relation between all channels. Don't mistake upmix (we need divide a channel in two, angle related) with downmix (we add channels and both must have the same contribution)
For 6.1
# Downmix 6.1 to 5.1
RaWavSource("331.wav") # or 331.w64, with channelmask like eac3to output, else alternate sintax
a = ConvertAudiotofloat()
fl = Getchannel(a,1)
fr = Getchannel(a,2)
fc = Getchannel(a,3)
lf = Getchannel(a,4)
bc = Getchannel(a,5) # bl = Getchannel(a,5)
sl = Getchannel(a,6) # br = Getchannel(a,6)
sr = Getchannel(a,7) # bc = Getchannel(a,7)
sul = Mixaudio(sl, bc, 1.0, 0.707) # Mixaudio(bl, bc, 1.0, 0.707)
sur = Mixaudio(sr, bc, 1.0, 0.707) # Mixaudio(br, bc, 1.0, 0.707)
Mergechannels(fl, fr, fc, lf, sul, sur)
Normalize()
#ConvertaudiotoX() # not needed to encode to ac3/aac
With:
sul = sl + 0.707xbc
sur = sr + 0.707xbc
Here the acustic power of bc must be divided in two channel. Like acustic power is proportional to bc^2:
bc^2 = ( 0.707xbc)^2 + (0.707xbc)^2
TDiTP_
20th December 2010, 16:32
we add channels and both must have the same contribution
=> eac3to's downmix 7.1->5.1 isn't correct?
tebasuna51
20th December 2010, 19:26
Like you say eac3to do:
SuL = BL + 0.7xSL
SuR = BR + 0.7xSR
Then the acustic power contribution of SL and SR channels in 5.1 is half than in 7.1 audio
The 6.1 -> 5.1 downmix in eac3to is broken (DTS-MA or WAV source):
SuL = BC + 0.7xSR
SuR = SL + 0.7xSR
Jeff B
29th January 2011, 21:24
I like this transcoder so far. Thank you very much! Can you use this with the Sonic audio decoder? I am using it to downmix DTS-HD MA to simple stereo (i.e. not DPII) to avoid the left channel being louder than the right, as discussed here (http://forum.doom9.org/showthread.php?t=151283). Eac3to has always had a switch for sonic, but I don't know how to use sonic with this program.
tebasuna51
30th January 2011, 02:54
Sorry I don't know how use Sonic audio decoder with BeHappy.
You can use eac3to to decode the DTS-MA to a wav file and after use BeHappy for the stereo downmix.
BTW, not always the DPL II downmix make left channel louder than right.
Jeff B
3rd February 2011, 17:57
You can use eac3to to decode the DTS-MA to a wav file and after use BeHappy for the stereo downmix.
Thank you! How exactly do I make the wav file with eac3to? What sort of wav file? :)
tebasuna51
4th February 2011, 01:19
Just decode:
eac3to input.dtsma output.wav
alexVS
13th February 2011, 09:12
Hi! I'm trying to use 7.1 to 5.1 avisynth script and there's a question.
I want to make 5.1 as much close to 7.1 as possible.
And command normalize() changes volume of all channels.
Maybe it's better to normalize just two channels sul and sur (or use some reducing coefficients for them before mixing to avoid overflow).
And leave all other channels F,L,C,LFE intact?
tebasuna51
13th February 2011, 13:19
...I want to make 5.1 as much close to 7.1 as possible.
Then:
SuL = BL + SL
SuR = BR + SR
And command normalize() changes volume of all channels.
Yes, this is needed to have the same volume contribution than 7.1 without distort.
Maybe it's better to normalize just two channels sul and sur ...
Nope, with that you don't know if SuL,SuR contribution is less or more than in 7.1
PBear
4th March 2011, 23:53
Been using BeHappy a long time to re-encode time-compressed movie audio to the correct pitch w/Time-Stretch filter, extracting audio from AVI files using VDubMOD to save as WAV file for input. Usually re-encode to AC3 using Aften @ 192K but sometimes, to save file space, will use MP3 @ 128K.
Since LAME MP3 is so slow compared to Aften's AC3 encoding, thought I would try the Fraunhofer MP3 encoder whose link appears in README file. Cannot get Fraunhofer encoder to work. BeHappy does not appear to pass the command line correctly - as you can see, the "-if" (input file) parameter is blank and the following error appears in BeHappy window:
Starting job Movie.wav->Movie.mp3
Found Audio Stream
Channels=1, BitsPerSample=32 float, SampleRate=48000Hz
encoder\mp3sencoder.exe -if - -of "D:\Hold\Movie.mp3" -q 1 -eof -br 128000 -sr 48000 -c 1
Writing RIFF header to encoder's StdIn
Writing PCM data to encoder's StdIn
Error: System.IO.IOException: The pipe has been ended.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.FileStream.WriteCore(Byte[] buffer, Int32 offset, Int32 count)
at System.IO.FileStream.Write(Byte[] array, Int32 offset, Int32 count)
at BeHappy.Encoder.encode()
Any possible fix?
Thanks.
tebasuna51
5th March 2011, 04:15
BeHappy does not appear to pass the command line correctly - as you can see, the "-if" (input file) parameter is blank and the following error appears in BeHappy window:
...
After the "-if" there are a "-" what means than the STDOUT of AviSynth is send to STDIN of the encoder.
The problem is with some changes in parameters between 1.4 and 1.5 encoder versions:
-q 1 seems not needed in v1.5
-res (new parameter) is needed in v1.5 because now support 24 bit depth samples, not only 16 like v1.4
Then if you use mp3sencoder v1.5 you need a new FraunhoferMp3.extension file:
b66pak
5th March 2011, 20:26
thanks a lot...
_
L.E. It looks like FraunhoferMp3Encoder autoresample 48000 Hz to 44100 Hz!!!
_
tebasuna51
6th March 2011, 01:40
L.E. It looks like FraunhoferMp3Encoder autoresample 48000 Hz to 44100 Hz!!!
Maybe for low bitrate, Lame also downsample if the bitrate is not enough.
b66pak
6th March 2011, 02:35
on highest quality setting...
_
tebasuna51
6th March 2011, 03:18
I can't reproduce this, input 48 KHz -> output 48 KHz
b66pak
6th March 2011, 05:09
your cli line, please?
_
tebasuna51
6th March 2011, 10:35
BeHappy VBR higest quality:
encoder\mp3sencoder.exe -if - -of "D:\wavs\48KHz.mp3" -eof -br 0 -m 1 -sr 48000 -res 16 -c 2 -vbri
the mp3 output is 48 KHz like input.
b66pak
6th March 2011, 19:46
-q Quality:
Encoder quality:
0: fast encoding <Default>
1: high quality
if i use "-q 1" i get the autoresampling: 48000 Hz > 44100 Hz
my line:
mp3sEncoder -if audio.wav -of vbr_m1.mp3 -br 0 -m 1 -q 1 -vbri
_
egrimisu
6th March 2011, 21:01
Visit us in Transylvania :)
tebasuna51
7th March 2011, 01:13
@b66pak
Seems a bug, the -q parameter isn't used now in BeHappy with v1.5 like a say before (new FraunhoferMp3.extension)
PBear
11th March 2011, 04:32
Then if you use mp3sencoder v1.5 you need a new FraunhoferMp3.extension file:
Thanks for the reply. I downloaded and installed the new extension file you provided, but I'm still getting the same error and still no encoding takes place.
(I'm not using an AVISynth script, I'm just using the WavSource setting for input file - which works fine with Aften and LAME MP3.)
:)
tebasuna51
11th March 2011, 14:01
If your sample is the same:
"Channels=1, BitsPerSample=32 float, SampleRate=48000Hz"
you need convert the wav samples 32 float to 16 or 24 (recommended) because:
"-res (new parameter) is needed in v1.5 because now support 24 bit depth samples, not only 16 like v1.4"
Check the DSP 'Convert Sample To 24 bit int' in [3] Digital Signal Processing
PBear
11th March 2011, 20:11
If your sample is the same:
"Channels=1, BitsPerSample=32 float, SampleRate=48000Hz"
you need convert the wav samples 32 float to 16 or 24 (recommended) because:
"-res (new parameter) is needed in v1.5 because now support 24 bit depth samples, not only 16 like v1.4"
Check the DSP 'Convert Sample To 24 bit int' in [3] Digital Signal Processing
I've converted the sample to 24 bit, like you instructed, and used that output file as the input for Fraunhofer. BeHappy stills shows:
Found Audio Stream
Channels=2, BitsPerSample=32 float, SampleRate=48000Hz
and gives the same error as before.
I tried it again using Convert Sample to 16 bit. Got same results from that output file. As a matter of fact, I checked my original input file with MediaInfo and it shows as 16 bit already. It was never 32 bit.
No matter what the sample rate of the input file actually is, when I try to convert it with Fraunhofer, BeHappy reports
Found Audio Stream
...BitsPerSample=32 float...
I don't get it. :(
b66pak
11th March 2011, 20:29
make sure that "convert to 24 bit int" (or "convert to 16 bit int") is checked and is the last line in "[3] Digital Signal Processing" window (use "Move Down" to make it last!!!)...
_
PBear
11th March 2011, 20:48
That did it! Thanks very much.
(Having that line at the bottom is so counter-intuitive, though. I moved the Convert Sample line all the way to the top because I assumed that action would need to be done first, before anything else. That'll teach me to try to out-think the program I'm using!!!)
The Fraunhofer encoder is much, much faster than LAME's, by the way (as fast, or even a tiny bit faster than Aften's AC3), and the results seem to sound fine.
:thanks:
TDiTP_
21st March 2011, 12:47
Does BeHappy use dithering (and may be noise shaping) when we use DSP "Convert Sample To X bit"? If not, then why?
For example. One test AC-3 i decode in eac3to with libav twice and output WAVs does not byte-in-byte identical because eac3to use dithering when convert 64 fp -> 24 int (with "-full" identical). In case of BeHappy everyone output WAV byte-in-byte identical to the previous. Why?
Upd.
Related Issues. In case of certified AC-3 decoders (nero, sonic) i always have byte-in-byte identical output WAVs after decoding test AC-3. I thought, that work inside filter is: decode to 32 fp (as in spec.)->reduce bitdepth with dithering to 24 int (or 16 int). But then why we have byte-in-byte identical results, where I'm wrong?
tebasuna51
21st March 2011, 16:22
About dithering in "Convert Sample To X bit":
BeHappy is only a GUI for AviSynth then only uses the functions
ConvertAudioTo8bit / ConvertAudioTo16bit / ConvertAudioTo24bit / ConvertAudioTo32bit / ConvertAudioToFloat
(don't exist with dithering)
I don't know how work exactly eac3to or certified ac3 decoders because the source isn't public.
TDiTP_
21st March 2011, 18:29
tebasuna51, how do you think: we need dithering when reduce bitdepth or not?
tebasuna51
21st March 2011, 23:52
Is your choice, but I never use it.
TDiTP_
7th April 2011, 15:02
slightly offtopic, excuse me please.
BeHappy doesn't use such BSI as 'Surround Downmix Level' in AC-3 when downmix it (5.1->2.0 Lo/Ro). BeHappy uses standart stereo-matrix and my question is: "Why? 'Surround Downmix Level' in AC-3 stream isn't so important information? This BSI is used by all Dolby certifyed decoders and Azid. Why not by other (L)GPL decoders?"
The same situation with 'Center Downmix Level' but this info isn't so important because =-3 almost always.
tebasuna51
7th April 2011, 15:32
BeHappy is only a GUI for AviSynth.
In AviSynth we can't know BSI info.
BSI info are know by decoder (NicAudio, BassAudio, DirectShow filters, ...) but can't pass the info to AviSynth, more important than downmix levels is the maskchannel to know the channels presents in the decoded stream.
Then the procces can't be automatic, if you know the BSI values you can write the .avs to make the recommended downmix.
TDiTP_
7th April 2011, 15:47
tebasuna51, I need your opinion again :)
Is "Surround Mix Level" so important BSI? I can't understand Dolby's recommendation, why is the recommended value is -3 db (and not "none")? Because in this case we don't get the initial acoustic power ratio. i.e the basic question is: "Why Dolby inc. does recommend to lower the level of Ls/Rs at downmix?"
tebasuna51
7th April 2011, 16:15
Is "Surround Mix Level" so important BSI?
No
I can't understand Dolby's recommendation, why is the recommended value is -3 db (and not "none")? Because in this case we don't get the initial acoustic power ratio. i.e the basic question is: "Why Dolby inc. does recommend to lower the level of Ls/Rs at downmix?"
Because the Surround channels transport less important info than front and center channel.
Jeff B
22nd April 2011, 18:38
Sorry I don't know how use Sonic audio decoder with BeHappy. You can use eac3to to decode the DTS-MA to a wav file and after use BeHappy for the stereo downmix.
Thank you! How exactly do I make the wav file with eac3to? What sort of wav file? :)
Just decode: eac3to input.dtsma output.wav
Hi! Sorry to bring this up again but I finally found time to try this method out. I had a problem with decoding to .wav: the file was cut off halfway through. Instead, I extracted the DTS-HD MA as RF64 with eac3to and then used Behappy (Source: RaWav ignore lengthways) to downmix to stereo. Anything potentially wrong with this workflow?
It seems to have worked, but the log contained warnings of a number of overlaps, each of a few milliseconds' duration, which I assume is because this was a seamless branching BD. The log also says Realizing RAW/PCM gaps... so can I assume that everything is fine? Thanks for any help.
tebasuna51
22nd April 2011, 23:36
I had a problem with decoding to .wav: the file was cut off halfway through.
I don't think so, but
Instead, I extracted the DTS-HD MA as RF64
this can work also.
but the log contained warnings of a number of overlaps,... so can I assume that everything is fine?
Yes, I hope.
Jeff B
22nd April 2011, 23:44
Thank you for the reply. I appreciate it. :-)
Bluedan
4th May 2011, 12:41
omit encoder script
What does it do to my encode?
Ticking the box had no effect on the avisynth script.
In this forum I found no explanation.
tebasuna51
4th May 2011, 21:18
Work only with the Preview.
Check yourself with the ogg encode, add or not the line:
6==AudioChannels(last)?GetChannel(last,1,3,2,5,6,4):last
Bluedan
4th May 2011, 23:13
Ah. Oh, I overlooked the slight frame which indicates the context between the huge Preview button an that tick box.
Got it now.
The problem with the multichannel ogg encode is already clear.
flapane
6th July 2011, 19:04
Hi,
latest Behappy and latest version of Aften here.
I need to recompress a 448kbps 5.1 ac3 audio to 192kbps.
I moved down NORMALIZE, so that it's the LAST operation in the DSP chain.
I downmixed using STEREO method (please correct me if I'm wrong, but a 5.1 file wouldn't fit well in just 192kbps, isn't it?).
Finally I disabled DRC and DN.
The settings are showed in these screenshoots:
http://i.imgur.com/bSm2us.jpg (http://i.imgur.com/bSm2u.png)http://i.imgur.com/aOPxms.jpg (http://i.imgur.com/aOPxm.png)
It seems that the output 192kbps 2.0 file has the same loudness as the source file (it's less loud if NORMALIZE is at the beginning of the DSP chain), and I can't find any audio clipping.
I'm relatively new to BeHappy, I've downloaded it a couple of hours ago and did some experiments, so if I missed some options in order to produce a better output, please let me know.
b66pak
6th July 2011, 19:30
you did good...
_
flapane
6th July 2011, 19:47
Great, thanks.
I must admit that IMHO this is the best audio tool by far. Besweet and its gui are too outdated.
flapane
7th July 2011, 01:14
Weird... with another 448kbps AC3 I get a result 192kbps file with a much lower volume.
Same method, different results... how could it be?
flapane
14th July 2011, 16:48
Interestingly, I don't have low volume issues if I use Besweet.
Is it due to that boost factor? How to achieve the same result in BeHappy?
"D:\Programmi\besweet+gui\BeSweet.exe" -core( -input "g:\Received Files\aaaa.ac3" -output "g:\Received Files\aaaaa-New.ac3" ) -azid( -s surround2 -g 1 ) -ota( -hybridgain ) -boost( /b2=5 ) -ac3enc( -b 224 )
BeSweet v1.5b31 by DSPguru.
--------------------------
Using azid.dll v1.9 (b922) by Midas (midas@egon.gyaloglo.hu).
Using AC3enc.dll v1.20 (Feb 18 2004) by Fabrice Bellard (http://ffmpeg.org).
Manual Dynamic-Compression algorithm by LigH (author of WaveBooster).
[00:00:00:000] +------- BeSweet -----
[00:00:00:000] | Input : g:\Received Files\the-others-25fps.ac3
[00:00:00:000] | Output: g:\Received Files\the-others-25fps-New.ac3
[00:00:00:000] | Floating-Point Process: No
[00:00:00:000] | Overall Track Gain: 1.389dB
[00:00:00:000] +-------- AZID -------
[00:00:00:000] | Input Channels Mode: 3/2, Bitrate: 448kbps
[00:00:00:000] | Output Stereo mode: Dolby surround 2 compatible
[00:00:00:000] | Total Gain: 0.000dB, Compression: None
[00:00:00:000] | LFE levels: To LR -INF, To LFE 0.0dB
[00:00:00:000] | Center mix level: BSI
[00:00:00:000] | Surround mix level: BSI
[00:00:00:000] | Dialog normalization: No
[00:00:00:000] | Rear channels filtering: No
[00:00:00:000] | Source Sample-Rate: 48.0KHz
[00:00:00:000] +-------- BOOST ------
[00:00:00:000] | Algorithm by : Dg
[00:00:00:000] | Boost Factor : 5.0
[00:00:00:000] | Limit Factor : 0.73
[00:00:00:000] +------- AC3ENC ------
[00:00:00:000] | Bitrate method : CBR
[00:00:00:000] | AC3 bitrate : 224
[00:00:00:000] | Channels Mode : 2.0
[00:00:00:000] | Error Protection: Yes
[00:00:00:000] +---------------------
[01:40:31:656] Conversion Completed !
[01:40:31:656] Actual Avg. Bitrate : 223kbps
[00:05:08:000] <-- Transcoding Duration
tebasuna51
14th July 2011, 22:59
...Is it due to that boost factor? How to achieve the same result in BeHappy?
Of course, boost distort the original audio and don't exist in BeHappy.
If you like this use BeSweet with last BeLight GUI and encode with Aften, never with ac3enc.dll.
flapane
14th July 2011, 23:35
To be honest I prefer the newer BeHappy than BeSweet and its old GUIs, but for some reason I could only obtain low volume ac3 files (except the first time as posted above)... I could hardly hear some speeches in the transcoded ac3 files.
Do you have any hints? My workflow seems to be ok (http://forum.doom9.org/showpost.php?p=1511977&postcount=938). I'm sure I'm missing something.
Chumbo
15th July 2011, 01:42
You should be fine with BeHappy. Just add the Amplify to your chain and play with boosting the volume in incremental values in decibals (check DB). You'll have to find a fine line between the compression you use and amplification as well as playing with which comes first in the chain. Let your ears guide you, but once you figure it out it should work nicely for you. Amplifying too much is the same as overrdriving your system when you turn it up so loud that it distorts the speakers that can't handle it.
You also may want to check your source if you're using an AVS as the input and what filter it's using to process your source AC3 file, e.g., if using AC3Filter, then make sure it's configured correctly and doesn't have its volume set way down or additional compression turned on and so on. You don't want to compress too much, especially an already compressed audio stream as you'll start to hear it distort. If your source is the nicac3source, then you should be fine.
flapane
15th July 2011, 12:43
Thanks.
What point of the workflow should Amplify go at? Just after downmix and before normalization?
As for source, I use AC3 files (nicac3source) as input in BeHappy.
Chumbo
15th July 2011, 22:40
Thanks.
What point of the workflow should Amplify go at? Just after downmix and before normalization?
As for source, I use AC3 files (nicac3source) as input in BeHappy.
You'll have to decide based on how much you're amplifying the volume. Use your ears with Amplify before and after normalization. Keep in mind that normalization will compress the sound and bring up all the lower (in volume) sounds up. So I would start with ampifying the volume without normalization. Try it in +3db increments until you reach a satisfactory level. That may be enough for what you need.
If at the now acceptable level you still want to bring up some of the other sounds in the mix, i.e., compression, then add normalization after Amplify and set it accordingly. Again, let your ears do the work. No one knows what sounds best to you but you. :)
You can even put downmix AFTER Amplify if you want to amplify, let's say, your 5.1 source BEFORE you downmix. Just play around with it until you get what you want. Good luck.
tebasuna51
15th July 2011, 23:32
1) Decode with DRC
2) Downmix to stéreo
3) Normalize
4) Amplify at your choice
Never Amplify before Downmix or Normalize.
@Chumbo:
"normalization will compress the sound and bring up all the lower (in volume) sounds up"
AviSinth Normalize don't work like you say.
There are a first pass to calculate the max volume, in the second pass all sounds are amplified with the difference between 0 dB and the max volume reached.
Then if you Amplify after Normalize always cut the max peaks.
Chumbo
15th July 2011, 23:41
1) Decode with DRC
2) Downmix to estéreo
3) Normalize
4) Amplify at your choice
Never Amplify before Downmix or Normalize.
@Chumbo:
"normalization will compress the sound and bring up all the lower (in volume) sounds up"
AviSinth Normalize don't work like you say.
There are a first pass to calculate the max volume, in the second pass all sounds are amplified with the difference between 0 dB and the max volume reached.
Then if you Amplify after Normalize always cut the max peaks.
Thanks for the clarification. I thought it worked like dynamic compression, i.e., DRC.
flapane
18th July 2011, 00:37
1) Decode with DRC
2) Downmix to estéreo
3) Normalize
4) Amplify at your choice
Never Amplify before Downmix or Normalize.
.
Thanks a lot.
Any particular reasons to prefer Stereo over DPL II in a downmix?
tebasuna51
18th July 2011, 03:28
If you have problems with the loundness then your player can't recover the 5 channels with a DPL II decoder.
And the stereo mix can be more loud than DPL II mix.
flapane
18th July 2011, 17:26
I tried to enable the Dolby Decoder check in ffdshow-Audio (playing back an ac3 downmixed with DPL II), but it didn't change anything.
tebasuna51
18th July 2011, 22:51
Please explain your test.
How output the audio from PC?
spdif, hdmi, 6 analogic output?
BlueCup
26th July 2011, 07:30
I've placed NicAudioSource.dll in my AVISynth 2.5 plugin DIR but I am still receiving an error.
Starting job track2.dts->track2.ac3
Error: BeHappy.AviSynthException: Script error: there is no function named "NicDtsSource"
at BeHappy.AviSynthClip..ctor(String func, String arg, AviSynthColorspace forceColorspace, AviSynthScriptEnvironment env)
at BeHappy.Encoder.encode()
Does anyone have any ideas?
tebasuna51
26th July 2011, 10:55
Check the registry to see if your plugin DIR is correct, for instance for me:
[HKEY_LOCAL_MACHINE\SOFTWARE\AviSynth]
@="C:\\Archivos de programa\\AviSynth 2.5"
"plugindir2_5"="C:\\Archivos de programa\\AviSynth 2.5\\plugins"
BlueCup
29th July 2011, 08:09
REGEDIT4
[HKEY_LOCAL_MACHINE\SOFTWARE\Avisynth]
@="c:\\program files (x86)\\avisynth 2.5"
"plugindir2_5"="c:\\program files (x86)\\avisynth 2.5\\plugins"
I added that to my registry and BeHappy is still giving me the same error.
EDIT: Added the @ line, same thing.
Iron Yuppie
8th August 2011, 08:19
Is there are way to retain audio pitch when converting an ntsc audio source to a pal one? Pardon my ignorance if there is an obvious answer, I can only find information on retaining the pitch for pal to ntsc conversions is all.
tebasuna51
8th August 2011, 11:42
Try with TimeStretch Tempo mode, works fine with stereo, with 5.1 maybe can obtain a litlle asinc between channels.
Iron Yuppie
8th August 2011, 11:58
It's only a 2.0 Stereo file, a commentary track that I've ripped off an old laserdisk on mine that isn't on the dvd version of the film. Annoyingly the DVD is PAL and the commentary is NTSC, so when I did a regular speedup poor Cronenberg sounded like he hadn't hit puberty yet.
So TimeStretch Tempo should work fine then. Thanks for the response, I'll give it a try and report back.
Iron Yuppie
9th August 2011, 10:05
Everything worked without a hitch, thank you so much for the help.
BlueCup
9th August 2011, 20:34
Check the registry to see if your plugin DIR is correct, for instance for me:
[HKEY_LOCAL_MACHINE\SOFTWARE\AviSynth]
@="C:\\Archivos de programa\\AviSynth 2.5"
"plugindir2_5"="C:\\Archivos de programa\\AviSynth 2.5\\plugins"
I'm running Windows 7 64bit, would that have anything to do it this not working?
tebasuna51
10th August 2011, 00:04
You must install AviSynth properly (I don't use W7), not put the values into the Registry manually.
BlueCup
11th August 2011, 18:43
How does one not install AVISynth properly? The values were not there after installing so I added them.
Is anyone running Win7 64bit and have BeHappy running NicAudio plugins just fine?
Xplorer4x4
25th September 2011, 23:42
Just wanted to sya thank you to all those who contribute to this project! I hope you keep up the good work!
tebasuna51
26th September 2011, 11:43
You are welcome.
flapane
15th October 2011, 22:02
Trying to convert 768kbps dts to 192kbps 2.0 ac3
The problem is that Media Info tells that it's a 5 channel dts file, but actually it's a stereo file (if I open it in Audacity, I have L, R and three empty channels)
Format : DTS
Format/Info : Digital Theater Systems
File size : 540 MiB
Duration : 1h 40mn
Overall bit rate : 755 Kbps
Audio
Format : DTS
Format/Info : Digital Theater Systems
Duration : 1h 40mn
Bit rate mode : Constant
Bit rate : 755 Kbps
Channel(s) : 5 channels
Channel positions : Front: L C R, Side: L R
Sampling rate : 48.0 KHz
Bit depth : 24 bits
Compression mode : Lossy
Stream size : 540 MiB (100%)
Any way to tell BeHappy that this is a 2.0 file and not a 5 channel one?
edit: I deleted the "ghost" tracks in Audacity and saved it as a 2.0 wav, then I converted it to ac3.
tebasuna51
16th October 2011, 01:37
The workaround with BeHappy is create a .avs file with:
NicDtsSource("your_file.dts")
GetChannel(1, 2)
and load the .avs file instead the .dts.
flapane
16th October 2011, 11:03
Thanks a lot!
Jeff B
17th October 2011, 22:53
Is there are a way to downmix multichannel audio to stereo and in the process discard the centre channel?
tebasuna51
18th October 2011, 03:31
For instance:
a = NicDtsSource("your_file.dts")
fl = GetChannel(a, 1)
fr = GetChannel(a, 2)
bl = GetChannel(a, 5)
br = GetChannel(a, 6)
left = MixAudio(fl, bl, 0.5, 0.5)
right = MixAudio(fr, br, 0.5, 0.5)
MergeChannels(left, right)
Jeff B
18th October 2011, 22:47
Thanks, tebasuna! How do I use this script with Behappy?
EDIT: Okay, the .avs input option does work. It seemed to freeze, but it's just very slow. Thanks again!
Jeff B
29th October 2011, 20:13
Is it possible to downmix audio using other combinations of channels too? For example, downmix front left, center and front right to the right channel, and left surround and right surround to the left channel, and then merge them to make stereo. (I know it sounds strange, but I have a reason for doing this sort of thing.) GetChannel() seems to work for any channel in a mix, but I notice that MixAudio() only works with two channels.
Moreover, I understand from the recent discussion that the procedure for downmixing is decode, downmix, normalize, amplify. Is amplifying the same as turning up the volume slider in a NLE? I'm experiencing low volume too.
Thanks for any help.
tebasuna51
30th October 2011, 03:47
Strange but possible:
a = NicDtsSource("your_file.dts")
fl = GetChannel(a, 1)
fr = GetChannel(a, 2)
fc = GetChannel(a, 3)
bl = GetChannel(a, 5)
br = GetChannel(a, 6)
lef = MixAudio(fl, fc, 0.3333, 0.3333)
left = MixAudio(lef, fr, 1.0, 0.3333)
right = MixAudio(bl, br, 0.5, 0.5)
MergeChannels(left, right)
After Normalize you can't Amplify, Normalize gives you the max allowed volume.
Jeff B
31st October 2011, 21:36
Thanks, tebasuna. I changed the penultimate line to
right = MixAudio(bl, br, 0.5, 0.5)
but it seemed to work fine. Thanks for this!
After Normalize you can't Amplify, Normalize gives you the max allowed volume.
I don't understand this because in the previous discussion about stereo downmixing I see this workflow:
1) Decode with DRC
2) Downmix to stéreo
3) Normalize
4) Amplify at your choice
I don't understand how the two situations are different.
If you cannot increase the volume after normalization, then if you have two files of different volume in an NLE, you have to lower the volume of the louder one to make them match, and not the other way round. Is this correct?
tebasuna51
1st November 2011, 03:29
Thanks, tebasuna. I changed the penultimate line to
right = MixAudio(bl, br, 0.5, 0.5)
Sorry, you are right, is a typo.
but it seemed to work fine. Thanks for this!
I don't understand this because in the previous discussion about stereo downmixing I see this workflow:
...
4) Amplify at your choice
Maybe is:
"4) Amplify at your risk"
Because I say also:
"if you Amplify after Normalize always cut the max peaks. "
If you cannot increase the volume after normalization, then if you have two files of different volume in an NLE, you have to lower the volume of the louder one to make them match, and not the other way round. Is this correct?
The peak volume of a normalized audio (1) can't be less than other audio (2).
But the RMS volume yes. Seems you have two audios with different Dynamic Range. Yes lower the (2) is the best option.
Xplorer4x4
4th November 2011, 23:53
Is BeHappy capable of demuxxing the AC3 audio out of a video file with out reencoding or will I have to result to another tool for that? Currently I use AviDemux for extracting the audio, but it would be nice to eliminate the need for AviDemux.
tebasuna51
5th November 2011, 02:48
Nope, BeHappy is a GUI for AviSynth, inside AviSynth the audio is always decoded.
Xplorer4x4
5th November 2011, 02:50
Ok I was afraid of that. Shame there is nothing like mkvextract for avi to speed up this process. Thanks for the answer tebasuna51.
Jeff B
7th November 2011, 18:39
Yes lower the (2) is the best option.
Belated thanks for your reply, Tebasuna. :)
XMEN3
7th December 2011, 23:19
I've placed NicAudioSource.dll in my AVISynth 2.5 plugin DIR but I am still receiving an error.
Starting job track2.dts->track2.ac3
Error: BeHappy.AviSynthException: Script error: there is no function named "NicDtsSource"
at BeHappy.AviSynthClip..ctor(String func, String arg, AviSynthColorspace forceColorspace, AviSynthScriptEnvironment env)
at BeHappy.Encoder.encode()
Does anyone have any ideas?
there's still this error and never been fixed...
When running on x64 i must use script with lines:
LoadPlugin("C:\Program Files (x86)\MeGUI-x86\tools\avisynth_plugin\NicAudio.dll")
NicDtsSource("audio.dts")
return last
Megui they solved this time ago and add itself the missing lines...
behappy does not add any line and avisynth does not load automatically plugins on x64
Anyway avisynth 2.6.0 alpha3 solved the autoloadplugin problem.
And i can now transcode loading files directly.
Xplorer4x4
2nd January 2012, 05:22
The download link/site(workspace.com) in the op is down and has been down for a few days. Can we get a mirror?
tebasuna51
2nd January 2012, 11:43
The download link/site(workspace.com) in the op is down and has been down for a few days. Can we get a mirror?
Please read the second post or follow my signature.
CoRoNe
30th January 2012, 22:39
A couple of months ago I made a bugreport for foo_input_avs (http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=42705&view=findpost&p=771962) (Foobar Avisynth input plugin), but I now just realized dimzon (who I assume is the author) has been banned over there.
I hope you allow me to post the bugreport here.
Bug report:
I've done some more testing with BassAudioSource() in combination with foo_input_avs and I'd like to revise my quoted statements. It seems foo_input_avs has some more shortcomings...
- When you've copied BeHappy's entire plugins directory (BassAudio.dll, bass.dll and bass_xxx.dll) to your Avisynth's plugins directory, foo_input_avs (and Foobar) will crash immediately upon playing anything through Avisynth! It will also even crash when trying to play an audio file with WavSource() or NicAc3Source() through Avisynth. Simply the presence of BassAudio.dll and bass.dll in Avisynth's plugins directory will crash Foobar upon playing anything through Avisynth. It seems foo_input_avs doesn't like non-Avisynth libraries (bass.dll and bass_xxx.dll) in Avisynth's plugins directory.
- foo_input_avs having its way, we can of course load BassAudio.dll from elsewhere: Loadplugin("X:\BeHappy 0.2.5.30809\plugins\BassAudio.dll"). This will let BassAudio.dll load bass.dll (WAV/AIFF/MP3/MP2/MP1/OGG)1 but somehow NONE of the other bass_xxx.dlls (AAC/M4A/WMA/FLAC/WV/APE/etc)! Dragging an avs-file with BassAudioSource("Sample.flac") into Foobar won't even load.
1 bass.dll also supports Tracker Audio (MOD/IT/XM/etc), but not through Avisynth. I guess Avisynth is limited to sample audio.
All of this happens because of foo_input_avs. Converting an audio file through Avisynth (no matter the ...Source()) with BeHappy works just fine. Playing the avs-file with Media Player Classic works fine too.
So to sum up...
If you want to convert audio files through Avisynth with Foobar, DON'T copy the content of BeHappy's plugins directory to Avisynth's plugin directory! Use Loadplugin("X:\BeHappy 0.2.5.30809\plugins\BassAudio.dll") instead. But even then, you have to settle for WAV/AIFF/MP3/MP2/MP1/OGG support only as far as BassAudio is concerned. Want to convert from FLAC for instance through Avisynth, use BeHappy.
tebasuna51
31st January 2012, 13:21
Sorry but I can't reproduce your problem.
Working with XP SP3, Foobar2000 1.1, foo_input_avs 0.2 or 0.3, BassAudio.dll + Bass.dll + Bass_*.dll in AviSynth plugins folder or loaded from other folder, always work fine playing FLAC with BassAudioSource("x:\path\sample.flac")
Maybe with other OS, or in countries than need Unicode support to read filenames, the old BassAudio.dll method to load bass_*.dll don't work with foo_input_avs.
I can't test anything here.
I only can supply the BassAudio.dll source if you want modify something:
CoRoNe
31st January 2012, 17:31
Remarkable! I'm using WinXP SP3 (english) and foobar 1.1 too, but the situation is still the same over here. Updating foobar to 1.1.10 didn't help either. I've done some testing again this afternoon and...
- Loading everything the Bass supports (including ALAC for example, of which there's initially no additional bass-plugin in the BeHappy plugins directory) with BassAudioSource() and feeding the avs-file to MPC-HC works flawlessly IN ALL CASES. Not even Loadplugin("BassAudio.dll") is needed.
- But then foobar. I emptied my Avisynth plugins directory and copied BassAudio.dll, bass.dll and every bass_*.dll from the BeHappy plugins directory. No fatal memory crashes upon playing an avs-file, but they returned the moment I put back all my other Avisynth plugins.
I've also manually collected updated versions of bass.dll and every bass_*.dll and put them in the Avisynth plugins directory, again emptied beforehand. To my surprise this worked as well, but, updated versions or not, it only worked for bass.dll. None of the additional plugins ever worked in foobar. And of course when I put the Avisynth plugins back, the memory crashes were back as well.
However, when I load BassAudio.dll (again along with updated versions of bass.dll and bass_*.dll) straight from the BeHappy plugins directory and I drag an avs-file into foobar it crashes immediately! Application Error. The instruction at "0x084107f1" referenced memory at "0x084107f1". The memory could not be "read". (hexadecimal numbers are different every time)
Luckily loading BassAudio.dll straight from the BeHappy 0.2.5.30809 plugins directory (bass.dll etc. untouched) does work, but only for bass.dll (WAV/AIFF/MP3/MP2/MP1/OGG). When I drag an avs-file, pointing to a FLAC or WV file through BassAudioSource(), to foobar's playlist nothing happens, nothing is loaded. This happens and happened in all scenarios.
I now realize I've already told all this in the bugreport, but oh well :P.
I just can't figure it out. Thx for the source files, but too bad I don't have such programming qualities.
The fact that I'm using a portable foobar install doesn't have anything to do with it I hope?
tebasuna51
1st February 2012, 18:29
...
The fact that I'm using a portable foobar install doesn't have anything to do with it I hope?
I'm using a portable foobar install too.
I forget to say: XP 32 bits, AviSynth 2.5.8 (no MT)
CoRoNe
1st February 2012, 18:39
Then I guess I have to accept my Windows installation is f*cked, or my physical RAM is beginning to fail.
CoRoNe
2nd February 2012, 21:32
tebasuna51, although it's officially not listed on the un4seen website, could you please have a look if you can get bass_tak.dll (http://www10.plala.or.jp/nig/monooki/bass_tak_2.4.zip) (via http://blog.livedoor.jp/nig_luce/archives/51303211.html) to work with BassAudio? Most likely tak_deco_lib.dll (http://thbeck.de/Download/TAK_2.2.0.zip) is needed too.
And if it's not too much of a hassle, support for bass_ofr (http://www.un4seen.com/download.php?z/2/bass_ofr24) would be cool too. OptimFROG.dll (http://www.losslessaudio.org/Downloads/OptimFROG_All_Windows_x86_4910b.zip) would be needed too.
tebasuna51
2nd February 2012, 23:36
Support new bass_*.dll libraries is easy, only edit "BasAudio.extension" file and add new lines like:
<SupportedFileExtension>EXT</SupportedFileExtension>
Long time ago I test OptimFROG without problems.
Each user can add/delete libraries to have only the needed ones and avoid load unnecesaries dll's
CoRoNe
3rd February 2012, 01:01
The "BasAudio.extension" file is for BeHappy. I'm talking about BassAudio only.
At first I also thought all bass_*.dll could be called forth through BassAudioSource() without having to change BassAudio, and I can confirm...everyone of 'em works (flac,wv,ape,tta, heck even cd's; BassAudioSource("E:\Track01.cda")), but just not ofr and tak.
Now, if bass_tak.dll is buggy, that could be a reason why it's not listed on the un4seen website and use of it is discouraged, but I just can't open OptimFROG files with BassAudio either! That's why I asked you to have a look.
I can give you two samples I made myself:
- http://www.degeelebosch.nl/reino/Across the River_sample(2ch).ofr
- http://www.degeelebosch.nl/reino/Across the River_sample(2ch).tak
Confirmed to play perfectly through DirectShow with DC-Bass Source Filter (http://dsp-worx.de/?n=15) (also uses OptimFROG.dll) and TAK DirectShow Source Filter (http://www.liviocavallo.altervista.org/) (also uses tak_deco_lib.dll).
tebasuna51
4th February 2012, 18:51
First I updated all dll's to last version in www.un4seen.com (bass.dll 2.4.8, ...).
After some test I see there are two times than OptimFROG.dll/tak_deco_lib.dll was needed:
- When BassAudio.dll load bass_ofr.dll/bass_tak24.dll a error message is sended if don't found OptimFROG.dll/tak_deco_lib.dll in same folder than bass_* or in env path (ie: c:\windows\system32). But the proccess can continue and ...
- At decoder time the proccess abort if don't found OptimFROG.dll/tak_deco_lib.dll in same folder than input file or in env path (ie: c:\windows\system32)
Then don't work with OptimFROG.dll/tak_deco_lib.dll only in plugins folder but work for me with OptimFROG.dll/tak_deco_lib.dll in c:\windows\system32
Tested with BeHappy and Wavi with:
wavi Test.avs Test.wav
and Test.avs:
#global OPT_AllowFloatAudio=True # Needed if you want 32 bits float output
#LoadPlugin("D:\bass24\BassAudio.dll") # Needed if don't exist dll's in AviSynth plugins folder
#bassAudioSource("D:\bass24\Samples\Across the River_sample(2ch).ofr") # Or
bassAudioSource("D:\bass24\Samples\Across the River_sample(2ch).tak")
CoRoNe
4th February 2012, 21:29
So you're saying, having OptimFROG.dll and tak_deco_lib.dll in the same directory as bass.dll and bass_*.dll should be enough to you let play ofr- and tak-files through BassAudio? I've had these 2 library files in the BeHappy plugins directory right from the start, but no ofr- or tak-file would open. Luckily having copied them to the system32 dir has finally proven successful, so :thanks: a lot for that!
BUT, although I don't have the programming skills...it looks like in this part of bassAudio.cpp the only place to look for additional libraries is the Windows\System32 directory, isn't it?
// load plugins
{ // look for plugins (in the executable's directory)
WIN32_FIND_DATA fd;
HANDLE fh;
*fp = NULL;
strcat(fp,"bass_*.dll");
fh=FindFirstFile(fileName,&fd);
if (fh!=INVALID_HANDLE_VALUE)
tebasuna51
5th February 2012, 01:00
So you're saying, having OptimFROG.dll and tak_deco_lib.dll in the same directory as bass.dll and bass_*.dll should be enough to you let play ofr- and tak-files through BassAudio? I've had these 2 library files in the BeHappy plugins directory right from the start, but no ofr- or tak-file would open.
No, I say:
"don't work with OptimFROG.dll/tak_deco_lib.dll only in plugins folder"
"but work for me with OptimFROG.dll/tak_deco_lib.dll in c:\windows\system32"
BUT, although I don't have the programming skills...it looks like in this part of bassAudio.cpp the only place to look for additional libraries is the Windows\System32 directory, isn't it?
BassAudio load only bass_*.dll, but external dll's OptimFROG.dll/tak_deco_lib.dll are loaded by bass_ofr.dll/bass_tak24.dll, and I don't know how change this.
CoRoNe
8th February 2012, 18:46
In the meantime I haven't been sitting still:
http://www.un4seen.com/forum/?topic=13442.0
tebasuna51, when you read Ian's post from today in the link above, do you think it's possible for BassAudio to assign the plugins directory to function as a sort of working directory?
tebasuna51
9th February 2012, 01:56
... do you think it's possible for BassAudio to assign the plugins directory to function as a sort of working directory?
Nope.
BassAudio.dll load bass.dll and all bass_*.dll in BassAudio.dll directory.
At this moment bass_ofr/tak seems check (but not load) if exist the external dll's in the same directory or in DLL search path, if not exist send a error message.
At the moment of decoder process AviSynth set the working directory to the directory of the .avs file, but seems read also the directory of the sample to decode. Now if the needed external dll exist in the sample directory, or the .avs directory, or in DLL search path, AviSynth load the dll and decode the sample without problems.
I thing the correct way is use the AviSynth LoadDll function, the other option is put the dll's in the DLL search path (in windows\system32 or adding your "plugins" directory to the PATH environment variable)
CoRoNe
9th February 2012, 11:50
...or adding your "plugins" directory to the PATH environment variable)You mean the GetSystemEnv plugin from Stickboy (http://avisynth.org/stickboy/)?
SetWorkingDir("D:\BeHappy 0.2.5.30809\plugins(updated)\")
Loadplugin("BassAudio.dll")
#BassAudioSource("D:\TEST files\Audio\Across the River_sample(2ch).wv")
#BassAudioSource("D:\TEST files\Audio\Across the River_sample(2ch).ofr")
BassAudioSource("D:\TEST files\Audio\Across the River_sample(2ch).tak")
This doesn't work for me:
LoadPlugin: unable to load "BassAudio.dll", error=0x7e
tebasuna51
9th February 2012, 15:00
No.
I say modify the PATH environment variable, adding your "plugins" directory.
I put the procedure in spanish because I don't now the exact literals in english:
Rightclick over 'Mi PC' -> 'Propiedades' -> Tab 'Opciones Avanzadas' -> 'Variables de entorno' -> 'Variables del Sistema' -> Path -> Modify -> and add at the end ";D:\BeHappy 0.2.5.30809\plugins(updated)"
CoRoNe
9th February 2012, 17:58
Oooh, this one you mean:
http://www.7three.com/blog/wp-content/uploads/2008/01/environment-variables-full.gif
Long time ago since I last had to use that one, but yeah, when I add the plugins directory, I can indeed open OptimFROG and TAK files. BUT imo this is yet another method, just like LoadDll, which shouldn't be necessary in the first place. Every time the path to the plugins directory changes you have to either change the LoadDll entry in the Avisynth script, or change the system variable.
Seeing BassAudio can't change this, I guess the only option left is changing bass_ofr.dll and bass_tak.dll.
Thanks so far tebasuna51.
CoRoNe
10th February 2012, 18:50
Ian @ un4seen: I think it would be far simpler/better to make a small modification to the BassAudio.DLL, to have it set the current directory before loading the BASS add-ons, something like this...
char dir[MAX_PATH];
GetCurrentDirectory(sizeof(dir), dir); // get current directory
SetCurrentDirectory(...); // set current directory to the plugins directory
// load BASS add-ons via BASS_PluginLoad here
SetCurrentDirectory(dir); // restore current directoryCould this be of any help, tebasuna51?
I was just thinking; To open ofr- and tak-files with BeHappy, you would first have to add...
<SupportedFileExtension>ofr</SupportedFileExtension>
<SupportedFileExtension>tak</SupportedFileExtension>
...to BassAudio.extension, but because BeHappy doesn't allow you to edit the Avisynth script it creates in the background (to add LoadDll("tak_deco_lib.dll") for instance), you're left with, either putting the secondary DLLs (as Ian calls them) in the app's- or system32-directory, or add the path of the plugins directory in the environment variable. Not really practical.
In my opinion it would really help if BassAudio.dll would automatically load a secundary dll if a bass_*.dll needs it, especially for BeHappy users!
Gavino
10th February 2012, 19:36
Could this be of any help, tebasuna51?
tebasuna has already explained in post #995 why this will not work:
Nope.
BassAudio.dll load bass.dll and all bass_*.dll in BassAudio.dll directory.
At this moment bass_ofr/tak seems check (but not load) if exist the external dll's in the same directory or in DLL search path, if not exist send a error message.
At the moment of decoder process AviSynth set the working directory to the directory of the sample to decode. Now if the needed external dll exist in the sample directory, or in DLL search path, AviSynth load the dll and decode the sample without problems.
However, I'm not sure what you (tebasuna) mean by "AviSynth set the working directory to the directory of the sample to decode". The working directory will be the one containing the script, not the audio file.
vBulletin® v3.8.5, Copyright ©2000-2012, Jelsoft Enterprises Ltd.