nazolabo

フリーランスのWebエンジニアが近況や思ったことを発信しています。

UnityでVoiceText Web APIを使って喋らせる

モヤさまのアレがWebAPIになったらしいので使ってみる

     IEnumerator SayVoiceText(AudioSource source, string apiKey, string text) {
          string url = "https://api.voicetext.jp/v1/tts";
          WWWForm form = new WWWForm();
          form.AddField("speaker", "show");
          form.AddField("text", text);
          Hashtable headers = form.headers;
          headers["Authorization"] = "Basic " + System.Convert.ToBase64String(System.Text.Encoding.ASCII.GetBytes(apiKey + ":"));
          WWW www = new WWW(url, form.data, headers);
          while( !www.isDone ) {
               yield return www;
          }

          if (www.error != null) {
               Debug.Log (www.error);
          } else {
               source.clip = www.GetAudioClip(false, false, AudioType.WAV);
               source.Play();
          }
     }

こんなのを作って

StartCoroutine(SayVoiceText(audioSource, "your api key", "こんにちは、なぞさんです"));