View Full Version : SoundOut 1.1.1 - Sound Output Plugin [10/15/07]
sh0dan
30th December 2006, 21:20
SoundOut is a GUI driven sound output module for AviSynth. It has been made because to make sound export easier. It is not meant to replace tools like BeHappy or other advanced audio encoding GUI's, but it is meant to be easy and fast to use.
The filter will probably be included in AviSynth 2.6, but it works nicely with AviSynth 2.5.
Currently the supported file formats are:
* AC3
* MP3
* MP2
* OGG
* WavPack
* FLAC
* Monkey Audio Codec (APE)
* Microsoft WAV format
* Apple/SGI AIFF format
* Sun/NeXT AU format
* RAW PCM data
* Sonic Foundry's 64 bit RIFF/WAV (WAVE64)
* Core Audio File format
* Broadcast Wave Format (BWF)
* Command Line encoding.
Add SoundOut() to your script, where you would like to export audio. A GUI should pop up, when you open your script.
The main GUI window looks like this:
http://klauspost.googlepages.com/soundout1.gif
An encoding property window:
http://klauspost.googlepages.com/soundout4.gif
It is possible to use SoundOut as an ordinary filter, running inside the script and giving parameters for each output mode. The parameters consists of two things: General Parameters, which can be used for all filters, and filter specific parameters, which gives parameters to the active output module.
Feel free to report problems, requests and comments here.
Changelist:
v1.1.1
- Downgraded FLAC to v1.2.0, to avoid backwards incompatible 24 bit files.
- Conversion tune-up.
- OverWriteFile set to "No" was not respected.
- Client sample requests shown in GUI.
v1.1.0
- Added WavPack output module.
- Added Sample type selection to WAV Output.
- Updated FLAC to v 1.2.1 - 24 bit/sample seems broken, so only 8 & 16 bit are enabled.
- Fixed bug in FLAC to enable files larger than 2GB.
- FLAC now uses the same GUI as other filters.
- Aften updated.
- Re-enabled Aften multithreading.
- Faster 3DNOW! float to 24 bit conversion.
v1.0.3
- Vorbis, AC3 and MP3 now checks if file can be created.
- Fixed hang in aften on multiprocessor machines.
- Added wait parameter, how many seconds should SoundOut wait on autoclose.
- Avoid lockup if encoder cannot be initialized and set for direct output.
- Fixed OverwriteFile was not always being respected.
v1.0.2
- Updated libaften to rev534.
- Fixed overwriteFile not being recognized in script.
- Fixed crash if mp2 file could not be opened for writing.
- Exit blocked, even if filter is (almost) instantly destroyed, if script is set for output.
- AC3 is now reporting the actual samples encoded (including padding).
v1.0.1
- Updated libaften to rev. 512.
- Added overwriteFile="yes"/"no"/"ask". Default is Ask.
v1.0.0
- The application will not exit, as long as an encode window is open.
- Fixed "nofilename" not being recognized in script.
- LFE no longer overridden by registry, when using GUI.
v0.9.9
- Added ReplayGain calculation to Analyze.
- Parent filters are now blocked, or silent samples are returned, if the filter is currently exporting sound.
- Video is automatically added, if none is present. (black 32x32 RGB32)
- Buttons for export are disabled when output window is open.
- Main window is now minimized when export module is selected.
- Fixed Analyze bug on 16 bit samples.
- Fixed WAVEFORMATEXTENSIBLE channel mapping in Commandline Output.
- AC3 output: LFE option disabled when not relevant.
- AC3 output: LFE option named properly.
v0.9.8
- Added Analyze option to calculate average, maximum and RMS levels. Only available through GUI.
- WAVEFORMATEXTENSIBLE in commandline out attempts to set channel maps based on channel number.
- Fixed thread race issue on very fast encoders.
- Minor GUI tweaks.
v0.9.7
- Added channelmapping to AC3 output.
- Added LFE channel indicator switch to AC3 output.
- GUI now spawned in a new thread, fixing GUI lockup in foobar2000 and similar.
- Fixed general thread race issue, where a fast encoder might lead to incomplete output.
- Fixed WAVE_FORMAT_EXTENSIBLE header without info in CmdLine Output.
- Fixed "Format" not working on Commandline output.
- Fixed Filename dialog not appearing.
- Forced final samplereading to be correct.
- Removed "private" option from MP2 GUI and script, as there is no way to set it via twolame.
- Removed DAB Extensions from MP2 GUI, as TwoLame reports it as not functioning.
v0.9.6
- Added complete script customization.
- Added possibility to set output file from script.
- Added window autoclose option to script.
- Added option to script to disable progress window.
- GUI creates message handle thread.
- Settings are now saved to registry if output filter initializes successfully.
- Updated documentation.
v0.9.5
- Added Broadcast WAVE out.
- Fixed OGG Vorbis support.
- Fixed Text fields not being correctly read.
- Fixed AC3 settings not being restored properly.
- Added: MP2 settings are now saved.
v0.9.4
- Added OGG Vorbis support.
- Added: Parameters stored (on save) and read to registry.
- Added: "No filename needed" option in commandline output, to disable output filename prompt.
- Fixed collision between libaften and libvorbis.
- Updated libaften to rev 257.
- Enabled SSE optimizations in libaften.
- Hopefully fixed issue with commandline executable filename becoming garbled.
v 0.9.3
- Added Commandline piping output.
- Added MP3 / LAME output.
- Fixed AC3 VBR Error sometimes wrongly being displayed.
- Fixed AC3 DRC Setting not being respected.
- Various GUI bugfixes.
v 0.9.2
- Updated AC3 GUI.
- Fixed crash in WAV output.
- More stats during conversion.
v 0.9.1
- Added AC3 Output.
- Extension automatically appended, if none is given.
- Added new parameter handling.
- Fixed last block not being encoded.
- Added WAV peak chunk, as an option.
Download from here: http://klauspost.googlepages.com/SoundOut-1.1.1.zip
Kurtnoise
31st December 2006, 09:39
Sounds good...:)
Some requests :
Add a boolean argument in SoundOut() to enable/disable gui.
Add a new argument in SoundOut() to pass command line and codec name.
Add an argument to close the gui when process is finished.
Something like:
SoundOut(clip, bool "gui"=false, string "codec"= MP2, string "cmd"=-j )
Don't know if it's doable but it sounds interesting...btw, I'm waiting mp3 and vorbis support.
buzzqw
31st December 2006, 11:16
it is very Very VERY interesting... a way to elimitate bepipe and not only !(not a bad program at all... just for .net..)
a truly excellent work Sh0dan ! :thanks:
i fully agree with Kurtnoise13 about request.. in particular
Add a new argument in SoundOut() to pass command line and codec name.
just an information... the resampleaudio/normalize/ssrc fuction how will must used ?
before invoking SoundOut() right ?
thanks again
BHH
sh0dan
31st December 2006, 15:35
@Kurtnoise13: Good ideas. I have an almost similar plan right now, but implementing codecs with their GUI is first priority. I have to re-do options, since I completely bypass the command-line interface.
Vorbis is next on the list. :)
@buzzqw: Yes - you have to prepare the sound before invoking the plug-in. I have chosen not to implement features that duplicate AviSynth behaviors (like resampling, channel numbers, etc).
The current to-do list:
* More codecs.
* Store settings in registry, so they are remembered.
* Presets.
* Modify settings from script.
* Make it even easier to use. :)
tebasuna51
31st December 2006, 21:10
Sorry by my AviSynth ignorance but after make an avs file like, for instance:
WavSource("d:\test.wav")
ssrc(44100)
SoundOut()
What is the app to open this avs?
sh0dan
1st January 2007, 13:36
@tebasuna51: Exactly. You can open it in any application that supports AviSynth - Virtual dub, Media player, etc.
tebasuna51
1st January 2007, 17:03
Whit:
-VirtualDub 1.6.17:
Error: No video stream found
The dialog window pop up isn't open.
-Media Player Classic (XP):
Pop up window ok, with correct Sound Info.
Click in Save WAV/AIF/CAF
Wav type: Microsoft WAV
Save As... dialog (we must write the extension, isn't added automatically)
Finished...
Result: a wav header without data (correct datalength=0)
the wav header have a subchunk 'fact' correct but unnecessary.
the wav header have a subchunk 'PEAK' not standard, unnecessary and potentially dangerous.
Wav type: MS WAVE with WAVEFORMATEX
Same problems: without data (only header) and unnecessary subchunks 'fact' and 'PEAK'.
Wav type: RAW PCM
Of course the result is a empty file.
Save MP2:
Empty file
Save FLAC:
86 bytes header.
Save APE:
128 bytes file.
foxyshadis
1st January 2007, 17:14
Maybe there's some requirement in MPC (or SoundOut?) to have a blankclip as long as the audio, like virtualdub.
tebasuna51
1st January 2007, 18:43
Same results in mpc with:
WavSource("D:\test.wav")
AudioDubEx(BlankClip(length=Int(1000*AudioLengthF(last)/Audiorate(last)), width=32, height=32, pixel_type="RGB24", fps=1000), last)
SoundOut()
Now work with VirtualDub, the outputs is only headers but without the undesired subchunks 'fact' and 'PEAK'.
Resume the problems:
- The Save As... dialog don't fill the extension
- The wav headers can vary with the app
- Data empty
- With Media Player Classic: undesired subchunks in header
- With VirtualDub need a video clip
sh0dan
1st January 2007, 23:00
@tebasuna51: I cannot reproduce the empty output files. Seems very weird. It must be a crash in the encoder thread. Would it be possible for you to make something I can use to reproduce?
I'll look at the WAV headers. It seems like it is possible to disable the peak header. The auto-extension is also one of the things I'll look at.
This should be enough to add video. Since the video length isn't considered:
AudioDub(BlankClip(), last)
tebasuna51
2nd January 2007, 03:58
@tebasuna51: I cannot reproduce the empty output files. Seems very weird. It must be a crash in the encoder thread. Would it be possible for you to make something I can use to reproduce?
I don't know how make something to reproduce. My test file is very simple, a verified wav file:
******************************** 02/01/2007
LeeWavBi 1.0 analizando
el fichero de 11520044 bytes:
D:\Internet\AudioTest\SoundOut\6c_16ip.wav
-------------------------------------------
ChunkID .....: RIFF
ChunkSize ...: 11520036
Format ......: WAVE
Subchunk1ID .: fmt
Subchunk1Size: 16
AudioFormat .: 1 (Integer data)
NumChannels .: 6
SampleRate ..: 48000
ByteRate ....: 576000
BlockAlign ..: 12
BitsPerSample: 16
OffsetData ..: 45
DataLength ..: 11520000
Duration ...: 20 sec., (0h. 0m. 20 s.)
-----------------------------------------
You know the avs, tested with/without ssrc() and with only AudioDubEx(BlankClip(), last).
I use AviSynth 2.5.7 RC-3 [Dec 31st] now.
As you can see in this image:
http://img260.imageshack.us/img260/3958/soundout01wu1.png (http://imageshack.us)
The Sound Info is correct and the Conversion status don't show any error and seems finished ok. The output header is also correct but without data.
Edit: the same problem with stereo wav.
hanfrunz
3rd January 2007, 13:33
i am curios and have no avisynth-computer here... what would happen if you shuttle through the video when played back? Is this also saved to the output file? Or does the filter request all frames/samples once and writes them? And where can i find the sourcecode?
tebasuna51
3rd January 2007, 14:42
what would happen if you shuttle through the video when played back? Is this also saved to the output file? Or does the filter request all frames/samples once and writes them? And where can i find the sourcecode?
I'm not sure if you ask me, but:
If I load in VirtualDub this avs:
WavSource("D:\Internet\AudioTest\SoundOut\2c_16ip.wav")
AudioDubEx(BlankClip(length=Int(25*AudioLengthF(last)/Audiorate(last)), width=32, height=32, pixel_type="RGB24", fps=25), last)
ssrc(44100)
SoundOut()
forgetting the SoundOut window, and using VirtualDub controls,
the audio is played correctly and with Save As... is saved correctly.
The audio can be extracted (Save wav) from the output video and is exact to input audio but 44100 Hz.
sh0dan
3rd January 2007, 17:51
@tebasuna51: I have added some more security and debugging information, but I'm in the middle of adding AC3 and new parameter handling, so I can't release a new version just yet - but I'm definitely looking into the issue.
@hanfrunz: Video should pass through the filter, and encoding is done in two separate threads, so you can export sound while you are encoding, if that's what you'd like.
Source is in the 2.6 branch:
http://avisynth2.cvs.sourceforge.net/avisynth2/avisynth/src/plugins/SoundOut/?sortby=date&pathrev=avisynth_2_6
GUI Resources have been created using a free tool called "resED", so the project can be used with VC 2005 Express.
http://www.radasm.com/projects/projects.html
sh0dan
4th January 2007, 23:37
@tebasuna51: I found the bug, while implementing AC3. The last block of samples will never be encoded, so on small samples, that will create 0-byte files, adn others will miss the end.
I still have to do some testing, but I expect a new version some time this weekend.
tebasuna51
5th January 2007, 03:57
@tebasuna51: I found the bug, while implementing AC3. The last block of samples will never be encoded, so on small samples, that will create 0-byte files, adn others will miss the end.
You are right I need samples > 22 sec to obtain output. Thanks for your job, I wait your new version to make more test. :rolleyes:
sh0dan
7th January 2007, 03:55
New version uploaded, see first post for changes.
I have not spent much time testing, as I expect a new version soon, but there is AC3 output now (more options coming) and there is a rather large bug-fix to ensure the entire sound is exported.
Edit: There is a crash-bug in WAV-out. I'll release a new version later today, as I'm still implementing new stuff.
tebasuna51
7th January 2007, 14:24
My first test with small samples works ok. Also the ac3 encode.
About the ac3 parameters I want send you my opinion:
I know Aften have a lot of parameters and is not convenient show all to end user because can be confused.
The expert user always can use Aften in CLI mode to obtain all of features.
The most know ac3 encoder is Sonic Foundry SoftEncode and I want propose a subset of their parameters to be offered to end user of SoundOut:
- BitRate with Auto option, at least in CLI mode this works (always CBR, we need ac3, instead aac, to provide compatibility with DVD and AVI and VBR don't work, let VBR to expert users)
- Dialog Normalization, the default -31 dB is ok but is a important parameter.
- Dolby Surround Mode, only the user can know if the original sound 2.0 is Dolby ProLogic encoded. Parameter requested in Doom9 forum.
- Dynamic Range Compression, or DRC Profile (in test phase in Aften).
Now some preprocessing options:
- DC high-pass filter
- Bandwidth low-pass filter
- LFE low-pass filter
- 90 degree phase shift for surround channels, not yet implemented in Aften (future option)
There are parameters like 'Use block switching' or 'Accurate Bit-Allocation', and others, not directed to end users but for test or developing purpose.
sh0dan
7th January 2007, 14:42
@tebasuna51: Great to know. I completely agree with what you say! I haven't spent much time with aften, so I don't know what is important. I basicly took a look at aftenGUI, and copied, what seemed important. So you propose to:
* Remove VBR Option?
* Remove Block switch/accurate bitalloc, and leave it at defaults.
* Add Dialog Normalization.
* Add "Dolby Surround Mode" - is this only relevant for 2 channel audio? What about the "EX" DS Modes - are they important?
* Add BW low-pass filter.
* Are mix-levels important? And why are only -3 to -6 available in aftenGUI?
tebasuna51
7th January 2007, 16:36
* Remove VBR Option?
Yes, or warn isn't compatible with standalone DivX/DVD players (and other PC players)
* Remove Block switch/accurate bitalloc, and leave it at defaults.
Yes, Aften isn't finished yet and these parameters are for test.
* Add Dialog Normalization.
The most important parameter with bitrate and DRC.
* Add "Dolby Surround Mode" - is this only relevant for 2 channel audio? What about the "EX" DS Modes - are they important?
Yes is only for 2.0 but is ignored for other number of channels. If the two channels are obtained by a downmix dpl (there are Avisynth functions to do, see BeHappy) we can activate this flag and decoders (soft or hardware) can read this flag an set automatically to dpl mode (recover FL,FR,C,SL,SR).
Activate the DS "EX" Mode flag mean the Surround Center channel is encoded in SL,SR channels. I don't know any free tool to do so, only know commercial encoders with their proper ac3 encoder, then I think is unnecesary now. Maybe, in the future, we can supply 7 channels to Aften and use this flag.
* Add BW low-pass filter.
Really this 3 filters (DC high-pass, Bandwidth low-pass and LFE low-pass) have similar importance and can be implemented before the encoder but if exist can be used all.
* Are mix-levels important? And why are only -3 to -6 available in aftenGUI?
Mix-levels are only the recommended values if the decoder need make a downmix and want accept the info from the encoder. I can't imagine when we need put other than defaults.
The values are discrete because are encoded in BSI stream with only 2 bits for CenterMixLevel or SurroundMixLevel.
sh0dan
7th January 2007, 17:45
@tebasuna51: Thanks for the input. I have modified the GUI. There are some more cosmetic changes and a bugfix.
DeathWolf
17th January 2007, 19:35
any hope of being able to use it with avisynth settings instead of gui? so that it automatically processes without needing user input?
tebasuna51
18th January 2007, 02:53
any hope of being able to use it with avisynth settings instead of gui? so that it automatically processes without needing user input?
Everybody want this.
See previous post from Kurtnoise13, buzzqw, and the sh0dan answer: "I have an almost similar plan right now, but implementing codecs with their GUI is first priority."
We are waiting.
sh0dan
18th January 2007, 15:21
Progress update:
I have done some more work this weekend. I spent a lot of time implementing Command-Line Output - in the process wasting several hours before finding out that LAME stdin encoding is broken on Windows.
Got GUI ready for MP3 and OGG, and beginning implementation soon. I've also done some preparations for non-GUI operation, and preset handling.
There seems to be moderate interest, so I've decided to wait with a release until more features are implemented.
buzzqw
18th January 2007, 15:50
wasting several hours before finding out that LAME stdin
strange... with bepipe or ffmpeg is fully fuctionall (used by bepipe with megui and automkv)
with ffmpeg i successfully encoded with this cmd
ffmpeg.exe -vn -acodec copy -i mkvmaudio.avs -f wav - | lame - aaa.mp3
(in mkvaudio.avs there is nicac3source("audio.ac3",2))
MODERATE INTEREST ?
I have a big interest since i want to drop bepipe !
:thanks: Sh0dan !
BHH
P.S. ffmpeg is working with lame/oggenc2/enc_aacplus BUT not with neroaacenc since it is outputting (i suppose) "raw wav"
(this would just be a tip for your not interesting work :D )
hatte
20th January 2007, 03:59
Had a problem with avs2avi: a DV audio stream wasn't cropped but streched instead. Does SoundOut hanle such streams correctly?
sh0dan
20th January 2007, 14:57
New version up with Command Line and MP3 encoding and a lot of bugfixes.
buzzqw
20th January 2007, 15:41
Thanks Sh0dan !
just a little request... would possible to pass command line options directly to soundout withour using the gui ?
almost all command line encoder accept output file name in command line, would be possibile to have a "Encode" button side by side to "Save As" , using this encode the output file will be written by encoder
BHH
EDIT: command line like SoundOut("aaa.avs",wave="Microsoft Wav",format="Float",encoder="c:\apps\neroaacenc.exe",cmdline="-q 0.5 -if - -of test.mp4")
Thanks again!
buzzqw
20th January 2007, 17:04
got a problem/doubt
... but how to use soundout in a enviroment of true command line encoder ?
let's say this is my avs
let's say this is my avs
LoadPlugin("NicAudio.dll")
NicMPG123Source("audio.ac3")
EnsureVBRMP3Sync()
ConvertAudioToFloat()
#Applyed STEREO downmixing routines
function stereo(clip a)
{
fl = GetChannel(a, 1)
fr = GetChannel(a, 2)
c = GetChannel(a, 3)
lfe = GetChannel(a, 4)
sl = GetChannel(a, 5)
sr = GetChannel(a, 6)
l_sl = MixAudio(fl, sl, 0.2929, 0.2929)
c_lfe = MixAudio(lfe, c, 0.2071, 0.2071)
r_sr = MixAudio(fr, sr, 0.2929, 0.2929)
l = MixAudio(l_sl, c_lfe, 1.0, 1.0)
r = MixAudio(r_sr, c_lfe, 1.0, 1.0)
Return MergeChannels(l, r).Normalize()
}
#
function original(clip a)
{
Normalize(a)
Return last
}
6==Audiochannels() ? stereo() : original()
basically it will output stereo audio. Using this on BePipe is a no problem
but if i add simply SoundOut() the avs isn't playble (even before but this isn't a problem since i want only audio) in virtualdub or with x264.exe or xvid_encraw.exe since it lack of video...
i could trasform to this
LoadPlugin(SoundOut.dll")
LoadPlugin("NicAudio.dll")
audio = NicAC3Source("audio.ac3")
video = blankclip(10000) #a must since i don't have video !
audio = EnsureVBRMP3Sync(audio)
audio = ConvertAudioToFloat(audio)
#Applyed STEREO downmixing routines
function stereo(audio)
{
fl = GetChannel(audio, 1)
fr = GetChannel(audio, 2)
c = GetChannel(audio, 3)
lfe = GetChannel(audio, 4)
sl = GetChannel(audio, 5)
sr = GetChannel(audio, 6)
l_sl = MixAudio(fl, sl, 0.2929, 0.2929)
c_lfe = MixAudio(lfe, c, 0.2071, 0.2071)
r_sr = MixAudio(fr, sr, 0.2929, 0.2929)
l = MixAudio(l_sl, c_lfe, 1.0, 1.0)
r = MixAudio(r_sr, c_lfe, 1.0, 1.0)
audio = MergeChannels(l, r)
}
#
function original(audio)
{
audio=Normalize(audio)
}
6==Audiochannels(audio) ? stereo(audio) : original(audio)
audiodub(video,audio)
soundout()
this is perfectly playable in virtualdub BUT i cannot use with x264.exe or xvid_encraw or mplayer/mencoder...
what could be the solution (beside using virtualdub) ? :scared:
BHH
Kurtnoise
20th January 2007, 18:15
Thanks Shodan for the new build...:)
All seems to work fine here except CommandLine output. Whatever my .exe is specified, I've got always the same error message "Couldn't find executable...in C:\Program Files\Avisynth 2.5\plugins\SoundOut" and transcode can't to be done. Whats wrong ?
this is perfectly playable in virtualdub BUT i cannot use with x264.exe or xvid_encraw or mplayer/mencoder...
what could be the solution (beside using virtualdub) ? :scared:
Use 2 avs scripts : one for video encoding and the second one for audio transcoding.
sh0dan
20th January 2007, 18:39
@buzzqw: Yes - all options will be available by script.
Regarding the playability issue, I'm not sure I get your point. Soundout will pop up, if it is inserted into the script, and the script is opened - it's as simple as that.
It could be made so that it automatically inserts blank frames if there is no video, but it doesn't really make it different from using audiodub with a blank clip. Could you elaborate on "i cannot use with x264.exe or xvid_encraw or mplayer/mencoder...", as I don't know what the issue is?
@Kurtnoise13: Have you tried selecting a file with full path. For executables without path place them in a subdirectory called "Soundout" in your plugin directory.
Edit: Implemented "No output file" mode in Cmdline out, and fixed a hang when an error occurred while initializing the output command. Will be in next version, which will most likely also have OGG out.
Kurtnoise
20th January 2007, 19:23
@Kurtnoise13: Have you tried selecting a file with full path. For executables without path place them in a subdirectory called "Soundout" in your plugin directory.
Yes, I tried (full path & in /plugins/SoundOut dir) and it seems doesn't work for me...
http://img413.imageshack.us/img413/9682/soundout14jv.th.png (http://img413.imageshack.us/my.php?image=soundout14jv.png) http://img413.imageshack.us/img413/1416/soundout20bl.th.png (http://img413.imageshack.us/my.php?image=soundout20bl.png)
buzzqw
20th January 2007, 20:37
@Kurtnoise13
i am already use 2 script, one for video and one for audio
the tipical script for audio is like the first one i posted (these without blankclip).
i invoke bepipe , pass this script and piping the output to lame/neroenc/oggenc2...
@Sh0dan
the question seems be stupid but... how to open the script?
take this script as example (audioscript.avs)
LoadPlugin("NicAudio.dll")
LoadPlugin("SoundOut.dll")
nicac3source("test.ac3")
AudioDubEx(BlankClip(length=Int(25*AudioLengthF(last)/Audiorate(last)), width=32, height=32, pixel_type="RGB24", fps=25), last)
converttoyv12()
soundout()
in my application (as megui) bepipe will OPEN the audio avs script (as the first one) and output the wav to command line encoder...
With your plugin is SoundOut that output the wav but the avs must be opened in some way, could be virtualdub or media player classic... ok but in my environment i haven't these tools
so how to open the script ?
if i wrote xvid_encraw.exe -bitrate 1000 -type 2 -i audioscript.avs -o aaa.mp4
the encode start but soundout gui is locked, not accessible
if i wrote x264.exe -o NUL audioscript.avs , i got the same result, the soundout window is locked
with mplayer i got a mplayer crash after some seconds of encoding..
WITH VIRTUALDUB IS OK! i can open it and select what i want
i hope to be understud ! :scared:
BHH
sh0dan
21st January 2007, 01:08
@Kurtnoise13: Yes - that definitely looks messed up. It happened once here, but it went away as quickly as it came.
I'll work on it. I have OGG finished, but I would like to have parameter storage in place before the next version.
@buzzqw: Yes - now I see. :)
I have tested on Vdub, VdubMod, MPC, WMP10 and Zoomplayer, and it opens nicely in either of these. WMP 6.4 does have a problem, and it kills the window almost instantly.
Why can't you use any of these? A simple application that opens the script and adds SoundOut sounds like a good idea, but I don't want to reinvent the wheel.
buzzqw
21st January 2007, 10:01
sorry Sh0dan, i don't want to bother but in my applycation (AutoMKV, as you see in sign) i don't use any of those applications (vdub,vdubmod or players...)
thanks anyway, i will continue with bepipe... and so the .net framework is still needed :mad:
great application Sh0dan, just not "perfectly" fit for my needs :)
best regards
BHH
sh0dan
21st January 2007, 11:06
@buzzqw: I'll see if I can come up with a good solution for you. :)
buzzqw
21st January 2007, 11:09
:thanks: :thanks: :thanks: :goodpost:
my Kudos Sh0dan !
BHH
sh0dan
22nd January 2007, 00:54
New version with OGG support, and settings are now being saved to registry when you start encoding (except mp2 for now).
DSP8000
22nd January 2007, 08:41
Thank you for the update sh0dan.
Your efforts are very much appreciated.
Encoding with foobar2000 is broken in 0.9.4 :(
cmd line does not work as well, same error as kurtnoise
Previous versions are working just fine.
Just a suggestion for the GUI, after successful conversion auto close the process window, all encoding formats-option for custom parameters.
tebasuna51
22nd January 2007, 21:34
Thanks for this new version.
For me the ogg output is crispy, unusable.
The command line works (there are some erratic problems) with this encoders (XP_sp1, .NET 2.0):
aften.exe -v 0 -b 192 - <out>
flac.exe -o <out> -
mppenc.exe --standard - <out>
neroAacEnc.exe -q 0.3 -if - -of <out>
oggenc2.exe -Q --quality 1 -o <out> -
twolame.exe -b 192 -m j - <out>
wavpack.exe -h -i -l -m -r -q -y - <out>
enc_aacPlus.exe - <out> --rawpcm 48000 2 16 --cbr 80000 --mpeg2aac
sh0dan
22nd January 2007, 22:47
@DSP8k: How do you encode with f2k?
@tebasuna51: Do you have a short sample? I had some strange results with simple sine sounds, but it seemed more like a strangeness with Vorbis itself.
tebasuna51
23rd January 2007, 01:35
In OggSample.zip (http://www.mytempdir.com/1181148) there are a sample with first 8 seconds bad encoded, also the original wav (first 8 seconds).
With command line (oggenc2) work Ok and much more fast.
There are a input plugin, foo_input_avs.dll (http://workspaces.gotdotnet.com/behappy) by Dimzon, to open avs files in Foobar2000. If the avs have SoundOut() the GUI appears (but not accesible: sandglass, even if pause the play) while the audio is played.
DSP8000
23rd January 2007, 02:20
Thru avs input plugin & play in fb2k.
Just to be on the safe side, today I did some more tests & now fb2k crashes instantly after opening the script.
the GUI appears (but not accesible: hourglass, even if pause the play) while the audio is played.
That's exactly what's happening.
sh0dan
28th January 2007, 18:34
@tebasuna51: Thanks a bundle for the test-case, I found the bug and fixed it. You will also be happy to hear that the Command-line garbling is now also fixed.
@DSP8000: I'm not sure I can fix that, if Foobar 2k doesn't send Windows Dialog Events on to the GUI. I'll see what I can do.
Anyway - there is a new version with bugfixes and BWF support for hanfunz to test. :)
sh0dan
30th January 2007, 22:29
Version 0.9.6 uploaded with complete script customization possibilities and updated documentation. I also made an attempt at solving the hanging GUI problem.
An example of the script syntax could be:
SoundOut(output = "mp3", filename="c:\outputFile.mp3", autoclose = true, showprogress=true, mode = 2, cbrrate = 192)
tebasuna51
31st January 2007, 04:37
Thanks for your hard work. Problems detected:
1) Channelmapping: a GetChannel(1,3,2,5,6,4) is needed to output correct ac3 and ogg multichannel. I think this must be transparent to the end user, Aften have internally mapping routines and work ok in cmdline mode.
2) When save like WAVEFORMATEX work ok, but in CmdLine output wav type WAVEFORMATEX don't fill the haeder correctly:
WAVE_FORMAT_EXTENSIBLE header with correct info in Save WAV/AIF/CAF
Offset | 0 1 2 3 4 5 6 7 8 9 A B C D E F |
---------|--------------------------------------------------|-----------------
00000000 | 52 49 46 46 3C C8 AF 00 57 41 56 45 66 6D 74 20 | RIFF<ȯ.WAVEfmt
00000010 | 28 00 00 00 FE FF 06 00 80 BB 00 00 00 CA 08 00 | (...þÿ.._»...Ê..
00000020 | 0C 00 10 00 16 00 10 00 3F 00 00 00 01 00 00 00 | ........?.......
00000030 | 00 00 10 00 80 00 00 AA 00 38 9B 71 64 61 74 61 | ...._..ª.8>qdata
00000040 | 00 C8 AF 00 | .ȯ.
WAVE_FORMAT_EXTENSIBLE header without info in CmdLine Output
Offset | 0 1 2 3 4 5 6 7 8 9 A B C D E F |
---------|--------------------------------------------------|-----------------
00000000 | 52 49 46 46 3C C8 AF 00 57 41 56 45 66 6D 74 20 | RIFF<ȯ.WAVEfmt
00000010 | 28 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | (...............
00000020 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................
00000030 | 00 00 00 00 00 00 00 00 00 00 00 00 64 61 74 61 | ............data
00000040 | 00 C8 AF 00 | .ȯ.
3) In CmdLine output the output file dialog is missing.
4) Exporting from script:
- In help the parameter 'cbrrate' for ac3 is missing
- With output="cmd" I obtain:
Script error: SoundOut does not have a named argument "format"
5) With output="cmd" and Aften I obtain:
Command Line:"d:\Programa\Audio\0\aften.exe" -b 448 - "d:\xc3.ac3"
Aften: A/52 audio encoder
(c) 2006 Justin Ruggles
Signed 16-bit 48000 Hz 6-channel
progress: 80% | q: 968.4 | bw: 34.0 | bitrate: 448.0 kbps
>PIPE: Input pipe thread killed (EOF)
and
An error occurred during conversion: Encoding aborted before all samples were
delivered (mismatch).
The output file is probably incomplete.
And of course is incomplete, same problem with NeroAacEnc.
DSP8000
31st January 2007, 04:56
Tnx. for the update.
Cmd. line arguments are not passed properly and the conversion fails. I think the cmd. line options should be very similar to the ones in foobar2000, ie. auto generation of input file and output extension based on the encoder chosen.
Yeah, the GUI hanging bug is still there:( , at least mpc is working good.
sh0dan
31st January 2007, 17:15
Thanks for the invaluable testing and very precise feedback, it helps a lot.
1) It would probably make sense to add the channel mapping options to the aften output.
2) Confirmed - I'll look at it. I had to rewrite the WAV writer for piped output, and it doesn't look quite right.
3+4) Confirmed.
5) Strange - do they all die at 80%? And how long are the samples?
tebasuna51
31st January 2007, 19:38
5) Strange - do they all die at 80%? And how long are the samples?
There are only 20 sec. multichannel sample and always at same point with aften, neroaacenc and flac. But this was yesterday.
Today work fine with 20 sec. and 130 min. samples, with Aften, NeroAacEnc, OggEnc2 and flac v1.1.2. Maybe some resident soft in my system, I don`t know.
Thanks.
sh0dan
31st January 2007, 22:54
@tebasuna51: Found the final bug!
@DSP8000: I was a bit more aggressive on fixing the GUI problem, and it now works in foobar2000.
Version 0.9.7 is uploaded. It should fix all the mentioned bugs (and feature requests) :)
vBulletin® v3.8.11, Copyright ©2000-2025, vBulletin Solutions Inc.