根据提供的Unity样式,我已经为您编写了一个接口。请参考以下代码:

using System;
using System.Collections;
using UnityEngine;
using UnityEngine.Networking;

public class OpenAISpeechToText : STT
{
    [SerializeField] private string api_key;

    private void Awake()
    {
        m_SpeechRecognizeURL = "https://api.openai.com/v1/audio/transcriptions";
    }

    public override void SpeechToText(AudioClip _clip, Action<string> _callback)
    {
        byte[] _audioData = WavUtility.FromAudioClip(_clip);
        StartCoroutine(SendAudioData(_audioData, _callback));
    }

    private IEnumerator SendAudioData(byte[] audioBytes, Action<string> _callback)
    {
        stopwatch.Restart();
        WWWForm form = new WWWForm();
        form.AddBinaryData("file", audioBytes, "sample.wav", "audio/wav");
        form.AddField("model", "whisper-1");
        UnityWebRequest www = UnityWebRequest.Post(m_SpeechRecognizeURL, form);
        www.SetRequestHeader("Authorization", "Bearer " + api_key);
        yield return www.SendWebRequest();
        if (www.result != UnityWebRequest.Result.Success)
        {
            Debug.LogError("Error sending audio file: " + www.error);
        }
        else
        {
            Response _response = JsonUtility.FromJson<Response>(www.downloadHandler.text);
            _callback(_response.text);
        }
        stopwatch.Stop();
        Debug.Log("OpenAI语音识别耗时:" + stopwatch.Elapsed.TotalSeconds);
    }

    [Serializable]
    public class Response
    {
        [SerializeField]
        public string text = string.Empty;
    }
}

请注意,上述代码是基于您提供的Unity样式编写的,并使用了Unity的相关类和方法。该接口使用OpenAI的语音识别API,通过发送音频数据来进行语音转文本的操作。您需要提供有效的API密钥(api_key)才能使用该接口。

参照下面的unity样式写一个接口 httpsgenshinvoicetopapispeaker=胡桃&text=你好&format=wav&length=1&noise=05&noisew=09&sdp_ratio=02using System;using SystemCollections;using UnityEngine;using UnityEngineNetworking;public

原文地址: https://www.cveoy.top/t/topic/i8tw 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录