View Full Version : BeHappy - AviSynth based audio transcoding tool (UPD 19-07-2006)
tebasuna51
18th July 2011, 02: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, 16: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, 21:51
Please explain your test.
How output the audio from PC?
spdif, hdmi, 6 analogic output?
BlueCup
26th July 2011, 06: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, 09: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, 07: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, 07: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, 10: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, 10: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, 09:05
Everything worked without a hitch, thank you so much for the help.
BlueCup
9th August 2011, 19: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
9th August 2011, 23:04
You must install AviSynth properly (I don't use W7), not put the values into the Registry manually.
BlueCup
11th August 2011, 17: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, 22: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, 10:43
You are welcome.
flapane
15th October 2011, 21: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, 00: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, 10:03
Thanks a lot!
Richard1485
17th October 2011, 21:53
Is there are a way to downmix multichannel audio to stereo and in the process discard the centre channel?
tebasuna51
18th October 2011, 02: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)
Richard1485
18th October 2011, 21: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!
Richard1485
29th October 2011, 19: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.
Richard1485
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.
Richard1485
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.
Reino
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:
Reino
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)
Reino
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.
Reino
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
Reino
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")
Reino
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.
Reino
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)
Reino
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)"
Reino
9th February 2012, 17:58
Oooh, this one you mean:
https://upload.wikimedia.org/wikipedia/en/b/be/Environment_Variables.png
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.
Reino
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.11, Copyright ©2000-2025, vBulletin Solutions Inc.