Alien: Isolation's audio runs through Wwise. Scripts don't reference audio files — they fire sound events by name, and Wwise decides what that means: which take to play, whether to pick at random, which bank the audio comes from.
Whenever you set a sound event on an entity parameter, OpenCAGE opens the sound event selector. That window has a player along its bottom edge, so you can hear what an event actually sounds like before committing to it — and export or replace the audio behind it.
The same window opens from View → Sound Editor once a level is loaded, with no parameter behind it: every sound event the level knows (shown below), to listen through, look up in the soundbanks, export or replace, without first finding an entity that plays one. The box along the top filters the list as you type. It stays open while you work in the editor and closes when the level does. Only one of these windows is open at a time, so editing a sound event parameter in the inspector closes the Sound Editor and opens the picker in its place.

View → Sound Editor with an event selected. Opened from a parameter instead, the same window is titled Select for 'sound_event' and gains a Select button.
Three ideas are worth having straight before you start changing things:
The player exposes every variation it managed to resolve — below, the eight random takes behind play_facehugger_egg_opens — which is the only way to hear what an event will really sound like in the game rather than one arbitrary take of it.

Every take the event resolved to is listed; Shuffle picks one at random the way the game would.
The first time you open the selector, OpenCAGE starts indexing the game's soundbanks in the background so the first sound you click is ready rather than waiting on a cold index. While that runs the player's status line reads Indexing the game's soundbanks..., then Decoding... for each take.
Two entities do the work, and you generally need both:
sound_event parameter and trigger it; that parameter is what opens the selector described on this page.Which bank to load is exactly what the Show Soundbanks button tells you — select the event, read off the soundbank it's listed in, and point a SoundLoadBank at that. See Soundbank Metadata.
Banks that are permanently resident don't need loading; those are configured separately under Permanent Soundbanks.
Character dialogue is fired the same way — through sound events — but by entities that also know which character is speaking, so the line comes from the right place and drives the right face:
character to speak it (plus an alt_character), and like Sound it inherits its sound_event from SoundPlaybackBaseClass. speech_priority decides what it interrupts or is interrupted by, and queue_time is how long it will wait for a slot before giving up. Fires on_speech_started.character_01…character_05, each with an alt) and up to ten lines. Each line has a line_NN_event for the sound event, a line_NN_character naming which of the five slots delivers it, and — from the second line onwards — a line_NN_delay for the pause before it. Fires on_script_ended when the last line finishes.Use Speech for a barked line or a one-off; use SpeechScript for back-and-forth conversation, where hand-wiring a chain of Speech entities and delays would be far more work.
In the selector, a dialogue event shows its subtitle in the Content column, and the search box matches on that text as well as on the event name — so you can find a line by what's said. Lines whose audio depends on who is speaking can't be previewed; the player's status line says so when you select one.
Both still need their bank loaded, so the Show Soundbanks → SoundLoadBank step above applies to dialogue as much as to any other sound.
Select an event in the list and the player fills in, as in the screenshots above. The top row is the transport; the row beneath is everything about the take that's loaded:
Random, Switch > Random and so on — its sample rate and channel layout, and the media id and the bank or package it lives in. It's cut short with an ellipsis when the window is narrow, as it is above; hover over it for the whole line, or widen the window. If an event resolves to no audio at all, this line says why instead — an event that only changes sound settings, say, or dynamic dialogue that depends on who is speaking.Audio is decoded on demand rather than up front, so a long sound may take a moment before it starts.
Export writes the variation currently selected out as a .wav, named after the event by default. The file is decoded from whatever the game stores it as, so you get plain uncompressed audio you can open anywhere.
Exporting waits for the decode to finish first, which for a long sound is a few seconds — the button greys out while it works.
Note that this exports one variation, not the whole event. If an event has eight footstep takes and you want all of them, export each in turn.
Replace swaps the audio behind the selected variation for a .wav of your own. OpenCAGE encodes it into exactly the form the game's decoder expects and writes it into the soundbanks that hold it.
Everything is checked before anything is written. If the audio can't be imported, you're told why and nothing changes — you won't be left with a half-edited soundbank. If it can, you get a summary first:

The summary shown before a replacement is written. Nothing changes until you answer Yes.
Answer Yes and the replacement is applied; the variation is then reloaded into the player, so you can play the new audio straight back.
Replacement audio must be a .wav. A few things to keep in mind:
The same audio is often shipped in several banks at once, because banks are loaded per level and a sound used in three levels lives in three places.
A replacement therefore updates every copy the game ships, not just the one you were listening to — the summary says how many there are and names the banks, as in the dialog above. If it only changed one, the old sound would come back in whichever level loaded a different bank — which reads as a bug in the game rather than an unfinished edit.
If some copies write and others fail, OpenCAGE says so explicitly rather than reporting success, since a partial replacement leaves the sound changed in some places and not others.
Sound edits are global. Soundbanks aren't per-level data — replacing a sound changes it everywhere in the game, for every level, and there's no per-level override. Take a backup before doing this at scale.
With an event selected, the Show Soundbanks button at the bottom right of the window lists every soundbank the event appears in, as shown below. The player's status line already names one of them and counts the rest (Mission_DLC_ChallengeMap4 +4); this is the full list. It tells you which levels can actually fire the event — one that isn't in a bank your level loads won't play, however correctly the script is wired.

Show Soundbanks: the banks this event is declared in — any one of these is a valid target for a SoundLoadBank entity.
This is where you get the bank name to give a SoundLoadBank entity, so the event you're about to fire is actually loaded — see Playing a Sound in a Script.
If the event isn't listed in any soundbank at all, it says so. That usually means the name is wrong or the event belongs to content that isn't shipped.
Which banks are permanently resident is configured separately — see Permanent Soundbanks.