Jump to content

DCS-SimpleRadio Standalone


Ciribob

Recommended Posts

Thats interesting! AFAIK setting it to 0 should do the exact opposite of that according to the docs and block for an infinite amount of time...!

 

Not checked yet but the test you can do is to go on a server with line of sight and distance turned on and fly into a valley and if you can't hear people you're good :)

 

The UDP listener is for the Line of Sight system I detailed earlier in this thread

 

What I understand from the luasocket documentation and others udp socket programming documentations is that :

- settimeout() or settimeout(negative_value) sets the socket to blocking mode

- settimeout (0) sets the socket to non-blocking mode

- settimeout(strictly_positive_value) sets the socket to timeout mode. But my experience shows that depending on the internal clock resolution of the operating system, the timeout value you want may or may not be achieved.

 

Thus, if your intention was to make the socket non-blocking (and I believe that's what you wanted to do by specifying a timeout of 0.0001s), you may want to consider using settimeout(0).

Link to comment
Share on other sites

This is a great project and initiative! I want to know: how can I contribute? I'm a Java webapp/javascript developer with experience with C++ and (more recently) .lua hobby projects.

 

Is it just to get crackin' on the issues or do you have some part of the software you'd like someone to take care of?

 

Some help would be great! I've not had time to work properly on it for over a week now due to work commitments and its getting a little big for just one person... I didnt really know C# before this project, just java so language wise its no worries.

 

I am actually thinking of rewriting the core audio engine in C++ and using the C++/CLI bridging to talk to the .NET UI and the non performance critical code.

 

PM me your skype if you don't mind and we'll arrange a time so I can talk you through the main design if you like? Its a little convoluted and needs a lot of refactoring

 

What I understand from the luasocket documentation and others udp socket programming documentations is that :

- settimeout() or settimeout(negative_value) sets the socket to blocking mode

- settimeout (0) sets the socket to non-blocking mode

- settimeout(strictly_positive_value) sets the socket to timeout mode. But my experience shows that depending on the internal clock resolution of the operating system, the timeout value you want may or may not be achieved.

 

Thus, if your intention was to make the socket non-blocking (and I believe that's what you wanted to do by specifying a timeout of 0.0001s), you may want to consider using settimeout(0).

 

Thanks! Im still surprised it works as LUA is single threaded in DCS so i wanted the UDP socket to wait for a small amount of time incase a packet came in. I assumed that while it wasn't waiting for a packet, they would be silently discarded but I guess the OS is has the packet in a buffer and delivers it when its non blocking on each check of read.

 

That'll teach me for not reading the docs carefully enough.

 

I'll change that to 0 then for the next release and see how it goes! Thanks! :)

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

Thanks! Im still surprised it works as LUA is single threaded in DCS so i wanted the UDP socket to wait for a small amount of time incase a packet came in. I assumed that while it wasn't waiting for a packet, they would be silently discarded but I guess the OS is has the packet in a buffer and delivers it when its non blocking on each check of read.

 

That'll teach me for not reading the docs carefully enough.

 

I'll change that to 0 then for the next release and see how it goes! Thanks! :)

 

You are right. There is a buffer of 8kb (default size on Windows os). So, it all comes down whether the amount of data received between two frames fits into this buffer or not.

 

Anyway thank you for taking this issue into consideration. And I hope you will continue to make this kind of great contribution to DCS. (I believe SRS is so awesome it should be integrated in DCS like IVC is in FalconBMS)

Regards.

Link to comment
Share on other sites

Tested 1.2.9.0 version with Sound Blaster Tactical 3D- works fine, both in preview and during mission. Great work!

 

Thats brilliant news! Thanks for confirming :)

 

You can use that release if you like instead of 1.2.8.1 - Its backwards compatible with 1.2.8.1 servers :thumbup:

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

Just a simple question.

 

Is it possibel to use one server for multiple DCS-Server without any issues in crosscomunication?

 

I mean does the SRS server know by himself who is who in the zoo?

 

Thx in advance.

My Rig: Windows 11 Pro, Intel i7-13700k@5.4GHz, 64GB DDR5 5200 RAM, Gigabyte Z790 AORUS Elite AX, 1TB Samsung EVO 970, RTX4080, Thrustmaster HOTAS WARTHOG + Saitek Pro Flight Pedals, LG 32" 4K 60FPS, ACER 30" 4K 60FPS GSync Display, HP Reverb G2 V2

Link to comment
Share on other sites

Don't know if you can monitor the audio fast enough but how about an auto volume leveler (within limits) or overmodulation protection clientside (for the mic)?


Edited by Coug4r

-

If man were meant to fly he'd be filled with helium.

Link to comment
Share on other sites

Don't know if you can monitor the audio fast enough but how about an auto volume leveler (within limits) or overmodulation protection clientside (for the mic)?

Or at least set Mic boost to 50% by default?

Shagrat

 

- Flying Sims since 1984 -:pilotfly:

Win 10 | i5 10600K@4.1GHz | 64GB | GeForce RTX 3090 - Asus VG34VQL1B  | TrackIR5 | Simshaker & Jetseat | VIRPIL CM 50 Stick & Throttle | VPC Rotor TCS Plus/Apache64 Grip | MFG Crosswind Rudder Pedals | WW Top Gun MIP | a hand made AHCP | 2x Elgato StreamDeck (Buttons galore)

Link to comment
Share on other sites

Hi guys. Sorry if this is fixed already.

 

Question, we still keep hearing to people from others severs? Happened to me I was flying in a server and the people when change to a different server still can talk to me.

 

Its not a bug, its a feature! :D

 

As you can now run multiple SRS servers on one machine without issue (just use a different port for each) there should be one SRS server for EACH DCS server.

 

OR

 

Have a different frequency plan for each server as you're unlikely to find each others transmissions.

 

TLDR; Not a bug as such :)

 

Just a simple question.

 

Is it possibel to use one server for multiple DCS-Server without any issues in crosscomunication?

 

I mean does the SRS server know by himself who is who in the zoo?

 

Thx in advance.

 

See above. You will get cross talk unless you implement a different frequency plan per server but really just run multiple servers

 

We have 3 running on one Machine currently without issue

OpenConflict

BuddySpike Round 10

BuddySpike Korea (server not live but SRS is)

 

Don't know if you can monitor the audio fast enough but how about an auto volume leveler (within limits) or overmodulation protection clientside (for the mic)?

 

Its actually a suprisingly difficult problem and I'd really rather not solve it in code as its an easy fix for a client, just reduce the microphone volume.

 

I have tried: http://muldersoft.com/docs/dyauno_readme.html but the performance wasn't good enough to apply to the input which is read and processed every 20ms. Any latency there has disastrous effects.

 

If anyone has some other algorithms or knows of any other libraries please let me know. Help on this would be very much appreciated!

 

Or at least set Mic boost to 50% by default?

 

If I do people will still drag it up and down regardless and unfortunately there isn't a global value that'll consistently work... With the two headsets I've got, one requires 0% boost and the other -50% for microphone. The headsets both have Auto Gain Control built in to the microphones so will both automatically stop themselves clipping but not everyone's will.

 

Instead I will try to add a message stating please try preview with some suggestions for the first connect.

 

I know its frustrating but the only other thing that could be done is to implement a wizard to do some initial tuning (as mumble does, its enforced) but I'd really rather not as the issue can just be solved by helping each other out at the first comms check.

 

It's a cop out on my part but as a community I'm sure we can help each other out (rather than weeks of dev work on my part) and eventually get there as there's only about 1,000 downloads in total of the latest release :)

 

As I've said before, for people that struggle, make it clear that a minus value isn't a bad thing as I know some will feel that minus is bad!

 

I'll reiterate as well, the entire project is open source, so if you can help, please do as I'm hardly spending any time on this at the minute due to RL work commitments!

 

Update on distortion: Still can't replicate locally... Gone through the audio pipeline repeatedly and the only thing that can cause it is GC from .NET or threads being paused or swapped to slowly due to thread scheduling if the machine is under heavy load i.e running DCS I think. Going to add the mixdown to the audio thread in a different way to try to mitigate, not sure when I'll have something to test yet, sorry.

 

Edit: Interesting link for normalisation methods for those that are interested : http://www.learndigitalaudio.com/normalize-audio


Edited by Ciribob

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

How about the simplest way to prevent overmodulation: Check for max values, if found -> Slide volume down by 1%.

 

That is actually GENIUS! Should work well.

 

Much easier than doing sampling and the Fast Attack with Slow Decay for gain algorithm that I was working on...

 

I'll only do it for your own mic, rather than on speaker boost or others' loud audio could cause it to gain down through no fault of your own.

 

I'll probably do something like gain down if you get over a certain number of very high samples in a 20ms period but it'll never automatically gain up, thats on you (and the bit I was struggling with for a good number to use)

 

I won't be able to test this very easily (my mic tries very hard to stop you clipping) but I'll try to work on this soon.

 

Thanks for the help! :)

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

F-5 Radio not work as a PTT :(

 

Working for me... See screenshot

 

Works with Right Alt + \ or by pressing it on the throttle with the mouse.

 

Is there another one in the cockpit?

 

I did notice that by default radio 1 isn't selected so select radio 1 first (using hotkey or clicking on the overlay - green dot should by next to the frequency) then press the PTT. Might be why it didnt work?

2026196699_f5emicrophone.thumb.PNG.483916a00d9d6d76a6b5fbd7186b6fa5.PNG

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 have been following simple radio since you first announced it but have not been able to use it until last night. Holy crap man amazing work. And a great name choice for the program. It literally took three minutes to set each guy in my group up to use it. Just wanted to give you a big thanks for taking the time to make this. It's a game changer.

  • Like 1

VFA-25 Fist of the Fleet

[sIGPIC][/sIGPIC]

Virtual Carrier Strike Group One | Discord

Link to comment
Share on other sites

 

Can you hear yourself if you press Preview Audio? Sounds like you might have the wrong output device.

 

Im having the same issue. Folks can hear me, I can see the frequency light up white, but I can't hear others. I've tried both the new and old audio to no avail. Audio preview works great, and yes I've made sure the radio volume in the a10c is all the way up.

 

What am I doing wrong?

 

TJ

 

 

 

 

Sent from my iPhone using Tapatalk

Link to comment
Share on other sites

Ciribob,

I have been following simple radio since you first announced it but have not been able to use it until last night. Holy crap man amazing work. And a great name choice for the program. It literally took three minutes to set each guy in my group up to use it. Just wanted to give you a big thanks for taking the time to make this. It's a game changer.

 

No worries, glad to hear it worked well!

 

Im having the same issue. Folks can hear me, I can see the frequency light up white, but I can't hear others. I've tried both the new and old audio to no avail. Audio preview works great, and yes I've made sure the radio volume in the a10c is all the way up.

 

What am I doing wrong?

 

TJ

 

Can you hear yourself when you do preview audio? If not, check the output device is the right one.

 

If so can you send a screenshot of the radio overlay when you're in the A-10C? The radio settings must be changed on the radios themselves and not on the audio control panel at the rear at the left.

 

Does it work with other aircraft? If the sliders in the audio aren't fully to the right then the volume is still at 0.

  • 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

DCS-SimpleRadio Standalone

 

No worries, glad to hear it worked well!

 

 

 

 

 

 

 

Can you hear yourself when you do preview audio? If not, check the output device is the right one.

 

 

 

If so can you send a screenshot of the radio overlay when you're in the A-10C? The radio settings must be changed on the radios themselves and not on the audio control panel at the rear at the left.

 

 

 

Does it work with other aircraft? If the sliders in the audio aren't fully to the right then the volume is still at 0.

 

 

 

I feel like an idiot. I was adjusting the red volume knobs, not the green one... I've spent three days trying to figure this out. Aye. #Fail!

 

 

34555308ef2628ba6a2bc825a68d2c88.png

 

For those also interested, it's covered in this part of the YouTube video.

 

 

TJ

 

 

 

Sent from my iPhone using Tapatalk

Link to comment
Share on other sites

Working for me... See screenshot

 

Works with Right Alt + \ or by pressing it on the throttle with the mouse.

 

Is there another one in the cockpit?

 

I did notice that by default radio 1 isn't selected so select radio 1 first (using hotkey or clicking on the overlay - green dot should by next to the frequency) then press the PTT. Might be why it didnt work?

 

Yeah got it working now thanks.

 

F-5 has 1 radio box that that is tied with ADF / TACON also VOR radio singals for navagation.

Link to comment
Share on other sites

No complaints here, just a very big thank you! :thumbup:

 

I've been using SRS for roughly two weeks now and it works very well. Should you ever make your way to Hanover in Germany, be sure to announce that soon enough, drinks are on me! ;)

Link to comment
Share on other sites

New Release Version - 1.2.9.1

 

.NET Version - PLEASE INSTALL THIS or it may not work: https://www.microsoft.com/en-gb/download/details.aspx?id=53345

 

Windows 7/8/10 N Users - PLEASE INSTALL THIS OR IT WILL NOT WORK - Adds the media codecs you need which are removed in the N Version - https://www.microsoft.com/en-gb/download/details.aspx?id=48231

 

This release adds some small under the hood changes. Mainly switching entirely to 64-Bit for compatibility which'll hopefully resolve some of the issues with people being unable to use the new API. Please let me know if the old api worked and the new doesnt. Make sure to post client logs!

 

I've also added a new setting at the bottom of the settings page that expands the usable devices for controlling SRS. If you have a device (excluding mice) that works as an input in DCS, but doesn't work with SRS. Turn that setting on, restart SRS and then try binding the device.

 

The technical reason is a lot of devices don't tell me what they are so I don't know how to handle the inputs. Changing the setting to on ignores my test and makes every unknown device pretend its a joystick which may work. Please let me know! It should now work for Cougar panels (I dont have any to test with though).

 

Regarding Microphone boost and speaker boost, try starting at -50% Microphone and 0% Speaker Boost. Speaker boost will only effect incoming transmissions (and your loudness on preview) so when messing with Preview Audio, try changing your Windows Audio volume rather than speaker boost until it sounds right to you. Minus values for both are ok!

 

Speaker boost is really just a temporary thing you can use in game if DCS is too loud compared to SRS but ideally you should be using the windows audio controls rather than relying on speaker boost

 

Server LUA has also changed to shorten the auto connect message so please update and let me know if there are any issues with it :)

 

Changelog

  • No protocol change so clients with 1.2.8.1 can be mixed :)
  • Added new "Allow More Input Devices" option
  • Switched to 64 Bit - Removed old audio API entirely - Please post if it used to work but didnt.
  • Updated OPUS library
  • Input & output saving more robust - You will need to reselect your device on first launch for this version
  • Shorten AutoConnect LUA message - Please update Server LUA if used
  • Position of Client window saved
  • Position of AWACS window saved
  • Client - Server Settings window centered on client window
  • Removed blocking from UDP port in LUA per discovery by Yann
  • Targeting Latest .Net - Update here: https://www.microsoft.com/en-us/download/details.aspx?id=53344
  • Fix for Expansion radios not having radio selected by default
  • Changed A10C to have volume set to 100% for all radios by default to cut down on issues :P

 

For the intermittent audio distortion - I still need more recordings under as many conditions to diagnose, so please send them (Twitch, YouTube, MP3) if you have them. I have one idea that I might try if I get time on Sunday but time is at a premium for me at the minute.

 

I will also try to test knocking down the microphone boost if the audio is loud as well as suggested by cougar but again its hard to test with my microphone as it has AGC.

 

Thanks again for all your support, Sorry I have so little time at the moment to work on this.

 

DOWNLOAD: https://github.com/ciribob/DCS-SimpleRadioStandalone/releases/latest


Edited by Ciribob
  • 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

unfortunately, I can not install .NET 4.6.2

 

I get the following error:

 

Blocking Issues:

 

The setup cannot run in compatibility mode.

 

The .NET Framework 4.6.2 is not supported on this operating system.

 

I have confirmed I am running Win 7 SP1 and the entries in the Registry that are affecting comparability mode are not there. Have asked Microsoft for help but holding out little hope of getting a useful answer.

 

How essential is this update from 4.6.1 to make it work and will it be easy to revert to 1.2.8.1 from 1.2.9.1 if it does not?

Link to comment
Share on other sites

  • Recently Browsing   1 member

×
×
  • Create New...