Audio Alpha Disclaimer: This information is still being compiled, but is currently based on PA Build 51464 and may change See PA Modding Changes for any changes that may have been made after this build. Planetary Annihilation uses the FMOD sound system. It comprises of 3 sound banks (PA_Music.fsb, PA_SFX.fsb and PA_VO.fsb) along with an event definition file (PA.fev). Each sound bank stores individual sounds in .wav format. These all reside in PA/media/pa/audio. You can use the official FMOD applications to view these sounds: FMOD Designer Download: http://www.fmod.org/fmod-downloads.html#FMODDesigner Use the FMOD Event Player to open PA.fev and view the folder structure of the sounds. This is required when referencing sounds from within Unit Blueprints etc. If you want to extract them, you can use various programs such as: FSBext Download: http://aluigi.altervista.org/search.php?src=fsb This lets you select a .fsb file and an output folder and will extract all sounds to that folder. FSBExtractor Download: http://aezay.site11.com/aezay/fsbextractor/ Lets you view, play & extract sounds from an fsb file. Audio Event List This list comprises all sounds in Planetary Annihilation. Reference them by folder & name, such as "/SE/Movement/veh/aa_missile_vehicle_loop" Music Music_Ingame Main_Menu_Music Music Music_Base Music_Battle Music_Win Music_Lose Music_Base_test Music_Launch_Commander SE Ambience Ambience_2d Construction Factory_construction_loop_air Factory_construction_loop_veh Factory_construction_loop_bot Factory_construction_loop_naval Factory_construction_loop_orb Commander_construction_beam_loop Fab_constuction_beam_loop Factory_construction_loop_orb_launcher Destruction Unit_Explode Commander_Explode Unit_Explode_small Bot_Death Air_Death Sea_Death Veh_Death Factory_Death Environment Tree_fire_loop Tree_KnockedOver Movement air fab_air_loop air_bomber_loop air_fighter_loop air_scout bot artillery_loop assault_loop fab_loop aa_loop T2_artillery_loop T2_assault_loop T2_fab_loop T2_aa_loop Copy commander Commander_move_loop sea Fab_ship_loop Fab_sub_loop nuclear_sub_loop T2_battleship_loop destroyer_loop T2_missile_ship_loop sea_scout_ship_loop attack_sub_loop frigate_loop nuclear_sub_loop Copy veh fab_loop land_scout_loop tank_heavy_artillery_loop tank_light_laser_loop tank_heavy_mortar_loop Unit_move_land_veh_loop Unit_move_land_veh_loop2 aa_missile_vehicle_loop missile missile_fly_loop artillery_long_missile_fly_loop nuke_missile_fly_loop anti_nuke_missile_fly_loop tactical_missile_fly_loop missileship_fly_loop UI UI_Alert_energy_low UI_Alert_metal_low UI_Building_place UI_Click UI_Command_Assist UI_Command_Attack UI_Command_Build UI_Command_Build_secondary UI_Command_Move UI_Command_Move_secondary UI_Command_Patrol UI_Command_Reclaim UI_Command_Repair UI_Command_Stop UI_Error UI_Rollover UI_Unit_Select UI_Unit_Select_engineer UI_Unit_Select_commander UI_Unit_UnSelect UI_commander_launch UI_commander_low_health UI_commander_under_attack UI_escape_command_mode UI_under_attack UNIT Unit_Activated Unit_Build_Complete Unit_Build_Complete_Structure Unit_Build_Complete_small Unit_Commander_Eng_construction_beam_loop Unit_Explode Unit_Weapon_Fire_Artillery Unit_Weapon_Fire_Laser Unit_construction_loop Unit_move_loop Unit_move_water_loop Weapons bot artillery_fire assault_fire bot_aa_fire veh tank_light_fire aa_missile_vehicle_fire land_scout_fire tank_heavy_artillery_fire tank_heavy_mortar_fire structure air_defece_fire artillery_long_fire artillery_short_fire laser_defence_fire tactical_missile_launcher_fire nuke_launcher_fire anti_nuke_launcher_fire unit_cannon_fire air air_scout_fire bomber_fire fighter_fire sea T2_battleship_fire T2_missile_ship_fire attack_sub_fire destroyer_fire frigate_fire_1 nuclear_sub_fire sea_scout_fire commander Commander_uber_cannon_fire Commander_gun_fire Commander_uber_wait base base_fire_laser old _Unit_Weapon_Fire_Laser_tank _Land_Veh_missile_fire Land_Weapon_Fire_Artillery Land_Weapon_Proj_loop Unit_Weapon_Fire_Cannon Unit_Weapon_Fire_Laser _Commander_uber_cannon_impact _Unit_Weapon_Fire_Laser_impact _impact_water _land_Weapon_Artillery_impact _missile_impact artillery_fire gun_impact rocket_fire orb orb_laser_fire Buildings <None> Impacts bomb laser_blast missile_seeking missile_tactical shell_artillery shell_artillery_small shell_bullet shell_mortar shell_tank torpedo cannon_uber missile_nuke Build_Complete bot fab veh factory energy metal radar barrier structure_small air sea Death Commander Bot Air Sea Veh Factory Veh_small radar barrier structure_small Sea_large Sea_sub VO Voice_01 ZOLD Unit_FootStep_Anim Unit_Spawned Unit_move_air_loop Unit_move_land_bot_loop _Unit_Weapon_Fire_Artillery_impact _Unit_Weapon_Fire_Laser_impact Fab_move_air_loop Copy Fab_move_air_loop Copy Copy _Unit_move_air_land _Unit_move_air_loop _Unit_move_land_bot_loop
When I tried using FSBExtractor with PA_music.fsb, it doesn't seem to extract all the files properly. I can see: Code: * Adventure * BlackFog * DarkMaster DarthMetal Dragon_music Iron * Jaws * Robot Russian alien_music preservation triumph2B * update_music Ambience_01 Epic_Victory PA_Battle_Begins_01 AMB_Alch4_bells * AMB_Alch5_pipes * AMB_Alch6_gongs AMB_Alch6_gongs_MainMenu AMB_Alch7_high_ind * AMB_Alchemy3_drone AMB_Kont_Drone_01 AMB_Mass_Glass_01 Of these, only the ones with asterisks next to them extract properly, the rest sound horrifically distorted when I import them into Audacity. I'm not sure what I'm doing wrong.
Your not the only one having those problems. I think everyone wnats to get their hands on all the music.
this is very interesting to me. I want to have copies of both the orchestral and original synth music.
The only way i can see easily getting copies of all the current tracks. Is to launch it up in the FMOD Event player play the tracks their then play them one by one and record them. That is if your soundcard support that feature. Because the conversion tools dont seem to be able to accurately get the tracks from the files.
I know this is an old thread... I was wondering what is the current state of modding sound effects? I always wanted to replace the sound for the Orbital Laser Platform with the Photon Torpedo sound from Star Trek... The posts above explain how to extract audio, but not how to put any in. Anyone know hot to do this?
The easiest and sanest way would be for Uber to supply the fmod project files. Then we could replace the stock sounds with our own using fmod, export to fsb and fev files, and shadow the fsb. A less sane solution might be to extract the stock laser sound using one of the above tools, and searching for it in the fsb. If you're lucky you'll find it (indicating it's not encoded, aka stored plainly), so there's a chance you can replace the stock samples with your sound effect (as long as it's shorter than the current one). Any sort of integrity check will fail, so it's a long shot.
I want to make a mod that replaces the stock music with the music from Total Annihilation, is this even possible with the current support? EDIT: Nevermind, figured it out, yes it is possible
It is, you have to use FMOD Designer to create new .fsb files, editing the existing ones is not possible. If you use exact the same file/event names as the original files, you could replace them with any type of file you want (that FMOD designer is still able to read), but they also need to have the right index (correct location on the list), and I'm having a hard time figuring out how to change that. Best way is just to extract the existing ones with the tools above and then replace the ones you want to have replaced, and drag everything back in. The only big issue is finding out what plays when, something which doesn't seem to be pointed out in the FMOD Event Player. So it's going to be a matter of listening + trial and error. EDIT: Okay, kinda figured it out. The names are irrelevant, it's all about the order of the files, which you can observe with that FSB extractor (if you open the original fsb files). So you must somehow name the files so they alphabetically get the same order as the index list of the original file, then everything will have the correct playback.
You probably also could just remove the "play music" js calls and play the music via the UI instead. I am sure it can be made to playback i.e. youtube videos to make music. If it can playback videos with music it should also be able to just playback music alone.
Anyone know how to load different .fev files? PA doesn't want to load a pa.fev file placed in the mod audio folder and i can't find a reference in the ui or media files to any .fev files that you can change.
so wait, isn't it impossible to edit the .fev file because we don't have the original .fdp project file (AKA, impossible to use new sounds)? wtffffffffff
So it's a little over a year later, and it is still impossible (as far as I know) to mod sound effects. Can anyone at Uber at least tell me if this is in the pipeline? Thanks.
I've already asked and @masterdigital says it may be possible in the future. I really do hope it is considered because audio is the missing half of modding IMO.
Let me resurrect this ancient topic (the only sound topic that comes up on search) with the update that to create new sound bank files you need access to the ".fdp" file, which only Uber has the access to. Unless @jables or someone else at Uber is willing to throw theirs our way, adding new sounds to the games seems impossible. Sad news for my cutting beam and tacyon cannons.
Understandable. Is there any other way of adding custom sounds to planetary annihilation? Maybe just adding them as raw .wav files?
I answered this somewhere else but can't find that post. There is also another thread here: https://forums.uberent.com/threads/audio-modding.69424/ Manually playing sounds is very inefficient. You also lose the optimisation, mixing and spatialisation that FMOD provides. The main issue with audio modding is that only a single FMOD Event Project is loaded very early at startup. Loading early during startup is also the reason why you can't currently change the audio route. I did look briefly at options for loading additional projects and how they would be merged or using programmer sounds outside of the existing event system. It was all very messy and outside my current skill set.