January 26Jan 26 Well, you can have them back more or less faithfully. I made something in LUA that enables you to have them all back, but i am not prepared to give any support for this. Use it if you know how to. You will need to extract the original PMDG MD-11 sound files (i cannot provide them obviously) from an original installation. Place them in a folder in your main FSUIPC directory called "TFDiMD11_Callouts". The sounds will need to be renamed (i wanted to do so for my personal use) according to the callouts in the LUA script below. It's pretty straightforward. IF you want to keep the original filenames, rename them in the script instead. If you want to use the names in the script, for each line with "play_callout" like this => play_callout("sound") you will need to have a file in the TFDiMD11_Callouts folder named "sound.wav". So, for 80 knots for example play_callout("80_knots"), rename the original PMDG MD-11 sound for "80 knots" to 80_knots.wav and put it inside the TFDiMD11_Callouts folder. Easy eh? To use it, place the .lua script in the FSUIPC root folder, call it whatever you like and have it load up automatically like this in FSUIPC.ini (bottom section): [Auto] 1=Lua <your script name> for "your script name.lua". Do not put .lua in the FSUIPC.ini entry. Now all you have to do is enjoy going back to the past with these actually real nice callouts from Mr Randazzo himself. NOTE: Not all sounds are 100% accurate in placement. You will notice "reverse thrust available", "localizer's alive" and "glideslope's alive" have some trickery going on to have them play at more or less the right situation. Improvements can be made to detect these accurately, but this works good enough for me. If anyone wishes to improve on this, go ahead, this is posted here for the community. I hope this is useful for anyone out there, it sure brought back memories of the good old days. Enjoy! local acft = ipc.readSTR(0x3C00, 256) local acft_l = string.lower(acft) if not string.find(acft_l, "tfdi_design_md-11", 1, true) then ipc.log(">>> Not an MD-11, exiting") ipc.log("aircraft: " .. acft) ipc.exit() end ipc.log(">>> TFDi MD-11 detected, starting callouts") local last_sound_played = nil -- prevents simultaneous duplicate callouts local reverse_pending = false local called = {} local sounds = "TFDiMD11_Callouts/" local tick = 0 local has_been_airborne = false local has_touched_down = false local loc_time = 0 local prev_gs = 0 local function bit_is_set(value, bit) return math.floor(value / (2 ^ bit)) % 2 == 1 end function once(name) if not called[name] then called[name] = true return true end return false end function md11_fast() local ias = ipc.readSD(0x02BC) / 128 local on_ground = ipc.readUW(0x0366) == 1 local vs = ipc.readSD(0x02C8) local gs = ipc.readDBL(0x6030) * 1.9438444924574 -- Configured MD-11 MCDU Speeds v1_speed = ipc.readLvar("md11_v1") vr_speed = ipc.readLvar("md11_vr") local v1vr_delta = vr_speed - v1_speed -- AIRBORNE DETECT if not on_ground then has_been_airborne = true end -- TOUCHDOWN DETECT if has_been_airborne and on_ground and not has_touched_down then has_touched_down = true end -- THRUST SET if on_ground and ias >= 60 and once("thrust_set") then play_callout("thrust_set") end -- 80 KNOTS if ias >= 80 and once("80_knots") then play_callout("80_knots") end -- V1 (Do not play if too close to VR to avoid overlap) if v1_speed > 0 and ias >= v1_speed and v1vr_delta > 4 and once("v1") then play_callout("v1") end -- ROTATE if vr_speed > 0 and ias >= vr_speed and once("rotate") then play_callout("rotate") end -- POSITIVE RATE if not on_ground and vs > 300 and once("positive_rate") then play_callout("positive_rate") end -- 60 KNOTS (landing rollout – GS crossing) if has_touched_down and prev_gs > 60 and gs <= 60 and once("60_knots") then play_callout("60_knots") end prev_gs = gs md11_loc_gs_check() end function md11_slow() local on_ground = ipc.readUW(0x0366) == 1 local ap = ipc.readLvar("md11_ap_state") local gear = ipc.readUW(0x0BE8) local spoilers = ipc.readLvar("MD11_EXT_R_SPOILER_1") -- GEAR UP if not on_ground and gear == 0 and once("gear_up") then play_callout("gear_up") end -- AUTOPILOT if not on_ground and ap > 0 and once("autoflight") then play_callout("autoflight") end -- SPOILERS DEPLOYED if on_ground and spoilers > 30 and once("spoilers") and has_touched_down then play_callout("spoilers_deployed") reverse_pending = true event.timer(3000, "md11_reverse_thrust_callout") end md11_flap_slat_check() end function md11_reverse_thrust_callout() if reverse_pending then play_callout("reverse_thrust_available") reverse_pending = false end end -- helper to play a sound safely function play_callout(name) if last_sound_played ~= name then sound.play(sounds .. name .. ".wav") last_sound_played = name end end -- ================= FLAPS / SLATS (FINAL) ================= local last_flap_rng = nil function md11_flap_slat_check() local flap_rng = ipc.readLvar("MD11_FLAP_RNG") local on_ground = ipc.readUW(0x0366) == 1 -- initialise if last_flap_rng == nil then last_flap_rng = flap_rng return end -- ================= SLATS EXTENDED ================= -- CLEAN → FLAPS 0 if last_flap_rng == 0 and flap_rng == 20 then play_callout("slats_extended") end -- ================= FLAPS UP ================= -- Any FLAPS → FLAPS 0 if last_flap_rng > 20 and flap_rng == 20 then play_callout("flaps_up") end -- ================= SLATS RETRACTED ================= if last_flap_rng == 20 and flap_rng == 0 then play_callout("slats_retract") end -- ================= FLAP POSITION ================= if flap_rng ~= last_flap_rng then if flap_rng == 70 then play_callout("flaps_28") end if flap_rng == 82 then play_callout("flaps_35") end if flap_rng == 100 then play_callout("flaps_50") end end last_flap_rng = flap_rng end -- ================= ILS STATE ================= local loc_announced = false local gs_announced = false local loc_detect_time = nil local gs_detect_time = nil -- ================= ILS CHECK ================= function md11_loc_gs_check() local nav_flags = ipc.readUB(0x0C4A) -- NAV1 flags local gs_flag = ipc.readUB(0x0C4C) -- GS alive local now = ipc.elapsedtime() -- LOC is considered alive only if both bits are stable local loc_alive = bit_is_set(nav_flags, 1) and bit_is_set(nav_flags, 7) -- ================= LOCALIZER ================= if loc_alive and not loc_announced then -- first time we see it → arm timer if not loc_detect_time then loc_detect_time = now end -- stable for 5 seconds → announce if (now - loc_detect_time) >= 10000 then play_callout("localizer_alive") loc_announced = true loc_detect_time = nil end else -- signal dropped → reset loc_detect_time = nil end -- ================= GLIDESLOPE ================= if gs_flag == 1 and loc_announced and not gs_announced then -- arm GS timer if not gs_detect_time then gs_detect_time = now end -- stable for 5 seconds → announce if (now - gs_detect_time) >= 10000 then play_callout("glideslope_alive") gs_announced = true gs_detect_time = nil end else -- GS dropped or LOC not confirmed → reset gs_detect_time = nil end end function md11_main() tick = tick + 1 md11_fast() -- every tick (IAS, on-ground) if tick % 4 == 0 then -- every 1 second md11_slow() end end event.timer(250, "md11_main") Edited January 26Jan 26 by Nuno Pinto CASE: Fractal Terra Silver CPU: AMD R5 7800X3D 5.0Ghz RAM: 32GB DDR5 6000 GPU: nVidia RTX 4070 Ti SUPER · SSDs: Samsung 990 PRO 2TB M.2 PCIe · PNY XLR8 CS3040 2TB M.2 PCIe · VIDEO: LG-32GK650F QHD 32" 144Hz FREE/G-SYNC · MISC: Thrustmaster TCA Airbus Joystick + Throttle Quadrant · MSFS2024 · Windows 11
January 26Jan 26 O Nuno está na Lua 😁 Flying gliders since 1980 Flightsimming since 1992 AMD Ryzen 5600x, 32GB RAM, GPU Nvidia RTX 3060 Ti 8 GB, 1 TB and 500 GB nvme2 SSD drives, HP 27" 60Hz LED monitor @ 1920x1080, T16000, Hotas from old X52 Pro, Saitek Combat Rudder Pro (2010 model)
January 27Jan 27 Do you mean like STABLIZER MOTION STABILIZER MOTION Or do you mean like 200 100 50 etc. Rhett 7800X3D ♣ 96 GB G.Skill Flare ♣ Gigabyte 4090 ♣ Crucial P5 Plus 2TB
January 27Jan 27 Thanks. A bit of nice memory from that good old PMDG MD-11…🙂… I had always found those call-out sounds right after liftoff and especially during the engagement of AUTOFLIGHT and PROF etc., rather pleasing…
January 27Jan 27 Author 1 hour ago, Mace said: Do you mean like STABLIZER MOTION STABILIZER MOTION Or do you mean like 200 100 50 etc. No, i mean "Thrust set!" "80 Knots!" "V1!" "Rotate" etc etc just like PMDG's MD-11 had back in the day. CASE: Fractal Terra Silver CPU: AMD R5 7800X3D 5.0Ghz RAM: 32GB DDR5 6000 GPU: nVidia RTX 4070 Ti SUPER · SSDs: Samsung 990 PRO 2TB M.2 PCIe · PNY XLR8 CS3040 2TB M.2 PCIe · VIDEO: LG-32GK650F QHD 32" 144Hz FREE/G-SYNC · MISC: Thrustmaster TCA Airbus Joystick + Throttle Quadrant · MSFS2024 · Windows 11
January 27Jan 27 Author 4 hours ago, jcomm said: O Nuno está na Lua 😁 LOL you bet! CASE: Fractal Terra Silver CPU: AMD R5 7800X3D 5.0Ghz RAM: 32GB DDR5 6000 GPU: nVidia RTX 4070 Ti SUPER · SSDs: Samsung 990 PRO 2TB M.2 PCIe · PNY XLR8 CS3040 2TB M.2 PCIe · VIDEO: LG-32GK650F QHD 32" 144Hz FREE/G-SYNC · MISC: Thrustmaster TCA Airbus Joystick + Throttle Quadrant · MSFS2024 · Windows 11
January 27Jan 27 6 hours ago, jcomm said: O Nuno está na Lua 😁 I gather you're over the moon about having those calllouts back? 😉
January 27Jan 27 11 hours ago, weaklink said: I gather you're over the moon about having those calllouts back? 😉 No speak Portuguese here...🙂...so, the Google Translator helped...though I believe something essential is always lost in the process of translation...🙂...
January 27Jan 27 12 hours ago, Nuno Pinto said: No, i mean "Thrust set!" "80 Knots!" "V1!" "Rotate" etc etc just like PMDG's MD-11 had back in the day. Does the TDFI MD-11 not have those callouts? Rhett 7800X3D ♣ 96 GB G.Skill Flare ♣ Gigabyte 4090 ♣ Crucial P5 Plus 2TB
January 27Jan 27 Just FYI, here are the PMDG MD-11 (specific) set of automated aural callouts (per Deep Dive AI; completeness and accuracy un-verified): Takeoff and Climb: 80 Knots: Annunciated during the takeoff roll to verify airspeed. V1: Indicates the takeoff decision speed has been reached. Rotate / VR: Signifies the speed to rotate the aircraft nose upward. Positive Rate: Often followed by the landing gear being raised. Stabilizer Motion: A unique MD-11 warning (a "clacker" sound) that triggers during continuous horizontal stabilizer movement Radio Altitude (Approach/Landing): The aircraft provides specific height callouts based on radio altimeters to assist with landing flares: 1000, 500, 400, 300, 200, 100 50, 40, 30, 20, 10 Minimums: Triggered based on the pilot-set decision altitude. Warning and Alert Sounds: These sounds correspond to system status or emergency conditions: "Pull Up" / "Terrain": GPWS warnings for ground proximity. "Windshear": Alerts the crew to rapid changes in wind speed or direction. "Sink Rate": Warns of an excessive rate of descent. "Bank Angle": Warns when the aircraft exceeds safe roll limits. Master Warning/Caution: Flashing lights accompanied by distinct aural alerts for system failures (e.g., engine fire, hydraulic failure). Configuration and Surface Alerts: "Spoilers": Confirms spoiler deployment. "Flaps": Callouts relating to flap and slat configuration. "Landing Gear": Alerts for gear position or movement.
January 27Jan 27 Author 42 minutes ago, Mace said: Does the TDFI MD-11 not have those callouts? Nope. That's why i made the script, it enriches the cockpit. I particularly liked those voices dunno why. There is a similar script for the Fenix A320 which inspired me to do this (the fenix script is WAY more complex and elaborated). CASE: Fractal Terra Silver CPU: AMD R5 7800X3D 5.0Ghz RAM: 32GB DDR5 6000 GPU: nVidia RTX 4070 Ti SUPER · SSDs: Samsung 990 PRO 2TB M.2 PCIe · PNY XLR8 CS3040 2TB M.2 PCIe · VIDEO: LG-32GK650F QHD 32" 144Hz FREE/G-SYNC · MISC: Thrustmaster TCA Airbus Joystick + Throttle Quadrant · MSFS2024 · Windows 11
January 27Jan 27 Lovely idea but I wonder if anyone still has access to the PMDG MD-11, in FS9 or FSX. 😊 Wouldn't you need FS9 or FSX to be installed, in order to extract the sound files? Bill 😎FS2024 • Currently in 'GA mode' : A2A Comanche 2024 & Aerostar • Black Square C208, Bonanzas, Barons, TBM850, Dukes • COWS DA40 & DA42 • FSW Legacy, C24R Sierra & C414 • Echo Falco F8L • FFX HJET, Visionjet and P180 2024 • Got Friends A32 Vixxen • FSReborn Sirius TL3000, Sting S4 and Piper M500 • Flyboy Rans S6S • Skyward DA50RG • SWS Zenith CH701, RV-8, RV-10, RV-14, PC12 • Milviz C310R • Air Foil Labs Bristell B23 TrackIR • BeyondATC • PMS GTN Payware • RealTurb • Axis & Ohs • FS Realistic Pro9800X3D • RTX 3080 • 64GB DDR5-6000NPPL licence holder in the UK
January 27Jan 27 24 minutes ago, JYW said: Lovely idea but I wonder if anyone still has access to the PMDG MD-11, in FS9 or FSX. 😊 Wouldn't you need FS9 or FSX to be installed, in order to extract the sound files? Yes, correct, JY. That’s why Nuno can only tell you how to do it but “cannot provide the sounds obviously” . My FSX PC with the installed PMDG MD-11 is still around in the basement…though possibly covered by cobwebs by now…🙂…but I can bear to fire it up for a few minutes to recover the sound files, if so needed.
January 28Jan 28 6 hours ago, Nuno Pinto said: Nope. That's why i made the script, it enriches the cockpit. I particularly liked those voices dunno why. There is a similar script for the Fenix A320 which inspired me to do this (the fenix script is WAY more complex and elaborated). Wow! I am surprised the TDFI one doesn't have those callouts. I remember those from the PMDG days but that was a long time ago! I wonder if only certain customers had all of those callouts, or just some of them, or if all MD-11's had all of them. If all had them, maybe TDFI can add them or someone can do a sound set for it. Rhett 7800X3D ♣ 96 GB G.Skill Flare ♣ Gigabyte 4090 ♣ Crucial P5 Plus 2TB
January 28Jan 28 I loved the PMDG MD11. Those callouts were great especially APPROACHING MINIMUM and then a really quick Minimum! The whole soundset was top notch. Edited January 28Jan 28 by Max Kraus Regards, Max (YSSY) i7-12700K | Corsair Vengeance LPX 64GB 3600MHz DDR4 | Gigabyte RTX4090 24Gb | Gigabyte Z690 AORUS ELITE DDR4 | Corsair HX1200 PSU
Create an account or sign in to comment