Exemplo n.º 1
0
    void PlayTTSAudio(NluResponse nluResponse)
    {
        bool doStream = true;
        int  channels = 1;

        float[] floatArray = ConvertByteToFloat16(nluResponse.tts.audioContent.data);
        string  clipName   = "HttpResponseClip";

        AudioClip myClip = AudioClip.Create(
            clipName,
            floatArray.Length,
            channels,
            samplerate,
            !doStream);

        myClip.SetData(floatArray, 0);

        // AudioSource aud = GetComponent<AudioSource>();
        aud.clip = myClip;
        aud.Play();
    }
Exemplo n.º 2
0
    IEnumerator GetAndSayNluResponse(string text)
    {
        WWWForm form = new WWWForm();

        form.AddField("query", text);
        using (UnityWebRequest www = UnityWebRequest.Post(this.nluEndpoint, form))
        {
            yield return(www.SendWebRequest());

            if (www.isNetworkError || www.isHttpError)
            {
                Debug.Log(www.error);
            }
            else
            {
                NluResponse nluResponse = JsonUtility.FromJson <NluResponse>(www.downloadHandler.text);
                nluMessage = nluResponse.response;
                Debug.Log("NLU response: " + nluMessage);
                PlayTTSAudio(nluResponse);
            }
        }
    }