From 45990a8788301ebbd7c100fd18affba130741134 Mon Sep 17 00:00:00 2001 From: Frank Date: Sun, 24 Dec 2023 03:27:55 +0100 Subject: [PATCH] MSRS - Added demo --- .gitignore | 5 ++ .project | 6 +++ .../MSRS - 010 - Config Windows.lua | 26 +++++++++ .../MSRS - 010 - Config Windows.miz | Bin 0 -> 10761 bytes .../Moose_MSRS.lua | 40 ++++++++++++++ .../TAD-A2G-100 - TYPES - Detection test.lua | 51 ------------------ 6 files changed, 77 insertions(+), 51 deletions(-) create mode 100644 .gitignore create mode 100644 Sound/MSRS/MSRS - 010 - Config Windows/MSRS - 010 - Config Windows.lua create mode 100644 Sound/MSRS/MSRS - 010 - Config Windows/MSRS - 010 - Config Windows.miz create mode 100644 Sound/MSRS/MSRS - 010 - Config Windows/Moose_MSRS.lua delete mode 100644 TAD - Task Dispatching/A2G - Air 2 Ground Task Dispatching/TAD-A2G-100 - TYPES - Detection Test/TAD-A2G-100 - TYPES - Detection test.lua diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000000..85b0047ccc --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ + +.buildpath +.project +.project +.settings/org.eclipse.ldt.prefs diff --git a/.project b/.project index 05df89ee44..01c398abf7 100644 --- a/.project +++ b/.project @@ -5,7 +5,13 @@ + + org.eclipse.dltk.core.scriptbuilder + + + + org.eclipse.ldt.nature diff --git a/Sound/MSRS/MSRS - 010 - Config Windows/MSRS - 010 - Config Windows.lua b/Sound/MSRS/MSRS - 010 - Config Windows/MSRS - 010 - Config Windows.lua new file mode 100644 index 0000000000..509627b38f --- /dev/null +++ b/Sound/MSRS/MSRS - 010 - Config Windows/MSRS - 010 - Config Windows.lua @@ -0,0 +1,26 @@ +---- +-- MSRS: Config Windows +-- +-- This is a simple demo mission that shows how to use the MSRS class to provide text-to-speech via SRS. +-- Therefore, you need to have the SRS cliend and server installed and running on your system. +-- +-- The parameters are taken from a config file "Moose_MSRS.lua", which is included in the demo directory. +-- You need to copy this file to your "Saved Games/DCS/Config/" directory and adjust the necessary parameters. +-- In particular, you need to set the path where SRS is installed on your system. +-- Also the voice used will be "Microsoft Hazel Desktop". You need to either install that on your windows +-- system or change it to a voice you have installed. +-- The config file is automatically loaded when Moose is loaded. So you do not need to worry about it. +-- +-- First, we create a MSRS instance, which will transmit on 305 MHz AM. +-- The text is then broadcasted after 5 seconds. +-- +-- You can either use the SRS awacs overlay or just into the F/A-18 Hornet client to listen in on the transmission. +--- + + +-- Create a new MSRS instance. Frequency is 305 MHz AM(=0). +-- The first parameter (nil) is the SRS installation path. This is taken from the Moose_MSRS.lua config file. +local msrs=MSRS:New(nil, 305.00, 0) + +-- Broadcast text after 5 seconds. +msrs:PlayText("Hello World, this is the Moose simple radio text-to-speech class speaking.", 5) diff --git a/Sound/MSRS/MSRS - 010 - Config Windows/MSRS - 010 - Config Windows.miz b/Sound/MSRS/MSRS - 010 - Config Windows/MSRS - 010 - Config Windows.miz new file mode 100644 index 0000000000000000000000000000000000000000..cc1119297c0a7c7ae4d8d7978bb6e04f663d42eb GIT binary patch literal 10761 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 literal 0 HcmV?d00001 diff --git a/Sound/MSRS/MSRS - 010 - Config Windows/Moose_MSRS.lua b/Sound/MSRS/MSRS - 010 - Config Windows/Moose_MSRS.lua new file mode 100644 index 0000000000..0947b80c23 --- /dev/null +++ b/Sound/MSRS/MSRS - 010 - Config Windows/Moose_MSRS.lua @@ -0,0 +1,40 @@ + -- Moose MSRS default Config + MSRS_Config = { + Path = "C:\\Program Files\\DCS-SimpleRadio-Standalone", -- Path to SRS install directory. Mind the double backslashes. + Port = 5002, -- Port of SRS server. Default 5002. + Backend = "srsexe", -- Interface to SRS: "srsexe" or "grpc". + Frequency = {127, 243}, -- Default frequences. Must be a table 1..n entries! + Modulation = {0,0}, -- Default modulations. Must be a table, 1..n entries, one for each frequency! + Volume = 1.0, -- Default volume [0,1]. + Coalition = 0, -- 0 = Neutral, 1 = Red, 2 = Blue (only a factor if SRS server has encryption enabled). + Coordinate = {0,0,0}, -- x, y, alt (only a factor if SRS server has line-of-sight and/or distance limit enabled). + Culture = "en-GB", + Gender = "male", + Voice = "Microsoft Hazel Desktop", -- Voice that is used if no explicit provider voice is specified. + Label = "MSRS", + Provider = "win", --Provider for generating TTS (win, gcloud, azure, asw). + + -- Windows + win = { + voice = "Microsoft Hazel Desktop", -- Native Windows TTS engine. That voice needs to be installed on your system. + }, + -- Google Cloud + gcloud = { + voice = "en-GB-Standard-A", -- The Google Cloud voice to use (see https://cloud.google.com/text-to-speech/docs/voices). + credentials="C:\\Program Files\\DCS-SimpleRadio-Standalone\\yourfilename.json", -- Full path to credentials JSON file (only for SRS-TTS.exe backend) + key="Your access Key", -- Google API access key (only for DCS-gRPC backend) + }, + -- Amazon Web Service + aws = { + voice = "Brian", -- The default AWS voice to use (see https://docs.aws.amazon.com/polly/latest/dg/voicelist.html). + key="Your Access Key", -- Your AWS key. + secret="Your secret key", -- Your AWS secret key. + region="eu-central-1", -- Your AWS region (see https://docs.aws.amazon.com/general/latest/gr/pol.html). + }, + -- Microsoft Azure + azure = { + voice="en-US-AriaNeural", --The default Azure voice to use (see https://learn.microsoft.com/azure/cognitive-services/speech-service/language-support). + key="Your access key", -- Your Azure access key. + region="westeurope", -- The Azure region to use (see https://learn.microsoft.com/en-us/azure/cognitive-services/speech-service/regions). + }, + } \ No newline at end of file diff --git a/TAD - Task Dispatching/A2G - Air 2 Ground Task Dispatching/TAD-A2G-100 - TYPES - Detection Test/TAD-A2G-100 - TYPES - Detection test.lua b/TAD - Task Dispatching/A2G - Air 2 Ground Task Dispatching/TAD-A2G-100 - TYPES - Detection Test/TAD-A2G-100 - TYPES - Detection test.lua deleted file mode 100644 index f3c3bb7f5d..0000000000 --- a/TAD - Task Dispatching/A2G - Air 2 Ground Task Dispatching/TAD-A2G-100 - TYPES - Detection Test/TAD-A2G-100 - TYPES - Detection test.lua +++ /dev/null @@ -1,51 +0,0 @@ - --- --- Name: TAD-A2G-100 - TYPES - Detection Test --- Author: FlightControl --- Date Created: 15 Mar 2018 --- --- # Situation: --- --- This mission demonstrates the dynamic task dispatching for Air to Ground operations. --- Reconnassance vehicles are placed at strategic locations, scanning for the enemy locations. --- The detection method used is the DETECTION_TYPES method, which groups detected targets into Unit Types that were detected. --- The AttackSet will engage upon the enemy, which is a Set of Groups seated by Players. --- A2G Tasks are being dispatched to the Players as enemy locations are being detected by the Recce. --- Observe that A2G Tasks are being dispatched to the player. - - --- Declare the Command Center -local HQ = GROUP - :FindByName( "HQ", "Bravo HQ" ) - -local CommandCenter = COMMANDCENTER - :New( HQ, "Lima" ) -- Create the CommandCenter. - --- Declare the Mission for the Command Center. -local Mission = MISSION - :New( CommandCenter, "Overlord", "High", "Attack Detect Mission Briefing", coalition.side.RED ) -- Create the Mission. - --- Define the RecceSet that will detect the enemy. -local RecceSet = SET_GROUP - :New() -- Create the RecceSet, which is the set of groups detecting the enemy locations. - :FilterPrefixes( "Recce" ) -- All Recce groups start with the name "Recce". - :FilterCoalitions("red") -- only the red coalition. - :FilterStart() -- Start the dynamic building of the set. - --- Setup the detection. We use DETECTION_AREAS to detect and group the enemies. -local DetectionAreas = DETECTION_TYPES - :New( RecceSet ) -- The RecceSet will detect the enemies, and group them into unit types that were detected. - --- Setup the AttackSet, which is a SET_GROUP. --- The SET_GROUP is a dynamic collection of GROUP objects. -local AttackSet = SET_GROUP - :New() -- Create the SET_GROUP object. - :FilterCoalitions( "red" ) -- Only incorporate the RED coalitions. - :FilterPrefixes( "Attack" ) -- Only incorporate groups that start with the name Attack. - :FilterStart() -- Start the dynamic building of the set. - --- Now we have everything to setup the main A2G TaskDispatcher. -TaskDispatcher = TASK_A2G_DISPATCHER - :New( Mission, AttackSet, DetectionAreas ) -- We assign the TaskDispatcher under Mission. The AttackSet will engage the enemy and will recieve the dispatched Tasks. The DetectionAreas will report any detected enemies to the TaskDispatcher. - --- We use the MISSILETRAINER for demonstration purposes. -MissileTrainer = MISSILETRAINER:New( 100, "Missiles will be destroyed for training when they reach your plane." )