Using Ogg Vorbis in a mod - Tutorial, By Seifer |
The Black Wyrm's Lair Terms of Use | Help Search Members Calendar |
Using Ogg Vorbis in a mod - Tutorial, By Seifer |
Aug 25 2004, 01:46 PM
Post
#1
|
|
Black Market Merchant Retired team member Posts: 231 Joined: 10-July 04 From: The inner layer of the Black Wyrm's Cavern |
Music and soundsets - Using Ogg Vorbis format:
By Seifer Introduction This tutorial aims at providing people with a complete recording and installation package for their MOD in ogg vorbis format. Installation, as always, shall be done through the WeiDU TP2. I've been looking at ways of compressing the soundsets and then decompressing back to the override folder into the only format that BGII understands, that is .wav. The problem of the WAV files is that they are huge. You'll need 4 MB for a general soundset and probably 30 MB + if you are looking at adding Romance lines and some banter. We first looked at MP3 based on the Tashia MOD by Arian but found that the Ogg Vorbis format was even better in terms of both Quality and Compression. Besides, MP3's are copyrighted material and any decoder provided with your MOD may infringe on this. Section one - What is Ogg Vorbis and how does it compare to other sound formats? Ogg Vorbis is a sound compressor that is distributed under the GNU license, which means it's free and can be used, modified without license problems, contrary to MP3. Who remembers Napster?? Comparison of file sizes between the 3 formats wav, MP3 and Ogg Vorbis: You can use OGG VORBIS, which compresses for an equal sound quality much more than MP3. Here is the results of compression recording 8 seconds of raw data with Audacity.exe and saving them into wav, MP3, ogg format respectively, herewith the results in file size: Wave file (mono track, 96Kb/s, 22,050 Hz, 16 Bit) : 361 Kb MP3 file (mono track, 96Kb/s, 22, 0050 Hz, 16 Bit) : 98.8 Kb Ogg Vorbis file (mono track, quality 5, 22,050 Hz, 16 Bit): 68.8 Kb. That says it all, doesn't it? And to be honest, I could not tell which one felt better in terms of sound quality. They all felt more or less the same. The size difference may not seem much between MP3 and Ogg but over 100 files (complete soundset + romance + banter); it does (100 X 30 KB = 3 MB nearly shaved off!). This made a huge difference when Dorotea's Longer Road was repackaged and also with my Kiara and Zaiya mod. Several tools are necessary for this tutorial, a recording and editing package as well as a tool that can convert into WAV formats during installation. You can get audacity.exe a free sound recording and editing software utility at: http://audacity.sourceforge.net/ http://audacity.sourceforge.net/ Audacity can record voices in Wav, MP3 and Ogg Vorbis. It also allows editing too, but you could also check for Cool Edit or Tsunami which also record in Ogg Vorbis. You will also need a decompression for Ogg vorbis to wav, it can be downloaded here: http://www.vorbis.com/files/1.0/windows/vo...s-1.0-win32.zip Section 2 - How can I use Ogg Vorbis in a mod? Ogg Vorbis isn't a supported format for your soundsets. Here is how we can work around it. Step 1: RECORDING AND SAVING OGG FILES Record your soundset using Audacity or any other and save the resulting files as Ogg Vorbis files. XXXXXXXa.ogg : Battle Cry XXXXXXXb.ogg : Becoming Leader XXXXXXXc.ogg : Tired XXXXXXXd.ogg : Bored XXXXXXXe.ogg : Badly Wounded XXXXXXXf.ogg : Selected 1 XXXXXXXg.ogg : Selected 2 NB: a complete list for soundset names is provided in the BGII readme file. I'll place it here in its full glory as a reminder and to save you the hassle of opening up another window. Just copy and paste this, changing the X values to whatever you name your files and replacing the wav extension with the ogg extension. QUOTE XXXXXXXa.wav : Battle Cry XXXXXXXb.wav : Becoming Leader XXXXXXXc.wav : Tired XXXXXXXd.wav : Bored XXXXXXXe.wav : Badly Wounded XXXXXXXf.wav : Selected 1 XXXXXXXg.wav : Selected 2 XXXXXXXh.wav : Selected 3 XXXXXXXi.wav : Action Acknowledgement 1 XXXXXXXj.wav : Action Acknowledgement 2 XXXXXXXk.wav : Action Acknowledgement 3 XXXXXXXl.wav : Being Hit XXXXXXXm.wav : Dying XXXXXXXn.wav : In Forest XXXXXXXo.wav : In City XXXXXXXp.wav : In Dungeon XXXXXXXq.wav : Daytime XXXXXXXr.wav : Nighttime XXXXXXXs.wav : Action Acknowledgement 4 XXXXXXXt.wav : Action Acknowledgement 5 XXXXXXXu.wav : Action Acknowledgement 6 XXXXXXXv.wav : Action Acknowledgement 7 XXXXXXXw.wav : Reaction to Party Member Death XXXXXXXx.wav : Rare Select 1 XXXXXXXy.wav : Rare Select 2 XXXXXXXz.wav : Critical Hit Given XXXXXXX1.wav : Critical Miss XXXXXXX2.wav : Target Immune XXXXXXX3.wav : Inventory Full XXXXXXX4.wav : Successfully Picked A Pocket XXXXXXX5.wav : Successfully Hid In shadows XXXXXXX6.wav : Spell Disrupted XXXXXXX7.wav : Set A Trap XXXXXXX8.wav : Battle Cry 2 XXXXXXX9.wav : Battle Cry 3 XXXXXXX0.wav : Selected 6 XXXXXXX_.wav : Action Acknowledgement 8 The first thing to do here is create a folder in your main mod directory which will hold all your voice clips and music files. This is typically called 'sounds', or 'music' or something similar but for the sake of keeping the tutorial simple I'll refer to this as the sound directory herein. Then, copy all your sound files in Ogg format (XXXXXXXa.ogg) to that sound folder and copy OGGDEC.exe in this sound folder as well. The file is provided in the Vorbis-tools.zip file Step 3 - MAKING A BAT FILE .bat files are Microsoft batch files and are commonly used once Weidu has finished what is in its scope to instruct external files. A common usage of this is that external packaged utilities such as the Oggdec EXE and the TISPACK (area editing) can be instructed. This might sound like it wastes space, adding another exe but this is more then justifiable when compared against the space saved with the sound files. The content of the batch file, as far as sound sets are concerned should look like this somewhat. QUOTE MyMod\Sound\oggdec.exe MyMod\Sounds\xxxxxxxa.ogg MyMod\Sound\oggdec.exe MyMod\Sounds\xxxxxxxb.ogg MyMod\Sound\oggdec.exe MyMod\Sounds\xxxxxxx_.ogg And so on. QUOTE Copy MyMod\Sounds\*wav Override\*.wav Del MyMod\Sound\*.wav Del MyMod\Sound\*.wav- This line will then delete the native, converted files from your sound directory to save space. As you can imagine, it's important that it comes AFTER the line that copies them over. Step 4 - SCRIPTING, TP2 AND WeiDU The first step in this part is to create a Mymodfix.bcs that can be run from any dialogue file in your mod. It will look a little like this: - QUOTE IF True() THEN RESPONSE #100 CutSceneId("Mymod") SetName(0001) // MyMod SetPlayerSound(Myself,0002,INITIAL_MEETING) SetPlayerSound(Myself,0003,EXISTANCE5) SetPlayerSound(Myself,0004,BATTLE_CRY1) SetPlayerSound(Myself,0005,LEADER) SetPlayerSound(Myself,0006,TIRED) SetPlayerSound(Myself,0007,BORED) SetPlayerSound(Myself,0008,DAMAGE) SetPlayerSound(Myself,0009,SELECT_COMMON1) SetPlayerSound(Myself,0010,SELECT_COMMON2) SetPlayerSound(Myself,0012,SELECT_COMMON3) SetPlayerSound(Myself,0013,SELECT_ACTION1) SetPlayerSound(Myself,0014,SELECT_ACTION2) SetPlayerSound(Myself,0015,SELECT_ACTION3) SetPlayerSound(Myself,0015,HURT) SetPlayerSound(Myself,0016,DYING) SetPlayerSound(Myself,0017,AREA_FOREST) SetPlayerSound(Myself,0018,AREA_CITY) SetPlayerSound(Myself,0019,AREA_DUNGEON) SetPlayerSound(Myself,0020,AREA_DAY) SetPlayerSound(Myself,0021,AREA_NIGHT) SetPlayerSound(Myself,0022,SELECT_ACTION4) SetPlayerSound(Myself,0023,SELECT_ACTION5) SetPlayerSound(Myself,0024,SELECT_ACTION6) SetPlayerSound(Myself,0025,SELECT_ACTION7) SetPlayerSound(Myself,0026,REACT_TO_DIE_GENERAL) SetPlayerSound(Myself,0027,SELECT_RARE1) SetPlayerSound(Myself,0028,SELECT_RARE2) SetPlayerSound(Myself,0029,CRITICAL_HIT) SetPlayerSound(Myself,0030,CRITICAL_MISS) SetPlayerSound(Myself,0031,TARGET_IMMUNE) SetPlayerSound(Myself,0032,INVENTORY_FULL) SetPlayerSound(Myself,0033,PICKED_POCKET) SetPlayerSound(Myself,0034,EXISTANCE1) SetPlayerSound(Myself,0035,EXISTANCE2) SetPlayerSound(Myself,0036,EXISTANCE3) SetPlayerSound(Myself,0037,BATTLE_CRY2) SetPlayerSound(Myself,0038,BATTLE_CRY3) SetPlayerSound(Myself,0039,SELECT_COMMON6) SetPlayerSound(Myself,0040,INITIAL_MEETING) SetPlayerSound(Myself,0041,HAPPY) SetPlayerSound(Myself,0042,UNHAPPY_ANNOYED) SetPlayerSound(Myself,0043,UNHAPPY_SERIOUS) SetPlayerSound(Myself,0044,UNHAPPY_BREAKING_POINT) END Now, from here, you can replace the numeric values 0001-0044 (or whatever you?ve chosen to use) with the REPLACE command to the actual in-game lines that you want. This will either be done via the Tp2 alone or with a TP2/TRA combination. Hence: - QUOTE REPLACE ~0001~ ~MYMOD~ //IT'S NAME REPLACE ~0002~ ~FIRST DIALOG LINE HERE~ REPLACE ~0003~ ~MY MOD's BIOGRAPHY.~ REPLACE ~0004~ ~~ [XXXXXXXI]REPLACE ~0005~ ~~ [XXXXXXXJ] REPLACE ~0006~ ~~ [XXXXXXX2] ETC.............. Step 5: THE INSTALLATION FROM YOUR TP2 AT_INTERACTIVE_EXIT ~myMod\Sounds\Install.bat~ In a nut shell, that's all there is too it.. On running WeiDU, it will automatically, convert all your recorded Ogg files into .Wav files, then copy them to the Override folder where they can be used by your CUSTOM MOD. As soon as the script (MYMODFIX.BCS) is run (I usually assign it just before joining), then your MOD will find its sound set. Step 6: ADDING MUSIC TO THE MOD At this stage, we need to introduce another tool. This tool is a .Wav to .ACM converter that's used in Fallout II modding. It can be found here: - http://www.teamx.ru/utils/snd2acm_1.0beta.zip You'll need to place a copy of the snd2.acm.exe in you're the sound directory of your mod. Unlike the voice clip, the music files undergo two transformations rather then just one. Step 6: MAKING THE INFINITY ENGINE MUS FILE This has been documented elsewhere but I'll add a condensed version here. Open a blank .txt file and add the following text:- QUOTE MXMYMOD 1 A @TAG END Step 7: BAT FILE ADDENDUM Remember that .bat file we made earlier? Well, you're going to need it again for the following. If you've not gotten a sound set to add yet, don't worry, just make a new bat file and correlate the names accordingly. The first step is to add a new command at the very top of the bat file. QUOTE MD Music\MxMyMod MD is the DOS command for 'Make Directory.' This is going to be the target folder for your converted music file. You also need to remember to have included a command to convert your .ogg file into a .wav. It's the wav file that we are interested in. So, what have we got thus far? We have a music file that's been converted to wav format and a new folder for it in the BGII music directory. Next we need to add the following line to the bat file. QUOTE MyMod\Sounds\Snd2acm.exe -wav MyMod\Sounds\MxMyMod.wav MyMod\Sounds\MxMyModA.acm QUOTE Copy MyMod\sounds\MxMod.acm Music\MxMyMod Del MyMod\Sounds\MxMyMod.acm That coding will also make sure that the ACM file is deleted from your mod sound directory once it has been copied over. Lastly, if you have added the sound set from above, this command has to come last:- Del MyMod\Sounds\*.wav As it will ensure that all the wav files, including the music files, are all deleted from your mod sound directory. Section 8: MORE TP2 EDITING The last section of the tutorial is simply getting the tracks added to the in-game list. TP2 coding to the effect of: - QUOTE COPY ~MyMod\Sounds\MxMyMod.mus~ ~Music\MxmyMod.mus~ ADD_MUSIC ~MyMod~ ~Music\MxMyMod.mus~ QUOTE COPY ~mymod/script.bcs~ ~override/script.bcs~ REPLACE_TEXTUALLY 999999 ~%MyMod%~ And that's all there is to it. If you run into any problems, either PM me here or at the Forgotten Wars forums (my usual haunt) or email me ? Olryx2@Yahoo.co.uk -------------------- The Mid-East will become a theater of a war in which the Russians will take place. Much blood will be spilled. The Chinese, with an army of 200 million, will cross the Euphrates and go all the way to Jerusalem. The sign that this event is approaching will be the destruction of the Mosque of Omar, for its destruction will mark the beginning of work by the Jews to rebuild the Temple of Solomon, which was built on the same spot. Holy Elder Paissios of Agion Oros (+1994) |
|
|
Lo-Fi Version | Time is now: 16th November 2024 - 11:45 PM |