Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.flyhub.app/llms.txt

Use this file to discover all available pages before exploring further.

Cabin Announcements is a desktop feature that plays airline-style PA audio during a tracked flight. FlyHub watches your active flight, simulator telemetry, selected aircraft, airline code, operation type, GSX state when available, and your announcement settings to choose what to play next. The feature is built for local audio packs. You can use the bundled default pack, point FlyHub at a custom announcements folder, or create packs for specific airlines, cargo operations, VIP operations, aircraft families, airports, and times of day. FlyHub’s custom pack system is inspired by the folder and event-name style described in the Fenix Cabin Announcements Guide, but FlyHub has its own pack selection rules, operation folders, supported file types, tags, and automatic triggers. Use the Fenix guide as a reference for the general Announcements folder idea, then follow the FlyHub rules below when building or adapting a pack.

Requirements

Cabin Announcements requires:
  • FlyHub Desktop.
  • An active tracked flight in the Active Flight page.
  • Cabin Announcements enabled from the Active Flight sidebar.
  • A readable announcements folder containing supported audio files.
  • Simulator telemetry from MSFS through SimConnect or X-Plane through the FlyHub plugin.
Supported audio formats:
FormatNotes
.oggRecommended for packs. Must be a real Ogg/Vorbis file, not a renamed file.
.wavSupported. Larger files use more disk space.
.mp3Supported by the desktop audio player.
FlyHub ignores files that are unsupported, too large, outside the selected folder, or not named with a known announcement name. Each audio file must be 50 MB or smaller.

Enable Announcements

First, make sure Cabin Announcements is enabled in the app settings.
Settings Announcements
  1. Open FlyHub Desktop.
  2. Start or open an active flight.
  3. Open the right sidebar on the Active Flight page.
  4. Open the Cabin Announcements panel.
    Overlay 3
  5. Enable Cabin Announcements.
    Overlay 4
  6. Open the Files tab and select your announcements root folder if you are using a custom pack.
  7. Open the Audio tab and choose the output device and volume.
If no custom folder is selected, FlyHub uses the bundled announcements folder.

Overlay Use

Cabin Announcements can be managed from the Active Flight sidebar while you fly. The desktop simulator overlay also provides quick in-sim controls for Play Next, Skip, pause/resume, manual triggers, mute, and volume. Use the sidebar for setup, sound pack selection, file scanning, device selection, and detailed tweaks. Recommended workflow:
  1. Start the active flight in FlyHub Desktop.
  2. Open the simulator overlay if you use it for in-sim status.
  3. Keep Cabin Announcements enabled in the Active Flight sidebar.
  4. Use the sidebar to change packs, force phases, preview files, or stop playback.
  5. Use the overlay for passive monitoring during the flight.
The overlay does not replace the announcement sidebar. The sidebar is where file scanning, device selection, manual playback, per-announcement toggles, tweaks, and GSX settings live. You can control basic playback from the overlay.
Overlay 1
Overlay 2

How Playback Works

FlyHub keeps an announcement session for the current active flight. During the flight it checks:
  • Current flight phase.
  • Whether the aircraft is on the ground or airborne.
  • Altitude above ground level.
  • Ground speed and takeoff or landing detection.
  • Engine, parking brake, beacon, landing light, strobe, seatbelt, and camera/view state when available.
  • SimBrief flight plan details, including airline, flight number, aircraft ICAO, origin, and destination.
  • Operation type: passenger, cargo, or VIP.
  • GSX boarding and deboarding state when the MSFS integration is enabled.
  • The enabled or skipped state of each announcement in your settings.
Announcements normally play in this order:
StageTypical announcements
BoardingBoardingWelcome, BoardingWelcomePilot, BoardingMusic, DepartureDelayed, BoardingComplete
Door and safetyArmDoors, PreSafetyBriefing, SafetyBriefing
TakeoffCabinDimTakeoff, CrewSeatsTakeoff, CallCabinSecureTakeoff
Climb and cruiseAfterTakeoff, TopOfClimbPilot, FastenSeatbelt, CruiseElapsed
Descent and approachTopOfDescentPilot, DescentSeatbelts, CrewSeatsLanding, CallCabinSecureLanding
Landing and arrivalAfterLanding, AfterLandingMusic, DisarmDoors, DisembarkStarted
You can manually play, skip, stop, resume, or force phases from the sidebar. Manual actions only affect the current session.

GSX Behavior

GSX support is for MSFS. When GSX integration is enabled:
GSX stateFlyHub behavior
Boarding state 5Treats boarding as started or in progress and can trigger BoardingWelcome.
Boarding state 6Treats boarding as complete and can trigger BoardingComplete.
Deboarding state 4 or 5Can start the disembark flow after arrival.
Deboarding state 6Treats deboarding as complete and clears the arrival session state.
GSX does not replace the normal flight logic. It gives FlyHub stronger boarding and deboarding signals when they are available.

X-Plane Behavior

X-Plane does not have a GSX equivalent. Some aircraft do not expose reliable light or cabin-specific datarefs. If automatic boarding does not start in X-Plane, use the manual controls in the Cabin Announcements sidebar.

Active Flight Sidebar

Open the Active Flight page and use the Cabin Announcements panel in the right sidebar.

Status Tab

Use Status to see and control the current announcement session.
ControlWhat it does
Enable Cabin AnnouncementsTurns the feature on or off for desktop playback.
Play NextPlays the next eligible announcement immediately.
SkipSkips the next eligible announcement for the current session.
Stop / ResumeStops current playback or resumes paused playback.
Manual PlaybackLets you choose a specific announcement and play it on demand.
Phase buttonsForces the announcement session into a phase such as Boarding, Cruise, Descent, or Postflight.
MetricsShows connection state, phase, playing state, next announcement, aircraft, airline, operation, and selected sound pack.
Waiting ForShows why the next automatic announcement has not fired yet.
UpcomingShows upcoming announcements and skipped items.
Use manual phase controls when telemetry or aircraft-specific data is incomplete.

Audio Tab

Use Audio to control where announcements play and how loud they are.
SettingWhat it does
Audio DeviceSelects the speaker, headset, virtual cable, or system default output.
RefreshRe-scans available output devices.
Add DeviceOpens the operating system output-device picker when supported by the desktop runtime.
Announcement VolumeMaster volume for spoken announcements.
Music VolumeSeparate volume for boarding and after-landing music.
MuteMutes announcement playback without disabling the feature.
Only When FocusedPlays announcements only while FlyHub Desktop is focused.
Camera VolumeChanges playback volume based on cockpit, cabin, or external camera state when the simulator exposes that data.
Internal View VolumeVolume used for cockpit or internal views when Camera Volume is enabled.
External View VolumeVolume used for external views when Camera Volume is enabled.
Resume MusicResumes paused boarding or arrival music after a spoken announcement finishes.
Audio device settings are saved between sessions.

Files Tab

Use Files to select and inspect the sound pack folder.
ControlWhat it does
Root folderShows the announcements folder FlyHub is scanning.
Select FolderOpens a folder picker for your custom announcements root.
RescanRe-scans the selected folder for valid audio files.
Sound pack listShows detected pack folders and the selected pack.
File listShows valid announcement files FlyHub found.
PreviewPlays a file directly so you can test the audio.
Select the custom pack folder you want FlyHub to scan. That folder can contain pack folders such as PAX, Cargo, VIP, AAL, or UAE_Cargo, or it can directly contain announcement files. If you are adapting a Fenix-style downloaded pack, the useful folder is usually the Announcements folder inside the download. Fenix-style packs commonly use this shape:
Any folder name/
  Announcements/
    AIRLINE/
      BoardingWelcome.ogg
      SafetyBriefing.ogg
For that layout, select Announcements. For your own custom packs, select whichever folder contains the packs or files you want FlyHub to use.

Announcements Tab

Use Announcements to choose which announcement events are allowed to play.
SettingWhat it does
Sound PackManually selects a detected pack instead of using automatic airline or operation matching.
Use operation default if selected pack files are missingAllows FlyHub to fall back to the matching operation default pack, such as PAX, Cargo, or VIP, when the selected airline-operation or manual pack does not contain a matching file. Cargo and VIP automatic fallback stays inside Cargo/VIP defaults so passenger cabin audio is not borrowed by accident.
Announcement togglesEnables or disables individual events such as SafetyBriefing, AfterLanding, or DisembarkStarted.
Disabling an announcement means FlyHub will skip that event even if the file exists.

Tweaks Tab

Use Tweaks when your simulator, aircraft, or add-on exposes signals differently.
SettingWhat it changes
Boarding RepeatHow often boarding welcome or boarding music logic can repeat while boarding is still in progress.
Takeoff Detection AGLAltitude above ground used to detect that takeoff has happened.
Descent Detection AGLAltitude above ground used for descent-related announcements.
Crew Seats Landing AGLAltitude above ground for the crew-seats-for-landing call.
Departure Delay ThresholdMinutes after scheduled departure before DepartureDelayed can play during boarding.
After Landing DelayDelay after landing before arrival announcements can play.
Skip First BoardingWelcomeSkips the first boarding welcome call in the session.
Auto Arm DoorsAutomatically plays ArmDoors after boarding completes if normal aircraft movement or engine signals are missing.
Landing Lights for TakeoffUses landing lights instead of strobe lights for the crew-seats-takeoff trigger.
Ignore Incompatible Aircraft LightsAllows light-based triggers even when the current aircraft is not known to expose compatible light states.

Integrations Tab

Use Integrations for simulator add-ons.
SettingWhat it does
GSX IntegrationEnables GSX boarding and deboarding signals for MSFS.
Current GSX stateShows current boarding and deboarding states when FlyHub can read them.
The Integrations tab is hidden for X-Plane because GSX is not available there.

Settings Persistence

FlyHub stores Cabin Announcements settings in the desktop app data folder. The selected announcements root folder is stored separately from the audio, announcement, tweak, and integration settings. Saved settings include:
  • Selected audio device.
  • Volume and mute settings.
  • Camera-volume behavior.
  • Resume music behavior.
  • Enabled and disabled announcements.
  • Selected or automatic sound pack mode.
  • Operation-default fallback.
  • Tweak values.
  • GSX integration state.
  • Custom announcements root folder.
These settings persist between desktop sessions.

Sound Pack Folder Layout

A sound pack root is the folder FlyHub scans. Pick a folder that is easy to manage, then put one or more pack folders inside it. The root folder can have any name. This wiki uses Announcements in examples because many community announcement packs use that name. The important part is that FlyHub is pointed at the folder that contains your pack folders or audio files.

What To Select

Select the folder that contains the packs you want FlyHub to scan. Good selections:
Announcements/
  PAX/
  AAL/
  UAE_Cargo/
My FlyHub Cabin Packs/
  PAX/
  VIP/
  DAL/
Simple Pack/
  BoardingWelcome.ogg
  SafetyBriefing.ogg
If your download follows the Fenix-style pattern Any folder name/Announcements/AIRLINE, select the Announcements folder. Do not select a folder that is one level too high unless FlyHub should scan everything below it.
Announcements/
  PAX/
    BoardingWelcome.ogg
    SafetyBriefing.ogg
    AfterLanding.ogg
  AAL/
    BoardingWelcome.ogg
    SafetyBriefing.ogg
  DAL/
    BoardingWelcome.ogg
  Cargo/
    BoardingWelcome.ogg
  VIP/
    BoardingWelcome.ogg
Use operation folders for generic fallback packs:
FolderUse
PAXGeneric passenger flights.
CargoGeneric cargo flights.
VIPGeneric VIP or private flights.
Use airline folders when the audio should match a specific airline:
Announcements/
  AVA/
    BoardingWelcome.ogg
  AVA_PAX/
    BoardingWelcome.ogg
  AVA_Cargo/
    BoardingWelcome.ogg
  UAE_PAX/
    BoardingWelcome.ogg
  UAE_Cargo/
    BoardingWelcome.ogg
Use airline plus operation folders when the same airline needs different passenger, cargo, or VIP audio:
Announcements/
  UAE_PAX/
    BoardingWelcome.ogg
    SafetyBriefing.ogg
  UAE_Cargo/
    BoardingWelcome.ogg
    ArmDoors.ogg
Recommended folder names:
Folder nameUse
Airline ICAO or code, such as AAL, DAL, UAEAirline-specific pack.
PAXGeneric passenger-operation pack.
CargoGeneric cargo-operation pack.
VIPGeneric VIP/private-operation pack.
DefaultOptional generic pack that can be selected manually or used when the selected root folder itself is a direct pack.
<Airline>_PAXAirline-specific passenger pack.
<Airline>_CargoAirline-specific cargo pack.
<Airline>_VIPAirline-specific VIP/private pack.
Pack folder names are matched case-insensitively.

Pack Selection Priority

When automatic pack selection is enabled, FlyHub checks the flight context and looks for matching audio in this order:
  1. Manual sound pack override from the sidebar, if one is selected.
  2. Direct selected-root pack folder, if the selected root itself contains announcement files.
  3. Airline plus operation folder, such as UAE_Cargo.
  4. Airline folder, such as UAE, for passenger flights only.
  5. Operation folder, such as PAX, Cargo, or VIP, if operation fallback is enabled.
If no matching file is found, FlyHub skips that announcement. Example: a passenger Emirates flight with UAE_PAX, UAE, and PAX installed uses UAE_PAX first, then UAE, then PAX. Example: a cargo Emirates flight with UAE_Cargo, UAE, PAX, and Cargo installed uses UAE_Cargo first, then Cargo. It does not automatically use UAE or PAX, because those packs are assumed to contain passenger cabin language. If you really want that audio for the flight, select the pack manually.

Flight Context Sources

FlyHub builds announcement context from the active booking first, then uses simulator telemetry where live data is needed or where the booking does not have enough detail.
ContextSource priority
Airline folderCallsign ICAO prefix if it differs from SimBrief airline, then SimBrief general.icao_airline, then booking schedule airline_icao, then a three-letter tail-number prefix, then Default.
Operation typeVIP booking = VIP; booking schedule airline type = cargo means Cargo; booking schedule airline type = pax/cargo is treated as ambiguous and defaults to PAX until the user picks a passenger or cargo pack; all other scheduled flights use PAX.
Aircraft typeBooking selected/effective aircraft type, then telemetry ATC TYPE, model, or aircraft title parsing.
Origin/destinationSimBrief route airport when available, then booking schedule origin/destination.
Time of daySimulator local time when available, then announcement context local time, then the system clock.
Cruise altitudeSimBrief general.initial_altitude, then SimBrief navlog cruise altitude.
Flight number variant seedCallsign, flight seed, or booking ID. This makes numbered variants deterministic per flight instead of random every tick.
So yes: airline, operation, route, planned times, and planned aircraft are booking/OFP-driven. Live telemetry still matters for the current aircraft model fallback, sim time, altitude, lights, seatbelt sign, engine state, GSX state, and on-ground state. For dual-operation airlines such as Emirates (UAE) where the airline record is pax/cargo, FlyHub does not guess cargo from the airline alone. Auto mode starts from the passenger operation, shows both passenger and cargo pack choices when available, and applies cargo operation rules if you select an airline-cargo or Cargo pack. This avoids making every Emirates passenger flight sound like SkyCargo while still letting an Emirates cargo booking use UAE_Cargo or Cargo.

File Naming Rules

Every file must start with a known FlyHub announcement name. Optional tags go in square brackets after the name. Files with unknown base names are ignored. Basic files:
BoardingWelcome.ogg
SafetyBriefing.ogg
AfterLanding.ogg
Tagged files:
BoardingWelcome[A320].ogg
BoardingWelcome[Morning].ogg
AfterLanding[KJFK].ogg
SafetyBriefing[737][1].ogg
BoardingWelcome[mute].ogg
Cruise elapsed files use a percent suffix:
CruiseElapsed25Percent.ogg
CruiseElapsed50Percent.ogg
CruiseElapsed75Percent.ogg
Only these characters are recommended in file names:
Letters, numbers, spaces, dash, underscore, parentheses, square brackets, and dots
Avoid special shell characters, emojis, and hidden extensions such as BoardingWelcome.ogg.mp3. FlyHub accepts .ogg, .wav, and .mp3, but .ogg is recommended for pack portability.

Adapting Fenix-Style Packs

Fenix-style packs are a useful starting point because they already organize audio by an Announcements folder and event names. FlyHub can use that general shape, but there are differences:
TopicFlyHub behavior
Folder selectionSelect the folder FlyHub should scan. For Fenix-style packs, this is usually Announcements.
Airline matchingUse airline folders such as AAL, DAL, or UAE.
Operation matchingFlyHub also understands PAX, Cargo, VIP, and airline-operation folders such as UAE_Cargo.
Audio formatsFlyHub supports .ogg, .wav, and .mp3.
Required filesYou can provide only the announcement files you want. Missing files are skipped or resolved through fallback packs.
TriggersFlyHub uses its own active-flight state, SimConnect or X-Plane plugin telemetry, GSX state, and sidebar settings.

Announcement Files

Use these exact base names.
File base nameTrigger or use
BoardingWelcomeFirst cabin welcome when boarding starts manually or through GSX.
BoardingWelcomePilotPilot welcome after boarding has started.
BoardingMusicBoarding music loop while boarding is in progress.
DepartureDelayedDelay announcement when boarding exceeds the configured delay threshold.
BoardingCompleteBoarding complete call.
ArmDoorsDoor arming call after boarding completes or before taxi.
PreSafetyBriefingLead-in before the safety briefing.
SafetyBriefingSafety demonstration or safety briefing.
CabinDimTakeoffCabin dimming or preparation call before takeoff.
CrewSeatsTakeoffCrew take seats for takeoff.
CallCabinSecureTakeoffCabin secure confirmation around takeoff.
AfterTakeoffPost-takeoff announcement.
TopOfClimbPilotPilot announcement near cruise.
FastenSeatbeltSeatbelt sign or turbulence-related announcement after takeoff.
CruiseElapsedCruise progress announcement. Use percent suffixes for timing variants.
TopOfDescentPilotPilot announcement at top of descent.
DescentSeatbeltsSeatbelt or cabin preparation call during descent.
CrewSeatsLandingCrew take seats for landing.
CallCabinSecureLandingCabin secure confirmation for landing.
AfterLandingArrival announcement after landing.
AfterLandingMusicArrival or taxi-in music loop.
DisarmDoorsDoor disarming call after arrival.
DisembarkStartedDisembark or farewell announcement.
You do not need to provide every file. A pack can contain only the announcements you want to customize.

Operation Defaults

FlyHub uses the same event logic for passenger, cargo, and VIP flights, but bundled operation packs can mute events that do not fit the operation.
OperationBundled default behavior
PAXFull passenger cabin flow, including boarding music, safety, climb/cruise/descent, landing, arrival, and disembark calls.
CargoCargo-safe subset. Passenger cabin music and most passenger cabin calls are muted. TopOfClimbPilot and TopOfDescentPilot do not trigger for cargo operations.
VIPVIP-safe subset. Pilot climb/descent calls can trigger if enabled, but music and many passenger cabin crew calls are muted.
TopOfClimbPilot and TopOfDescentPilot are disabled by default. They can be enabled for passenger and VIP flights, but cargo flights always skip them.

Tags

Tags let one folder contain multiple versions of the same announcement.

Aircraft Tags

Use an aircraft family or aircraft ICAO tag:
SafetyBriefing[A320].ogg
SafetyBriefing[A321].ogg
SafetyBriefing[737].ogg
SafetyBriefing[B738].ogg
Common family tags include:
737, 747, 757, 767, 777, 787, 320, 330, 340, 350, 380, A220,
MD80, DC9, CRJ, ERJ, EJET, 146, ATR, DH8, F100, Citation
Aircraft tags match the resolved aircraft ICAO or its FlyHub family. For example, an A35K flight can match [A35K] and [350]; a B738 flight can match [B738] and [737].

Time Tags

Use time-of-day variants:
BoardingWelcome[Morning].ogg
BoardingWelcome[Afternoon].ogg
BoardingWelcome[Evening].ogg
BoardingWelcome[Night].ogg
Time tags use simulator local time when available:
TagTime window
[Morning]06:00 to 11:59
[Afternoon]12:00 to 17:59
[Evening]18:00 to 23:59
[Night]00:00 to 05:59

Airport Tags

Use an airport ICAO code when a file is specific to an origin or destination:
AfterLanding[KJFK].ogg
AfterLanding[EGLL].ogg
Airport tags match the origin for departure-phase announcements and the destination for arrival-phase announcements. Add [DEP] or [ARR] when you want to force the tag to mean departure or arrival. Wildcards are supported with * or #, for example KJ*.

Variant Tags

Use numeric tags for multiple versions:
SafetyBriefing[1].ogg
SafetyBriefing[2].ogg
BoardingWelcome[A320][1].ogg
Numeric variants are selected deterministically from the flight seed or booking ID, so the same flight keeps the same variant.

Mute Tags

Use [mute] when a pack should intentionally silence an event:
BoardingWelcome[mute].ogg
This is useful when a cargo or VIP pack should suppress a fallback event instead of playing passenger wording. FlyHub’s shipped Cargo and VIP defaults use this pattern for events that would be awkward or unrealistic in those operations.

How Tagged Files Are Picked

FlyHub first chooses the best folder using the pack priority rules, then chooses the best file inside that folder. All non-numeric tags on a file must match the current flight. Unknown tags make the file ineligible. [mute], [arr], [dep], and numeric tags are special control tags. When multiple files are eligible in the same folder, FlyHub scores them in this order:
MatchScore priority
[Refueling] while GSX refueling is activeHighest
Numeric tag matching the flight numberVery high
Exact aircraft tag, such as [A320] or [B738]High
Aircraft family tag, such as [320] or [737]Medium-high
Airport tag, such as [KJFK] or [EGLL]Medium
Time tag, such as [Evening]Lower
Any numeric variantTie-breaker
Non-muted fileTie-breaker
If tied files remain, FlyHub sorts by display name and uses a deterministic flight seed to pick one.

Flight State Transition Table

This table describes the automatic state machine used by FlyHub. Manual overlay/sidebar triggers can still play an enabled file directly, but automatic flow follows these gates.
File to playThings FlyHub checksTiming logic
BoardingWelcomeMSFS with GSX enabled: on ground, beacon off, GSX boarding state 5. Otherwise manual boarding start.Plays once when GSX boarding starts or is already active. Can repeat every configured boarding repeat interval until BoardingComplete.
BoardingWelcomePilotEnabled, BoardingWelcome completed, still boarding before BoardingComplete.Plays once 20 seconds after the first BoardingWelcome.
BoardingMusicBoardingWelcome completed, optional pilot welcome is complete or disabled, BoardingComplete not played.Loops until BoardingComplete or another PA announcement interrupts it.
DepartureDelayedScheduled pushback/departure time exists, boarding has started, BoardingComplete not played, threshold exceeded.Plays once per boarding session. It can interrupt boarding music; music resumes if resume is enabled.
BoardingCompleteOn ground and beacon on, or GSX boarding complete. BoardingWelcome must be complete and no non-loop PA may be playing.Plays once when the gate condition is met.
ArmDoorsOn ground and engines running or ground speed above 1 kt, or Auto ArmDoors tweak enabled after BoardingComplete.Auto ArmDoors tweak waits 30 seconds after BoardingComplete.
PreSafetyBriefingArmDoors completed and engines running.Plays after ArmDoors.
SafetyBriefingPreSafetyBriefing completed.Plays after PreSafetyBriefing.
CabinDimTakeoffEnabled, playable file exists, SafetyBriefing completed, simulator time is dark.Waits 10 seconds after SafetyBriefing. Daylight checks are cached for 60 seconds and stop after the takeoff window passes.
CrewSeatsTakeoffOn ground, engines running, takeoff light is on.Uses landing lights by default, or strobe lights if configured.
CallCabinSecureTakeoffCrewSeatsTakeoff completed and still on ground.Waits 5 seconds after CrewSeatsTakeoff.
AfterTakeoffAircraft is airborne and above configured takeoff AGL threshold.Waits 2 minutes after takeoff is detected. Default threshold is 3,000 ft AGL.
TopOfClimbPilotEnabled, playable, not cargo, AfterTakeoff already played, near cruise.With cruise altitude: altitude at least cruise altitude minus 1,500 ft and vertical speed within +/-1,500 fpm. Without cruise altitude: at least 18,000 ft AGL and vertical speed within +/-700 fpm.
FastenSeatbeltAfterTakeoff played, seatbelt sign transitions off to on.Repeatable with a 2-minute cooldown. Manual playback is allowed in any phase and does not reseed the state machine.
CruiseElapsedCruise entered, matching CruiseElapsedXXPercent file exists, not on ground or landing/postflight.Checks at most every 30 seconds, plays each percent file once, then stops polling when no elapsed files remain.
TopOfDescentPilotEnabled, not cargo, cruise entered for more than 2 minutes, more than 50 percent progress, descending below cruise.Requires altitude below cruise altitude minus 500 ft and vertical speed at or below -500 fpm.
DescentSeatbeltsLanding lights just turned on, or below configured descent AGL while descending.Sustained descent check waits 10 seconds; cooldown is 5 minutes.
CrewSeatsLandingAGL below configured crew landing threshold, vertical speed below -300 fpm, landing lights on.Default threshold is 3,000 ft AGL.
CallCabinSecureLandingCrewSeatsLanding completed and AGL below crew threshold plus 2,000 ft.Waits 10 seconds after CrewSeatsLanding.
AfterLandingOn ground, aircraft was airborne, landing sequence reached, ground speed below 15 kt.Optional after-landing delay tweak applies before playback.
AfterLandingMusicAfterLanding completed and DisembarkStarted not yet played.Loops after arrival. Missing optional music is marked complete once and does not block postflight flow.
DisarmDoorsEngines off, parking brake set, AfterLanding completed.Can interrupt/resume arrival music.
DisembarkStartedDisarmDoors completed and beacon off or current GSX deboarding state is 4 or 5.Plays once. GSX deboarding complete state 6 resets the session for the next flight.

Manual Phase Options

Manual phase selection marks earlier announcements complete so the next automatic trigger starts from a useful point.
Manual phaseAnnouncements marked as playedNext automatic gate
PreflightNoneBoardingWelcome
TaxiBoardingWelcome, BoardingMusic, BoardingCompleteArmDoors
TakeoffBoarding through CabinDimTakeoffCrewSeatsTakeoff
ClimbBoarding through CallCabinSecureTakeoffAfterTakeoff
CruiseBoarding through AfterTakeoffFastenSeatbelt, cruise/descent gates
DescentBoarding through AfterTakeoffDescentSeatbelts
ApproachBoarding through DescentSeatbeltsCrewSeatsLanding
LandingBoarding through CallCabinSecureLandingAfterLanding
PostflightBoarding through AfterLandingDisarmDoors
DoneAll announcementsNo further announcements

Creating a Pack

  1. Create or choose a root folder. Announcements is common, but the folder can have any name.
  2. Inside it, create a folder for your pack, such as PAX, Cargo, VIP, AAL, UAE_PAX, or UAE_Cargo.
  3. Add files using the exact announcement names from the table above.
  4. Use .ogg, .wav, or .mp3.
  5. Keep each file below 50 MB.
  6. Open Active Flight > Cabin Announcements > Files.
  7. Select the root folder that contains your pack folders.
  8. Click Rescan.
  9. Use Preview to test files.
  10. Choose the pack in the Announcements tab or leave automatic selection enabled.
For a simple personal pack, you can skip pack folders and put files directly in the selected root:
My Cabin Pack/
  BoardingWelcome.ogg
  SafetyBriefing.ogg
  AfterLanding.ogg
For reusable packs, folders are better because FlyHub can match them automatically. Minimal useful pack:
Announcements/
  PAX/
    BoardingWelcome.ogg
    SafetyBriefing.ogg
    AfterLanding.ogg
    DisembarkStarted.ogg
Passenger airline pack:
Announcements/
  AAL_PAX/
    BoardingWelcome.ogg
    BoardingWelcomePilot.ogg
    BoardingMusic.ogg
    BoardingComplete.ogg
    ArmDoors.ogg
    SafetyBriefing[A320].ogg
    SafetyBriefing[737].ogg
    AfterTakeoff.ogg
    TopOfDescentPilot.ogg
    AfterLanding[KDFW].ogg
    DisarmDoors.ogg
    DisembarkStarted.ogg
Cargo pack:
Announcements/
  FDX_Cargo/
    BoardingWelcome.ogg
    ArmDoors.ogg
    AfterTakeoff.ogg
    TopOfDescentPilot.ogg
    AfterLanding.ogg
    DisarmDoors.ogg

Troubleshooting

ProblemWhat to check
No audio devices appearClick Refresh. If the device still does not appear, click Add Device, select it from the OS picker, then choose it in FlyHub.
Audio plays from the wrong deviceSelect the device in the Audio tab. Use System default if Windows should route it.
Rescan finds no filesMake sure the selected folder contains pack folders or announcement audio files. For Fenix-style downloads, this is often the Announcements folder inside the downloaded package.
File appears to be ignoredCheck the file extension, size, and base name. The file must start with a known announcement name.
MEDIA_ELEMENT_ERROR: Format errorThe browser audio engine could not decode the file. Confirm it is a real .ogg, .wav, or .mp3, not a renamed file or unsupported codec.
Boarding does not auto-startUse manual Boarding phase or Play Next. For MSFS, enable GSX integration if you rely on GSX boarding. For X-Plane, your aircraft may not expose a reliable boarding signal.
Wrong airline pack playsCheck the SimBrief airline code and the pack selection priority. Use a manual sound pack override if needed.
Operation default file plays instead of airline fileAdd the missing file to the airline pack or disable operation fallback.
Music does not resumeEnable Resume Music in the Audio tab.
External view is silentCheck Camera Volume and External View Volume.

Best Practices

  • Keep PAX, Cargo, and VIP folders for operation-level fallbacks.
  • Use Default only when you want a manually selectable generic pack or a direct selected-root pack.
  • Use generic airline folders for passenger cabin identity. Use airline-operation folders such as DAL_Cargo or DAL_VIP when cargo or VIP flights need their own wording.
  • Put aircraft-specific safety briefings in tagged files, not separate folders.
  • Use airport tags only for announcements that truly mention the airport.
  • Preview every file after rescanning.
  • Keep file names simple and exact.
  • Prefer .ogg files encoded as real Ogg/Vorbis audio.
  • Use [mute] intentionally when a cargo or VIP pack should suppress an event that would sound unrealistic in that operation.