Falcon BMS Forum
    • Categories
    • Unread
    • Recent
    • Popular
    • Website
    • Wiki
    • Discord
    • Contact
    • Register
    • Login
    1. Home
    2. Ricky
    R
    Offline
    • Profile
    • Following 0
    • Followers 0
    • Topics 6
    • Posts 90
    • Groups 0

    Ricky

    @Ricky

    252
    Reputation
    39
    Profile views
    90
    Posts
    0
    Followers
    0
    Following
    Joined
    Last Online

    Ricky Unfollow Follow

    Best posts made by Ricky

    • Virtual Crew Chief for BMS

      #anchor(Virtual Crew Chief for BMS v1.2)

      By Ricky and @Tomcattwo

      Virtual Crew Chief for BMS (VCC4BMS) provides a fully interactive crew chief to assist with your startup. Based on the original DCS Virtual Crew Chief by Bogey Dope (a real-life F-16 crew chief), VCC4BMS reacts to the actual movements, switch settings and data Falcon BMS produces for your aircraft. VCC4BMS can be included in, and works with, other Falcon BMS Voice Control software (such as Foxster’s FoxVox or SemlerPDX’s AVCS) using VoiceAttack (full version). VCC4BMS can be used with any combination of stick, throttle, rudder pedals and/or keyboard.

      Tremendous thanks to Bogey Dope for the original profile and Lightning for making his shared memory tools available.

      Download here

      Changelog
      1.2

      • Added a shutdown procedure. This can be triggered in two ways.
      1. The most realistic is that the crew chief starts the process by chocking the jet and establishing communications. In Falcon BMS, we need a trigger to make this happen. VCC4BMS watches for the canopy handle (spider) to be raised after landing. This is the first step of the “Prior to engine shutdown” checklist provided with Falcon BMS. Note that the shutdown procedure is only started if the jet has been in the air. Also note that you must be in a parking area for the chocks and EPU safety pin commands to work.
      2. To manually trigger the shutdown procedure, the command “Hey chief, install chocks” can be given. Adding “Hey chief” distinguishes this command from other profiles which might also contain an “Install chocks” command.

      1.1

      • Added responses in which the pilot is addressed as “ma’am” instead of “sir”. This can be configured by saying the command “Configure pilot gender” at any time.
      • After waving off, the crew chief now removes the chocks. This takes a while!
      • Improved the storage and retrieval of settings, such as the joystick axes.

      Updating instructions

      • If you have a previous version of VCC4BMS installed, delete it from VoiceAttack (click the profile actions menu with the + and arrows, “Delete Profile”).
      • Copy the folder “Sounds” to your VoiceAttack folder, overwriting any existing files.
      • If you had VCC4BMS included in another profile, such as SemlerPDX’s AVCS, you must redo this. See below for instructions.

      Installation instructions

      • It is recommended to uninstall the original DCS Virtual Crew Chief profile to avoid interference.
      • Install the new profile the usual way from VoiceAttack (profile actions menu, “Import Profile”, select the “Virtual Crew Chief for BMS.vap” file).
      • Copy the folders “Apps”, “Shared” and “Sounds” to your VoiceAttack folder. If you have installed VoiceAttack through Steam, this is usually “C:\Program Files (x86)\Steam\steamapps\common\VoiceAttack”. This should result in new folders “Virtual Crew Chief for BMS” in your “Apps” and “Sounds” folders and a new file “F4SharedMem.dll” in your “Shared\Assemblies” folder. Right click the “F4SharedMem.dll” file, choose “Properties”, then under “Attributes” make sure “Blocked” is not checked. If so, uncheck it and click “OK”.
      • If you have not already done so, assign your controllers (stick, throttle, rudder pedals) in VoiceAttack. Click the “Options” wrench icon, then click the button “Joystick Options”. Use the “Assign” buttons to assign your controllers to Joysticks 1/2/3/4, however many you need. Make sure the corresponding “Enable Joystick 1/2/3/4” checkboxes are checked.
      • The first time you run the profile, it will attempt to detect your joysticks and their axes. Just follow the instructions in VoiceAttack. If you do not have a certain controller (such as rudder pedals or toe brakes), hold S to skip configuring it. You can always rerun the configuration by saying the command “Configure joysticks”.
      • It is recommended to have the profile only send its commands to Falcon BMS. To do this, click the “Edit Profile” pencil icon, then the Options button (top center). Under Profile General tab, click the radio button next to the empty field under “Send Commands to this target:”. Select or type “Falcon BMS.exe”. Confirm by clicking “OK” and then the “Done” button.

      Including VCC4BMS in another VoiceAttack profile

      • You might want to include this profile in another profile, such as SemlerPDX’s AVCS. This can be done by making “AVCS4 Falcon BMS Radios” the active profile and then following the diagram below.

      9e2f121f-9210-4017-b833-d657dbd29040-Including profile.png

      Differences with the original DCS Virtual Crew Chief
      In general:

      • The commands do not start and stop VoiceAttack from listening for commands anymore. All commands block each other automatically now. This has removed the need for the “Hey chief” phrase to start a command.
      • Similarly, the “Disregard / Standby” phrase has also gotten a new function. This now stops any currently running command. This could be useful for when you want to break out of a situation where the crew chief is waiting for something to happen.
      • Many of the commands have been made more reliable by adding more variations on words and phrases.
      • A few commands have gotten an extra “Copy” or “Yes” as a response, just so you know the phrase was recognized.

      Specific notes per command:

      1. Comms Check
        Now waits for your response “Loud and clear / Lima charlie / Good / etc.” before continuing. Confirms with an extra “Yes”.
      2. JFS Start 2
        Now waits for RPM to run up before confirming a good start.
      3. EPU Check
        Now presses the keys T 1 to actually remove the EPU pin.
      4. EPU Check Complete
        No functional changes.
      5. SEC Check
        Now waits for the nozzle to close before continuing.
      6. Run Up
        Unchanged. Not really necessary, because the crew chief confirms you are clear to run up in the previous step.
      7. SEC Check Good
        Now confirms command with “Copy”. Waits for the nozzle to open before continuing. Then continues to the speed brakes check, waiting in turn for the speed brakes to open and close. This might need to be moved to the next step, but this is how it was in the original profile.
      8. Flight Controls Clear
        No functional changes.
      9. BIT Check
        No functional changes.
      10. Trim Check
        No functional changes.
      11. FLCS Disconnected
        Now only confirms no movement if the trims actually do not move during check.
      12. FLCS Connected
        Now waits for each trim to move before confirming. Trims can be checked in any order.
      13. Big Movements / 14. DBU Movements
        Now waits for each flight control input before confirming. Flight controls can be checked in any order.
        Because the shared memory does not contain any information on the position of the control surfaces, VoiceAttack reads the positions of your stick and rudder pedals instead. This is why they need to be configured when running the profile the first time.
        Keyboard input works too, using the default keys for flight control: ctrl + shift + arrow up/down/left/right for the stick and comma (,) and dot (.) for the rudder pedals.
        The shared memory also does not indicate whether manual pitch override (MPO) is enabled or not. This means the kick can only be checked by using the keyboard input for the MPO switch. The default key is O and it needs to be held down for a second. Do not forget to reset the switch to NORM afterwards.
      14. Ready Left Brake / 17. Ready Right Brake
        No functional changes.
      15. / 18. Brake Channels
        Now waits for brake movement before confirming. Then waits for movement to stop before continuing. If there is no movement within a few seconds after starting the command, the crew chief reports no movement.
        Again, the shared memory does not offer information on the position of the brakes, so VoiceAttack is reading the position of your toe brakes.
        Keyboard is also supported, using the default key for wheel brakes: K.
      16. Refuel Door Check
        Now waits for refuel door to open and close before confirming.
      17. Cleared Off
        Now presses the keys T 2 to remove the chocks. It takes the crew chief 90 seconds to do this! He/She needs to unplug his/her headset at the Ground Comm panel, pull the starboard wheel chocks, duck under the nozzle, and finally pull the port side wheel chocks.
      18. Shutdown
        New procedure triggered by raising the canopy handle after landing or by saying “Hey chief, install chocks”. Installs chocks, places EPU safety pin, and clears for shutdown.

      The Conversational commands have remained unchanged.

      posted in Voice Control
      R
      Ricky
    • RE: Virtual crew chief

      Quick update for tonight. I’ve made a lot of progress. Most commands now work with feedback from the sim.

      Even better news: I’ve been in touch with Bogey Dope. He graciously gave me permission to modify and republish his profile for use with BMS. What a great guy! In fact, we’re now talking about hopefully adding some new recordings to the profile to respond to bad situations, like a hot start. I’ll keep you all posted!

      posted in Voice Control
      R
      Ricky
    • Virtual crew chief

      This is a pretty awesome Voice Attack profile that adds a virtual crew chief to the DCS F-16. It’s made by Bogey Dope, who has a good YouTube channel with DCS and BMS videos and tutorials. He was also a real crew chief in the US Airforce.

      If this is too off-topic because it’s for DCS, my apologies. But it’s such a great idea, I loved seeing it work. And maybe I’ll get in touch with Bogey Dope about a BMS version.

      posted in Voice Control
      R
      Ricky
    • BMS voices

      Hi all,

      About a year ago, I started experimenting with training voice models based on the existing BMS voices. @Tomcattwo did similar work and shared it with us here.

      Unfortunately, I lost access to the GPU cluster I was using at the time, so I put the project on hold. However, I finally got some new GPU time since a few weeks, so I picked up where I left off. As a first experiment, I trained the first pilot voice from BMS on StyleTTS2. This was literally the first attempt, but the results were encouraging enough that I wanted to share them with you.

      Hello world
      Ghostrider
      Maddogs

      There’s still a lot to improve. I think the model is overfitting because of the limited training data. Training a multispeaker model might help with that. Also, there are a bunch a variables I can still play with for training and inference, so the results can definitely be finetuned further.

      @Tomcattwo, let me know if you want to work on this together.
      @Mav-jp, need any new frags? We can also make full sentences now, if that’s easier.
      @Boxer, we’ve had email contact a year ago about this, sorry it took so long. 🙂

      posted in Sounds
      R
      Ricky
    • RE: Virtual crew chief

      I’ve been playing around with getting VoiceAttack to read BMS’s shared memory, so that we can have our crew chief respond to actual events, instead of relying on timing and delays. Here’s the steps I’ve taken for a proof of concept:

      1. Recompile F4SharedMem.dll from Lightning’s tools (https://github.com/lightningviper/lightningstools/) for 64-bit instead of 32-bit, because recent versions of VoiceAttack have become 64-bit applications.

      2. Place the new dll in VoiceAttack’s folder under Shared/Assemblies. Another location is fine too, but then you have to specify the whole path when we reference the dll from VoiceAttack.

      3. Copy the sound files 10SpeedBreaksOpen.mp3 and 11SpeedBreaksClosed.mp3 from the original Virtual Crew Chief profile to VoiceAttack’s Sound folder.

      4. Create a new command. Use “speed brakes clear” as the voice command. Create the following sequence:

      73ecb448-4f1d-4437-a1a8-2ad44d60c850-image.png

      These steps set a variable SpeedBrakesOpen to False at the start. A loop is then started, checking the status of the speed brakes until they open. The loop is then ended and the sound of the crew chief saying the brakes are open is played. This process is then repeated, but waiting for the brakes to close and playing the corresponding sound.

      The inline C# function is what allows us to use F4SharedMem to get current values from the sim:

      using System;
      using System.Collections.Generic;
      using System.ComponentModel;
      using System.Data;
      using System.Drawing;
      using System.Linq;
      using System.Text;
      using System.Threading.Tasks;
      using System.Windows.Forms;
      using F4SharedMem;
      
      public class VAInline
      {
      	private Reader sharedMemReader = new Reader();
      	private FlightData currentFlightData;
      		
      	public void main()
      	{
      		currentFlightData = sharedMemReader.GetCurrentData();
      		float speedBrake = currentFlightData.speedBrake;
      		VA.SetBoolean("speedBrakesOpen", Convert.ToBoolean(speedBrake));
      	}
      }
      

      To make this work, the F4SharedMem.dll must be added to the Referenced Assemblies at the top:

      d81269e0-6a88-4591-aa24-d5b68ada813d-image.png

      And done!

      I think this principle should work for any data that’s available in the shared memory. Instead of booleans, the loops could also check for when a value passes a certain level, such as for the nozzle position.

      To improve usability, I guess the loops need a way to cancel the command and stuff like that, but I just wanted to test the idea out first.

      What do you all think? Shall I try building this for all the checks and commands? Or should anything be improved in the method first?

      posted in Voice Control
      R
      Ricky
    • RE: Virtual Crew Chief for BMS

      Version 1.2 is out!

      This includes the new shutdown procedure. Thanks for everybody’s input on this!

      posted in Voice Control
      R
      Ricky
    • RE: Virtual crew chief

      An early version of the new profile just went to @Tomcattwo, who offered to help out with testing. If nothing super weird comes up, the first release will be very soon.

      posted in Voice Control
      R
      Ricky
    • RE: Virtual Crew Chief for BMS

      1.1 is out! I’ve updated the first post.

      @Tomcattwo’s contribution has grown into much more than just helping with testing and support. So we are now co-authoring VCC4BMS.

      @Wingedsky and @CriticalMass, I hope this update solves your problem with the joystick axes. Let us know how it goes.

      posted in Voice Control
      R
      Ricky
    • RE: Ramp start, checklists, and training manual

      @Noodle If you want to get more familiar with following the full checklists, it can really help to watch a few examples. There are many videos of people doing ramp starts on YouTube. This one is good because it follows the procedures to the letter and has lots of explanation:

      Watching other examples is also useful, because you start seeing little differences between how people do things, which helps you develop your own flow.

      posted in Community Support (BMS Q&A)
      R
      Ricky
    • RE: Virtual crew chief

      @SemlerPDX Thanks for the help! @Tomcattwo and I are looking into simply using VoiceAttack itself to include the VCC profile into yours. If we run into any trouble there, I’ll be sure to ask you for advice.

      Another update: @Tomcattwo has just sent me his (awesome!) feedback. Really polishing some details here. Once we’ve combined all our work, every single check will respond to the sim.

      posted in Voice Control
      R
      Ricky

    Latest posts made by Ricky

    • RE: BMS voices

      @Scorpion82 said in BMS voices:

      nice one, the two last links seem not to work.

      Oh sorry, it seems to be a problem with Onedrive. I’ve updated the links and sometimes refreshing the page after clicking on the link also works. If it doesn’t, I’ll move the files somewhere else for hosting.

      So it’s also a thing for training missions. Quite interesting.

      Yes, could be used for anything.

      posted in Sounds
      R
      Ricky
    • BMS voices

      Hi all,

      About a year ago, I started experimenting with training voice models based on the existing BMS voices. @Tomcattwo did similar work and shared it with us here.

      Unfortunately, I lost access to the GPU cluster I was using at the time, so I put the project on hold. However, I finally got some new GPU time since a few weeks, so I picked up where I left off. As a first experiment, I trained the first pilot voice from BMS on StyleTTS2. This was literally the first attempt, but the results were encouraging enough that I wanted to share them with you.

      Hello world
      Ghostrider
      Maddogs

      There’s still a lot to improve. I think the model is overfitting because of the limited training data. Training a multispeaker model might help with that. Also, there are a bunch a variables I can still play with for training and inference, so the results can definitely be finetuned further.

      @Tomcattwo, let me know if you want to work on this together.
      @Mav-jp, need any new frags? We can also make full sentences now, if that’s easier.
      @Boxer, we’ve had email contact a year ago about this, sorry it took so long. 🙂

      posted in Sounds
      R
      Ricky
    • RE: Shared Memory bit "solenoidStatus"

      @Tulkas

      You can grab Lightning’s shared memory viewer here. Together with the comments in the header file (the .h file), it really helps when figuring out the exact working of each value.

      SolenoidStatus goes on/true when the gear handle is permitted to move.

      You can get WOW separately too, if you need it, but for the solenoid it shouldn’t be necessary.

      posted in Community Support (BMS Q&A)
      R
      Ricky
    • RE: Shared Memory bit "solenoidStatus"

      Check out FlightData.h in your BMS directory -> Tools -> SharedMem.

      posted in Community Support (BMS Q&A)
      R
      Ricky
    • RE: Morphine with 4.37.7

      This Morphine profile, it just… won’t… die.

      posted in Thrustmaster
      R
      Ricky
    • RE: Virtual Crew Chief for BMS

      Thanks for the files, @Tomcattwo! I’ve made a new version which now also checks whether we’re on the ground before giving the “Say again” response. I was rushing it a bit last night. 😬

      I’ve only included the new sound files in the zip for now.

      https://www.mediafire.com/file/625pyomh9q66anq/Virtual+Crew+Chief+for+BMS+v1.3+beta.zip/file

      posted in Voice Control
      R
      Ricky
    • RE: Virtual Crew Chief for BMS

      @MudDog Give this a try:

      https://www.mediafire.com/file/pm0lqjb6uw3e690/Virtual+Crew+Chief+for+BMS+v1.2+-+Say+again.vap/file

      I’ve added a new command called “Say again”. In this version of the profile, it should play when a phrase is not recognized. If not, click the pencil icon next to the profile dropdown menu, click Options, then click the second tab Profile Exec. Check if “Execute a command each time a phrase is unrecognized” is checked. The command selected there should be “Say again”.

      I only have recordings of “Say again” for when the pilot is male, so the crew chief will always say “sir” for this one.

      Let me know if this works well. If we want to keep it, I’ll release a proper 1.3 version with this addition and update the documentation.

      posted in Voice Control
      R
      Ricky
    • RE: The EF2000 RETRO Project

      @Scorpion82 said in The EF2000 RETRO Project:

      However, the Add-On has reached a state of maturity where I’d like to launch a closed beta testing session.

      That’s pretty impressive! Good luck!

      posted in Community Mods & Tools
      R
      Ricky
    • RE: Ramp start, checklists, and training manual

      @Noodle If you want to get more familiar with following the full checklists, it can really help to watch a few examples. There are many videos of people doing ramp starts on YouTube. This one is good because it follows the procedures to the letter and has lots of explanation:

      Watching other examples is also useful, because you start seeing little differences between how people do things, which helps you develop your own flow.

      posted in Community Support (BMS Q&A)
      R
      Ricky
    • RE: RTT export rate

      @pyhg The lower power consumption would be consistent with a framerate limiter being on somewhere.

      posted in Community Support (BMS Q&A)
      R
      Ricky