[REFERENCE] Audio

Discussion in 'Mod Discussions' started by Raevn, June 21, 2013.

  1. Raevn

    Raevn Moderator Alumni

    Messages:
    4,226
    Likes Received:
    4,324
    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
    Quitch likes this.
  2. Raevn

    Raevn Moderator Alumni

    Messages:
    4,226
    Likes Received:
    4,324
    <reserved for sound bank creation guide>
  3. metritutus

    metritutus New Member

    Messages:
    1
    Likes Received:
    0
    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.
  4. brandonpotter

    brandonpotter Well-Known Member

    Messages:
    966
    Likes Received:
    389
    Your not the only one having those problems. I think everyone wnats to get their hands on all the music.
  5. Nullimus

    Nullimus Well-Known Member

    Messages:
    428
    Likes Received:
    260
    this is very interesting to me. I want to have copies of both the orchestral and original synth music.
  6. dfanz0r

    dfanz0r Active Member

    Messages:
    150
    Likes Received:
    47
    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.
  7. ragnarok89

    ragnarok89 Member

    Messages:
    42
    Likes Received:
    12
    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?
  8. trialq

    trialq Post Master General

    Messages:
    1,295
    Likes Received:
    917
    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.
  9. archer6621

    archer6621 New Member

    Messages:
    13
    Likes Received:
    1
    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 :)
    Last edited: October 19, 2014
  10. stuart98

    stuart98 Post Master General

    Messages:
    6,009
    Likes Received:
    3,888
  11. archer6621

    archer6621 New Member

    Messages:
    13
    Likes Received:
    1
    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.
    Last edited: October 19, 2014
  12. cola_colin

    cola_colin Moderator Alumni

    Messages:
    12,074
    Likes Received:
    16,221
    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.
  13. elodea

    elodea Post Master General

    Messages:
    1,694
    Likes Received:
    3,040
    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.
  14. killerkiwijuice

    killerkiwijuice Post Master General

    Messages:
    3,879
    Likes Received:
    3,597
    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
    ace63 and Nicb1 like this.
  15. ragnarok89

    ragnarok89 Member

    Messages:
    42
    Likes Received:
    12

    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.
  16. killerkiwijuice

    killerkiwijuice Post Master General

    Messages:
    3,879
    Likes Received:
    3,597
    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.
  17. zweistein000

    zweistein000 Post Master General

    Messages:
    1,362
    Likes Received:
    727
    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.
  18. jables

    jables Uber Employee

    Messages:
    812
    Likes Received:
    5,537
    Afraid not. We have agreements in place on music and sounds that make that difficult.
    zweistein000 likes this.
  19. zweistein000

    zweistein000 Post Master General

    Messages:
    1,362
    Likes Received:
    727
    Understandable.

    Is there any other way of adding custom sounds to planetary annihilation? Maybe just adding them as raw .wav files?
  20. mikeyh

    mikeyh Post Master General

    Messages:
    1,869
    Likes Received:
    1,509
    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.
    Quitch, gmase and zweistein000 like this.

Share This Page