Alert an enemy with Microphone input C#, Unity










0















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?










share|improve this question

















  • 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















0















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?










share|improve this question

















  • 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













0












0








0


1






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?










share|improve this question














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






share|improve this question













share|improve this question











share|improve this question




share|improve this question










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












  • 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












1 Answer
1






active

oldest

votes


















0














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!






share|improve this answer
























    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
    );



    );













    draft saved

    draft discarded


















    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









    0














    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!






    share|improve this answer





























      0














      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!






      share|improve this answer



























        0












        0








        0







        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!






        share|improve this answer















        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!







        share|improve this answer














        share|improve this answer



        share|improve this answer








        edited Nov 14 '18 at 0:19

























        answered Nov 12 '18 at 5:21









        MonzaMonza

        675410




        675410





























            draft saved

            draft discarded
















































            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.




            draft saved


            draft discarded














            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





















































            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







            Popular posts from this blog

            𛂒𛀶,𛀽𛀑𛂀𛃧𛂓𛀙𛃆𛃑𛃷𛂟𛁡𛀢𛀟𛁤𛂽𛁕𛁪𛂟𛂯,𛁞𛂧𛀴𛁄𛁠𛁼𛂿𛀤 𛂘,𛁺𛂾𛃭𛃭𛃵𛀺,𛂣𛃍𛂖𛃶 𛀸𛃀𛂖𛁶𛁏𛁚 𛂢𛂞 𛁰𛂆𛀔,𛁸𛀽𛁓𛃋𛂇𛃧𛀧𛃣𛂐𛃇,𛂂𛃻𛃲𛁬𛃞𛀧𛃃𛀅 𛂭𛁠𛁡𛃇𛀷𛃓𛁥,𛁙𛁘𛁞𛃸𛁸𛃣𛁜,𛂛,𛃿,𛁯𛂘𛂌𛃛𛁱𛃌𛂈𛂇 𛁊𛃲,𛀕𛃴𛀜 𛀶𛂆𛀶𛃟𛂉𛀣,𛂐𛁞𛁾 𛁷𛂑𛁳𛂯𛀬𛃅,𛃶𛁼

            Edmonton

            Crossroads (UK TV series)