夜風のMixedReality

xRと出会って変わった人生と出会った技術を書き残すためのGeekなHoloRangerの居場所

ElevenlabAPIをUnityで使用する

本日はUnity,AI枠です。

今回はElevenLabをUnityで使用していきます。

〇環境

・Windows11PC

・Unity6000.0.2f

〇ElevenLabとは?

ElebenLabはAIを活用した音声生成ツール、サービスです。

 TextToSpeechによって自然な言語音源の生成が可能です。

 月に10000文字までの音声生成を無料で行うことができ、この範囲内でAPIを使用してアプリケーションに組み込むことができます。

〇ElevenLabをUnityで使用する

まずはElevenLabのAPIを取得する必要があります。

これは自身のアカウントからAPI Keysを選択します。

ここでAPIキーを発行、削除することができます。

〇Unity側の実装

Unity側では融資がAPIコントローラーのスクリプトを公開しているためこちらを使用します。

https://gist.github.com/THeK3nger/882a31f52bb002dac155ad95529c3680

ElevenlabsAPI.csを作成し、自身の必要情報を入力します。

なおVoiceIDはElevenLabのVoice画面からIDを選択することでコピーできます。

これで準備ができました。

以下のようなスクリプトを用意してTTSStart()を呼び出すことでテキストが送られます。

using UnityEngine;

public class TestElevenLabsUI : MonoBehaviour
{
    public string inputField;
    public ElevenlabsAPI tts;
    
    public void TTSStart()
    {
        // Add the PlayClip handler to the ElevenLabsAPI script
        tts.AudioReceived.AddListener(PlayClip);
        
        // Add the Button's onClick handler 
        
            tts.GetAudio(inputField);
            Debug.Log("TTSStart: " + inputField);
            inputField = "";
    }

    public void PlayClip(AudioClip clip)
    {
        AudioSource.PlayClipAtPoint(clip, Camera.main.transform.position);
    }
}

以上でUnity側でElevenLabを使用することができました。

本日は以上です。