DeWss. Dual Dos/Windows Version 1.xx by Mikero
ReadMeGeneral contains important information regarding installation and usage that is not repeated, ad-nausea, for every application, including this one.
All Mikero tools 'behave', install, and operate in an identical manner. Learn once.
You are strongly advised to read it, or go play outside.
A sound file is a wss, wav, or ogg. All are treated equally.
DeWss converts any sound file to any one of the other types.
If that's all you require then Either:
- Simply drop a soundfile onto the exe. OR
- via a dos console
Either method will produce Soundfile'.wav or Soundfile.wss in the same folder and you can now stop reading. <grin>
- The dll treats wss or wav and ogg as mutually equivalent. What this means is (for example) you can create a 4bit nibble wss from either existing wss, wav or ogg.
- You can resample any file.
- You can play audio feedback of the original source, or the result.
- Dewss will tell you the amount of play time in seconds. I valuable need for configs and scripting.
- stereo wss compression..
- AutoCorrection of mistakes in wss files. Not all were born equal.
Dropping a sound file onto the exe will automatically produce a result. Eg wss is automatically written back as wav, and vice versa.
Dropping a sound file onto an opened gui will allow you to inspect or change it.
sound playback is accomplished by file association with an external playback program such as Microsoft's Windows Media player.
For wav files: Microsoft's Windows Media player or Winamp or ITunes.
For wss files: you need to install either Bis Arma2 Tools or Bis Arma3 steam tools.
For ogg, a suitable plugin, or VLC
The nitty gritty
Some things you might like to know.
- WAV is not meant to be played. It is a only convenience that it can be.
- WSS is a good format for reducing the footprint of your missions and addons.
- OGG is used for stereo files and voice (dubbing) and is the best in the game for compression. Where possible, simply use ogg in preference to wss.
The corner stone of all audio is pcm (pulse code modulated) data.
WAV files are the industry standard sound recording, file interchange, and file storage format for raw pcm data.
wav files can also contain huge chunks of extraneous data used only by the maker of the audio creation tool. This extraneous data has no meaning to audio playback and is quite useless outside of the unique editor that created the wav file.
- Wss stores only pcm data.
There is an immediate benefit then converting wav to wss. The amount of benefit varies from a few bytes to enormous.
In addition, wss can optionally be compressed reducing the file size again, by as much as 75% of it is already stripped state.
If you understand above, you will understand that uncompressed wss might dramatically reduce your file size. Compressed wss will, dramatically reduced your file size in addition to simply making it wss in the first place.
Compressed wss comes in two flavors. Byte compressed and Nibble compressed. Each, respectively, halve, or quarter the file size, with, some loss of quality.
- Nibble compression is very acceptable for the usual run of engine sounds, bullets and other such effects.
- compressed stereo files are not as good a quality as they should be due to a design oversight.
Windoze mode is accomplished simply by clicking on the exe. OR, passing no parameters to the exe when in a dos console.
The gui should be self explanatory.
The various options allow you to resample, and/or convert from one format to any other format.
More powerful use of this tool is restricted to the dos console version where entire folders can be converted in one go.
Selecting output type
Any file type can be converted to another. In the case of wss, it can be converted to another type of wss
Note that for wss compression, Input must be 16bit
Input must be 16bit.
Resampling can be done to any file. Note Carefully, there is no parachute. The input file is affected.
Resampling is another method of compressing the original file by reducing the samples per second. I can be used in conjunction with wss or ogg compression.
Dropping from a 'standard' rate of say 24000 to 8k will reduce the size by 1/3d (and etc)
Obviously, ymmv. And again note carefully the lack of a parachute
currently selected file produces lip sync (.lip) regardless of input type. Must be 16bit mono.
Dos Mode: Alias the Penguin.
Dos mode occurs by being in a dos prompt to begin with OR, via a batch command (.bat or .cmd processing).
Dos mode allows very fine grain control -options, and speed, in what you want to achieve.
Like all dos tools, DeWss can utilise the powerful analytics available in the dll to achieve quite a bit more than simple output.
With that ability comes the responsibility to know your stuff, and to that end, like all dos tools, DeWss uses backus naur syntax to process what it is you actually want to achieve.
DeWss [-options...] SourceFileOrFolder[.wss|.wav] [DestinationFileOrFolder [.wav|.wss] ]
- specifying a .wss or wav extension is not required.
-options caseINsEnsITIve, multiple -option arguments, AND/OR concatenated options are both are permissible
-L: List Wss Header(s)
-LX: List Wav Header(s)
-L*: List all sound Header(s)
- Decompress Analyze
-P : Do not pause on error
-W : Warnings are errors
-Y : Yes to all
-V : Verbose (shows full path)
- no recurse dir
-B: make backup(s)
wss -> wav: (default)
DeWss SourceFile[.wss] DestFile[.wav]
DeWss SourceFile[.wss] DestFolder
DeWss SourceFile[.wss] DestFolder\\DestFile[.wav]
DeWss WssSourceFolder WavDestFolder
DeWss -L SourceFile[.wss] //List wss header;
DeWss -L SourceFile.wav //List wav header;
DeWss -L WssFolder //List wss headers
DeWss -LX WavFolder //List wav headers
DeWss -LB WssWavFolder //List both headers//not implemented
DeWss "wav -> wss:
DeWss SourceFile.wav [Folder etc] //Write an uncompressed wss file
DeWss -0 SourceFile[.wav] [Folder etc] //Write an uncompressed wss file
DeWss -8 SourceFile[.wav] [Folder etc] //Write a byte compressed wss file
DeWss -4 SourceFile[.wav] [Folder etc] //Write a nibble compressed wss file
There are no safety checks. If you choose to overwrite existing files, it is your problem.