Skip to main content
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: 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: 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 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. 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. Audio device settings are saved between sessions.

Files Tab

Use Files to select and inspect the sound pack folder. 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:
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. 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.

Integrations Tab

Use Integrations for simulator add-ons. 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:
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.
Use operation folders for generic fallback packs: Use airline folders when the audio should match a specific airline:
Use airline plus operation folders when the same airline needs different passenger, cargo, or VIP audio:
Recommended folder names: 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. 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:
Tagged files:
Cruise elapsed files use a percent suffix:
Only these characters are recommended in file names:
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:

Announcement Files

Use these exact base names. 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. 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:
Common family tags include:
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:
Time tags use simulator local time when available:

Airport Tags

Use an airport ICAO code when a file is specific to an origin or destination:
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:
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:
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: 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.

Manual Phase Options

Manual phase selection marks earlier announcements complete so the next automatic trigger starts from a useful point.

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:
For reusable packs, folders are better because FlyHub can match them automatically. Minimal useful pack:
Passenger airline pack:
Cargo pack:

Troubleshooting

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.