Alert an enemy with Microphone input C#, Unity
I have a code that takes microphone input and converts it into a float number. Now, I need to convert that input into a radius in a game. That radius defines players range. Suppose, I yelled into microphone and I got the radius. If an enemy is within the range of radius, the enemy is alerted. Can someone please, help me do it. Do I create a new script for that, or do I need to do it in the player controller?
c# unity3d
add a comment |
I have a code that takes microphone input and converts it into a float number. Now, I need to convert that input into a radius in a game. That radius defines players range. Suppose, I yelled into microphone and I got the radius. If an enemy is within the range of radius, the enemy is alerted. Can someone please, help me do it. Do I create a new script for that, or do I need to do it in the player controller?
c# unity3d
3
This isn't a Coding Service - you need to write the code yourself. If you run into specific problems (that will likely help someone else) please post. Answering this I dont think is going to help anyone but you unfortunately. That said, you will need to write code, 1. the microphone voice detection, 2. the speech-to-text, 3. text to radius conversion, 4. Publish/Subscribe players to each others radius events, 5. Alert users within one and others vicinity.
– Jeremy Thompson
Nov 12 '18 at 2:31
You dont need to do anything special with recognition. The radius is simply proportional to the volume level recorded from the microphone
– MickyD
Nov 12 '18 at 3:24
add a comment |
I have a code that takes microphone input and converts it into a float number. Now, I need to convert that input into a radius in a game. That radius defines players range. Suppose, I yelled into microphone and I got the radius. If an enemy is within the range of radius, the enemy is alerted. Can someone please, help me do it. Do I create a new script for that, or do I need to do it in the player controller?
c# unity3d
I have a code that takes microphone input and converts it into a float number. Now, I need to convert that input into a radius in a game. That radius defines players range. Suppose, I yelled into microphone and I got the radius. If an enemy is within the range of radius, the enemy is alerted. Can someone please, help me do it. Do I create a new script for that, or do I need to do it in the player controller?
c# unity3d
c# unity3d
asked Nov 12 '18 at 1:48
optimusoptimus
15
15
3
This isn't a Coding Service - you need to write the code yourself. If you run into specific problems (that will likely help someone else) please post. Answering this I dont think is going to help anyone but you unfortunately. That said, you will need to write code, 1. the microphone voice detection, 2. the speech-to-text, 3. text to radius conversion, 4. Publish/Subscribe players to each others radius events, 5. Alert users within one and others vicinity.
– Jeremy Thompson
Nov 12 '18 at 2:31
You dont need to do anything special with recognition. The radius is simply proportional to the volume level recorded from the microphone
– MickyD
Nov 12 '18 at 3:24
add a comment |
3
This isn't a Coding Service - you need to write the code yourself. If you run into specific problems (that will likely help someone else) please post. Answering this I dont think is going to help anyone but you unfortunately. That said, you will need to write code, 1. the microphone voice detection, 2. the speech-to-text, 3. text to radius conversion, 4. Publish/Subscribe players to each others radius events, 5. Alert users within one and others vicinity.
– Jeremy Thompson
Nov 12 '18 at 2:31
You dont need to do anything special with recognition. The radius is simply proportional to the volume level recorded from the microphone
– MickyD
Nov 12 '18 at 3:24
3
3
This isn't a Coding Service - you need to write the code yourself. If you run into specific problems (that will likely help someone else) please post. Answering this I dont think is going to help anyone but you unfortunately. That said, you will need to write code, 1. the microphone voice detection, 2. the speech-to-text, 3. text to radius conversion, 4. Publish/Subscribe players to each others radius events, 5. Alert users within one and others vicinity.
– Jeremy Thompson
Nov 12 '18 at 2:31
This isn't a Coding Service - you need to write the code yourself. If you run into specific problems (that will likely help someone else) please post. Answering this I dont think is going to help anyone but you unfortunately. That said, you will need to write code, 1. the microphone voice detection, 2. the speech-to-text, 3. text to radius conversion, 4. Publish/Subscribe players to each others radius events, 5. Alert users within one and others vicinity.
– Jeremy Thompson
Nov 12 '18 at 2:31
You dont need to do anything special with recognition. The radius is simply proportional to the volume level recorded from the microphone
– MickyD
Nov 12 '18 at 3:24
You dont need to do anything special with recognition. The radius is simply proportional to the volume level recorded from the microphone
– MickyD
Nov 12 '18 at 3:24
add a comment |
1 Answer
1
active
oldest
votes
I'd recommend you have one script running via your player entity or on a 'scene controller' group (added solely to run background scripts) that contains your 'mic listener' script. Then on your enemy prefab add a 'mic data receiver' script.
1) Use FindComponent<> from your 'mic data receiver' script to locate and retrieve volumes from the 'mic listener' script, or;
2) Use a pub/sub message aggregator in the 'mic listener' script that broadcasts a mic data mesage, and then have your enemy's 'mic listener' class subscribe to this information and calculate in/out of range based on volume Vs. distance.
Sounds like your underlying question is about communication between objects and how to organize 'services' / information producers Vs. arbitrary game entities / discreet information consumers.
Do some searches on best practices for inter-object communication and you'll have a better answer from the Unity team's documentation than I could ever provide.
Good Luck!
add a comment |
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53255060%2falert-an-enemy-with-microphone-input-c-unity%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
I'd recommend you have one script running via your player entity or on a 'scene controller' group (added solely to run background scripts) that contains your 'mic listener' script. Then on your enemy prefab add a 'mic data receiver' script.
1) Use FindComponent<> from your 'mic data receiver' script to locate and retrieve volumes from the 'mic listener' script, or;
2) Use a pub/sub message aggregator in the 'mic listener' script that broadcasts a mic data mesage, and then have your enemy's 'mic listener' class subscribe to this information and calculate in/out of range based on volume Vs. distance.
Sounds like your underlying question is about communication between objects and how to organize 'services' / information producers Vs. arbitrary game entities / discreet information consumers.
Do some searches on best practices for inter-object communication and you'll have a better answer from the Unity team's documentation than I could ever provide.
Good Luck!
add a comment |
I'd recommend you have one script running via your player entity or on a 'scene controller' group (added solely to run background scripts) that contains your 'mic listener' script. Then on your enemy prefab add a 'mic data receiver' script.
1) Use FindComponent<> from your 'mic data receiver' script to locate and retrieve volumes from the 'mic listener' script, or;
2) Use a pub/sub message aggregator in the 'mic listener' script that broadcasts a mic data mesage, and then have your enemy's 'mic listener' class subscribe to this information and calculate in/out of range based on volume Vs. distance.
Sounds like your underlying question is about communication between objects and how to organize 'services' / information producers Vs. arbitrary game entities / discreet information consumers.
Do some searches on best practices for inter-object communication and you'll have a better answer from the Unity team's documentation than I could ever provide.
Good Luck!
add a comment |
I'd recommend you have one script running via your player entity or on a 'scene controller' group (added solely to run background scripts) that contains your 'mic listener' script. Then on your enemy prefab add a 'mic data receiver' script.
1) Use FindComponent<> from your 'mic data receiver' script to locate and retrieve volumes from the 'mic listener' script, or;
2) Use a pub/sub message aggregator in the 'mic listener' script that broadcasts a mic data mesage, and then have your enemy's 'mic listener' class subscribe to this information and calculate in/out of range based on volume Vs. distance.
Sounds like your underlying question is about communication between objects and how to organize 'services' / information producers Vs. arbitrary game entities / discreet information consumers.
Do some searches on best practices for inter-object communication and you'll have a better answer from the Unity team's documentation than I could ever provide.
Good Luck!
I'd recommend you have one script running via your player entity or on a 'scene controller' group (added solely to run background scripts) that contains your 'mic listener' script. Then on your enemy prefab add a 'mic data receiver' script.
1) Use FindComponent<> from your 'mic data receiver' script to locate and retrieve volumes from the 'mic listener' script, or;
2) Use a pub/sub message aggregator in the 'mic listener' script that broadcasts a mic data mesage, and then have your enemy's 'mic listener' class subscribe to this information and calculate in/out of range based on volume Vs. distance.
Sounds like your underlying question is about communication between objects and how to organize 'services' / information producers Vs. arbitrary game entities / discreet information consumers.
Do some searches on best practices for inter-object communication and you'll have a better answer from the Unity team's documentation than I could ever provide.
Good Luck!
edited Nov 14 '18 at 0:19
answered Nov 12 '18 at 5:21
MonzaMonza
675410
675410
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53255060%2falert-an-enemy-with-microphone-input-c-unity%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
3
This isn't a Coding Service - you need to write the code yourself. If you run into specific problems (that will likely help someone else) please post. Answering this I dont think is going to help anyone but you unfortunately. That said, you will need to write code, 1. the microphone voice detection, 2. the speech-to-text, 3. text to radius conversion, 4. Publish/Subscribe players to each others radius events, 5. Alert users within one and others vicinity.
– Jeremy Thompson
Nov 12 '18 at 2:31
You dont need to do anything special with recognition. The radius is simply proportional to the volume level recorded from the microphone
– MickyD
Nov 12 '18 at 3:24