Jump to content

Introducing DCS Simple Text To Speech (DCS-STTS)


Recommended Posts

4 hours ago, reptile92 said:

My godness! I didn't expect such sort ETA! I'll be glad to test it (allready installed many voices for DATIS 😉 )

 

Do you have a list of voices you've installed and where you downloaded?  I am only aware of the limited options directly from Microsoft (see below).

 

Voices.png  

System Specs:

Spoiler

 💻Processor:13th Gen Intel(R) Core(TM) i9-13900K - 🧠RAM: 64GB - 🎥Video Card: NVIDIA RTX 4090 - 🥽 Display: Pimax 8kx VR Headset - 🕹️Accessories:  VKB Gunfighter III MCG Ultimate, Thrustmaster TWCS (modified), Thrustmaster TPR Pedals, Simshaker JetPad, Predator HOTAS Mounts, 3D Printed Flight Button Box 

Thrustmaster TWCS Mod

 

Link to comment
Share on other sites

1 hour ago, Mistermann said:

 

Do you have a list of voices you've installed and where you downloaded?  I am only aware of the limited options directly from Microsoft (see below).

 

  

 

They wont all necessarily work as well - the .NET API is odd and cant use the whole list

 

This is worth a read: https://stackoverflow.com/questions/55695930/listing-and-selecting-installed-voice-for-text-to-speech

Scripts: Complete Transport And Logistics Deployment - CTLD / CTLD Examples - Lots of example of how to use CTLD

CSAR Script - Downed Pilot Rescue / Dedicated Server Script - Automatically launch DCS Multiplayer server at startup

Range Scoring Script - Get scores and counts hits on targets for gunnery or bombs / SimpleSlotBlock - Multiplayer dynamic Slot Blocking Script

 

Projects: DCS-SimpleRadio Standalone - DCS Radio Integration for All Aircraft - NO TeamSpeak Required! :)

DCS-SimpleRadio Troubleshooting Post / DCS-SimpleRadio Free Support Channel on Discord

Link to comment
Share on other sites

I'll have to take your word for it @ciribob - 😃

 

Not surprised though.  Looking forward to whatever options you can build into the tool.  Multiple voices would be great!  Thanks.

System Specs:

Spoiler

 💻Processor:13th Gen Intel(R) Core(TM) i9-13900K - 🧠RAM: 64GB - 🎥Video Card: NVIDIA RTX 4090 - 🥽 Display: Pimax 8kx VR Headset - 🕹️Accessories:  VKB Gunfighter III MCG Ultimate, Thrustmaster TWCS (modified), Thrustmaster TPR Pedals, Simshaker JetPad, Predator HOTAS Mounts, 3D Printed Flight Button Box 

Thrustmaster TWCS Mod

 

Link to comment
Share on other sites

  • 2 weeks later...

@Ciribob Thank you very much for your effort! I used this script now for a multiplayer mission. So much more immersive if you actually hear the radio calls only when you are tuned in. Right now, I use the "play mp3" for jtacs, awacs calls and ground troops

 

It works flawlessly!

 

Thank you for making DCS that much greater...again! 

 

 

GeForce RTX 4090 Founders Edition - AMD Ryzen 7 5800X3D - 64Gb RAM - Win11 - HP Reverb G1 - Thrustmaster Warthog HOTAS (40cm extension) - VKB Sim T-Rudder MKIV Pedals

Link to comment
Share on other sites

My godness! I didn't expect such sort ETA! I'll be glad to test it (allready installed many voices for DATIS  )

Thanks for the offer to test! It's not fully released but it is usable right now

Use --help to see the options.

Order of the parameters doesn't matter now and there are loads of new options

Lua and new exe are on Discord

https://discord.com/channels/298054423656005632/598575126530752540/821137223982383145

https://discord.com/channels/298054423656005632/598575126530752540/821142654212505630
@Ciribob Thank you very much for your effort! I used this script now for a multiplayer mission. So much more immersive if you actually hear the radio calls only when you are tuned in. Right now, I use the "play mp3" for jtacs, awacs calls and ground troops
 
It works flawlessly!
 
Thank you for making DCS that much greater...again! 
 
 
Glad you like it! What server is it on? I'd like to check it out. It's great seeing people using it.

Sent from my HD1903 using Tapatalk

Scripts: Complete Transport And Logistics Deployment - CTLD / CTLD Examples - Lots of example of how to use CTLD

CSAR Script - Downed Pilot Rescue / Dedicated Server Script - Automatically launch DCS Multiplayer server at startup

Range Scoring Script - Get scores and counts hits on targets for gunnery or bombs / SimpleSlotBlock - Multiplayer dynamic Slot Blocking Script

 

Projects: DCS-SimpleRadio Standalone - DCS Radio Integration for All Aircraft - NO TeamSpeak Required! :)

DCS-SimpleRadio Troubleshooting Post / DCS-SimpleRadio Free Support Channel on Discord

Link to comment
Share on other sites

39 minutes ago, Ciribob said:


Thanks for the offer to test! It's not fully released but it is usable right now

Use --help to see the options.

Order of the parameters doesn't matter now and there are loads of new options

Lua and new exe are on Discord

https://discord.com/channels/298054423656005632/598575126530752540/821137223982383145

https://discord.com/channels/298054423656005632/598575126530752540/821142654212505630
Glad you like it! What server is it on? I'd like to check it out. It's great seeing people using it.

Sent from my HD1903 using Tapatalk
 

Sadly, it's on a closed server from my squadron. But to give you an idea of how I used it. 

 

The missions task is to provide CAS and CasEvac for an ambushed convoy. With STTS I was able to completely generate a JTAC which you could interact with via the F10 Menu. He would call you, and then you are able to answer him just like with DCSs JTAC but with the great advantage, that the JTAC calls were specified for that mission. He would give you information about priotized targets like "hey, I need you to take out this target first because it is close to us". 

Then some arty would provide fires inside the ROZ. The JTAC would give restrictions for all aircraft and call you when you don't adhere to those (e. g. "avoid roz sector 180 to 230"). If you don't adhere, he will call you like "hey, leave the sector immediatelly!". 

I also simulated an awacs which would give you a task once you checked in via F10 menu. E. g. the helos would get a task and after completion the were told to check in with the jtac on a given frequency for casevac. 

 

A lot of text, but I hope you'll get the point. Before STTS I used to do it with sound files, but now I can specify them for different groups and different frequencies. The great thing is now: if someone misses a call or is not tuning in the right frequency, the whole mission could be busted! I really love that! 


Edited by exil
  • Thanks 1

GeForce RTX 4090 Founders Edition - AMD Ryzen 7 5800X3D - 64Gb RAM - Win11 - HP Reverb G1 - Thrustmaster Warthog HOTAS (40cm extension) - VKB Sim T-Rudder MKIV Pedals

Link to comment
Share on other sites

@exil that sounds great! Glad to hear its worked well.

 

Did a fair bit of work this weekend on it - and the next version of STTS will also support Google Cloud Text to speech

 

You just need to pass in the voice you want and the path to your credentials file

 

Try the Google Demo: https://cloud.google.com/text-to-speech#section-2 all these are usable once you've setup your google cloud project correctly

 

  • Like 1

Scripts: Complete Transport And Logistics Deployment - CTLD / CTLD Examples - Lots of example of how to use CTLD

CSAR Script - Downed Pilot Rescue / Dedicated Server Script - Automatically launch DCS Multiplayer server at startup

Range Scoring Script - Get scores and counts hits on targets for gunnery or bombs / SimpleSlotBlock - Multiplayer dynamic Slot Blocking Script

 

Projects: DCS-SimpleRadio Standalone - DCS Radio Integration for All Aircraft - NO TeamSpeak Required! :)

DCS-SimpleRadio Troubleshooting Post / DCS-SimpleRadio Free Support Channel on Discord

Link to comment
Share on other sites

@Ciribob - great to see you're adding Google speech.  Do you plan on adding Azure CognitiveTextToSpeech service as well?  

System Specs:

Spoiler

 💻Processor:13th Gen Intel(R) Core(TM) i9-13900K - 🧠RAM: 64GB - 🎥Video Card: NVIDIA RTX 4090 - 🥽 Display: Pimax 8kx VR Headset - 🕹️Accessories:  VKB Gunfighter III MCG Ultimate, Thrustmaster TWCS (modified), Thrustmaster TPR Pedals, Simshaker JetPad, Predator HOTAS Mounts, 3D Printed Flight Button Box 

Thrustmaster TWCS Mod

 

Link to comment
Share on other sites

@Mistermann Not for now - Google seems pretty good and covers everything I think you need. Plus the free tier is pretty generous

Scripts: Complete Transport And Logistics Deployment - CTLD / CTLD Examples - Lots of example of how to use CTLD

CSAR Script - Downed Pilot Rescue / Dedicated Server Script - Automatically launch DCS Multiplayer server at startup

Range Scoring Script - Get scores and counts hits on targets for gunnery or bombs / SimpleSlotBlock - Multiplayer dynamic Slot Blocking Script

 

Projects: DCS-SimpleRadio Standalone - DCS Radio Integration for All Aircraft - NO TeamSpeak Required! :)

DCS-SimpleRadio Troubleshooting Post / DCS-SimpleRadio Free Support Channel on Discord

Link to comment
Share on other sites

CiriBob

I'm trying out the new exe and Lua files from Discord.

I keep getting:

 attempt to call field 'tmpname' (a nil value)
stack traceback:
    [C]: in function 'tmpname'
    [string "\AppData\Local\Temp\DCS.openbeta\/~mis00004B86.lua"]:93: in function 'TextToSpeech'
    [string "STTS.TextToSpeech("F:\\WTH.txt","251","AM","1.0","SRS",2)"]:1: in main chunk.

     Same error with "STTS.TextToSpeech("Hello","251","AM","1.0","SRS",2)"

 

 

The mp3/ogg works fine.

Thanks

 

 

 

Link to comment
Share on other sites

1 hour ago, Ciribob said:

@Mistermann Not for now - Google seems pretty good and covers everything I think you need. Plus the free tier is pretty generous

You said the magic words, @Ciribob .... FREE. 

 

I have setup Azure and its base offering is free as well.  I will go and setup Google and get prepared for your next update.  Thanks!

 

Edit:  For anyone curious, the Google experience is pretty similar to the Azure one.  The number of supported voices seems to be similar across the two offerings.  I use the Azure account for voice feedback from VoiceAttack.  


Edited by Mistermann
Updated once I setup the Google Text2Speech system

System Specs:

Spoiler

 💻Processor:13th Gen Intel(R) Core(TM) i9-13900K - 🧠RAM: 64GB - 🎥Video Card: NVIDIA RTX 4090 - 🥽 Display: Pimax 8kx VR Headset - 🕹️Accessories:  VKB Gunfighter III MCG Ultimate, Thrustmaster TWCS (modified), Thrustmaster TPR Pedals, Simshaker JetPad, Predator HOTAS Mounts, 3D Printed Flight Button Box 

Thrustmaster TWCS Mod

 

Link to comment
Share on other sites

CiriBob
I'm trying out the new exe and Lua files from Discord.
I keep getting:
 attempt to call field 'tmpname' (a nil value)
stack traceback:
    [C]: in function 'tmpname'
    [string "\AppData\Local\Temp\DCS.openbeta\/~mis00004B86.lua"]:93: in function 'TextToSpeech'
    [string "STTS.TextToSpeech("F:\\WTH.txt","251","AM","1.0","SRS",2)"]:1: in main chunk.
     Same error with "STTS.TextToSpeech("Hello","251","AM","1.0","SRS",2)"
 
 
The mp3/ogg works fine.
Thanks
 
 
 
Hmm I'll check and post a better version later this week. Thanks for testing!

Sent from my HD1903 using Tapatalk

Scripts: Complete Transport And Logistics Deployment - CTLD / CTLD Examples - Lots of example of how to use CTLD

CSAR Script - Downed Pilot Rescue / Dedicated Server Script - Automatically launch DCS Multiplayer server at startup

Range Scoring Script - Get scores and counts hits on targets for gunnery or bombs / SimpleSlotBlock - Multiplayer dynamic Slot Blocking Script

 

Projects: DCS-SimpleRadio Standalone - DCS Radio Integration for All Aircraft - NO TeamSpeak Required! :)

DCS-SimpleRadio Troubleshooting Post / DCS-SimpleRadio Free Support Channel on Discord

Link to comment
Share on other sites

  • 2 weeks later...

Sorry for the delay, but I had many issues. Now it is fine.

 

First issue, everything seems ok, no error, but no sound -> it was the windows UAC that block the run of DCS-SR-externalaudio.exe (in fact a pop up should raised, but as it is "minimized", no popup). 2 solutions, remove UAC (not a good idea) or replace "cmd start" by "cmd /c \"set __COMPAT_LAYER=RUNASINVOKER && start".

 

Second issue, only male/female with US-EN is ok. With DCS-SR-externalaudio.exe --help, I also can have GB-EN male, but I didn't succeed to generater message with this voice. Still on it.

  • Thanks 1
Link to comment
Share on other sites

  • 3 weeks later...

New version released - adds a whole load of features including position!

 

The new version WILL NEED THE LATEST SRS 1.9.6.0 or NEWER

 

- Google Text to Speech added
- Support for Ogg as well as MP3s
- For both Google & Microsoft TTS you can specify the exact voice, or let it pick with gender and locale
- Added optional location (Latitude, Longitude, Altitude) so you can position the transmission. Line of Sight and Distance are respected if enabled.
- Added speed option for TTS voice

 

The example below shows the transmitter being blocked by the hills so the audio fades in an out
 

 


Edited by Ciribob
  • Like 2
  • Thanks 1

Scripts: Complete Transport And Logistics Deployment - CTLD / CTLD Examples - Lots of example of how to use CTLD

CSAR Script - Downed Pilot Rescue / Dedicated Server Script - Automatically launch DCS Multiplayer server at startup

Range Scoring Script - Get scores and counts hits on targets for gunnery or bombs / SimpleSlotBlock - Multiplayer dynamic Slot Blocking Script

 

Projects: DCS-SimpleRadio Standalone - DCS Radio Integration for All Aircraft - NO TeamSpeak Required! :)

DCS-SimpleRadio Troubleshooting Post / DCS-SimpleRadio Free Support Channel on Discord

Link to comment
Share on other sites

  • 2 weeks later...

Thanks to uriba107 - there is now a new version: https://github.com/ciribob/DCS-SimpleTextToSpeech

 

It will cope better with long sentences, as well as returning the time the message will likely take when you call the text to speech

 

No changes to the API - just under the hood in improvements

  • Like 2
  • Thanks 1

Scripts: Complete Transport And Logistics Deployment - CTLD / CTLD Examples - Lots of example of how to use CTLD

CSAR Script - Downed Pilot Rescue / Dedicated Server Script - Automatically launch DCS Multiplayer server at startup

Range Scoring Script - Get scores and counts hits on targets for gunnery or bombs / SimpleSlotBlock - Multiplayer dynamic Slot Blocking Script

 

Projects: DCS-SimpleRadio Standalone - DCS Radio Integration for All Aircraft - NO TeamSpeak Required! :)

DCS-SimpleRadio Troubleshooting Post / DCS-SimpleRadio Free Support Channel on Discord

Link to comment
Share on other sites

  • 3 weeks later...
On 5/30/2021 at 6:25 AM, Calwpower said:

a question or idea you can create a kind of playlist that plays everything from certain folders or web radio that would be really great I think.

just no idea whether that is even possible

You can build your own in LUA - just schedule a load of calls to STTS 

Scripts: Complete Transport And Logistics Deployment - CTLD / CTLD Examples - Lots of example of how to use CTLD

CSAR Script - Downed Pilot Rescue / Dedicated Server Script - Automatically launch DCS Multiplayer server at startup

Range Scoring Script - Get scores and counts hits on targets for gunnery or bombs / SimpleSlotBlock - Multiplayer dynamic Slot Blocking Script

 

Projects: DCS-SimpleRadio Standalone - DCS Radio Integration for All Aircraft - NO TeamSpeak Required! :)

DCS-SimpleRadio Troubleshooting Post / DCS-SimpleRadio Free Support Channel on Discord

Link to comment
Share on other sites

  • 4 weeks later...
5 hours ago, gunterlund21 said:

Ciribob if I wanted to use one of the English-Indian female voices from the microsoft set what parameters would I use. Thanks for the input.

 

 

If you open a console window and rus the External exe, you'll see a list of all installed voices.

You should see something like "en-IN" you pass that and female for gender.

Or you can pass a specific voice name if you have multiple voices but you want a specific one. For english india there is only one male and one female.

 

https://support.microsoft.com/en-us/topic/how-to-download-text-to-speech-languages-for-windows-10-d5a6b612-b3ae-423f-afa5-4f6caf1ec5d3

 

 


Edited by uri_ba
Link to comment
Share on other sites

Transmit Function returns number of seconds it estimates the read time will be.

 

Just schedule the next sentence using that number. However this is more suitable for multiple not directly related calls (i.e controller type thing). For long uniform message, you better just do everything in one string. As the timing will be tricky.


https://wiki.hoggitworld.com/view/DCS_func_scheduleFunction


Edited by uri_ba
Link to comment
Share on other sites

  • 4 weeks later...
On 2/8/2021 at 7:04 AM, Ciribob said:

 

Example mission attached from the video - make the changes below to see it work

 

YOU WILL NEED TO FOLLOW THE INSTRUCTIONS ON GITHUB STILL AND MAKE THE CHANGES BELOW

 

 

Three calls used by the mission

STTS.TextToSpeech("Enemy units located near the airfield","251","AM","1.0","SRS",2)

STTS.TextToSpeech("C:\\Users\\Ciaran\\Downloads\\hard-sell-hotel.mp3","30","FM","1.0","SRS",2)

STTS.TextToSpeech("All Enemies Destroyed! Well done! ","251","AM","1.0","SRS",2)

SRS-STTS-Text.miz 11.12 kB · 27 downloads

 

Thanks!! Great!, but I don't understand the second line when you play a mp3 "STTS.TextToSpeech(C:...etc..)
I tried it as you showed, but the system speak all after "C:... etc"
I changed to STTS.PlayMP3 and trying mp3 and ogg can't ear a sound...
I search and cannot find my mistake.
The rest works perfect.
EDIT:
I tried a short route from my mp3 file (a shorter one, like your example), and works perfect.... but not the .ogg files

 


Edited by Colmillo
Test2

[sIGPIC][/sIGPIC]

Intel(R) Core(TM) i9-10900KF CPU @ 3.70GHz   3.70 GHz ROG STRIX Z490-E GAMING
RAM 128 M.2*2 2T total SSD*3 2.5T total
GeForce RTX 3090   Orion2 HOTAS F-16EX  Saitek Pro Rudder

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...