簡體   English   中英

如何將STT文件流傳輸到IBM Watson(Unity)?

[英]How to stream STT file to IBM Watson (Unity)?

我正在使用IBM Watson Unity SDK

Web上有一些有關如何將文件發送到IBM Watson的示例。

但是沒有確切的例子說明如何將長文件分割成流。 因此,我想做的是: 我有一個日志音頻文件(大約1-3分鍾),並希望將其發送給Watson以識別語音。

IBM Watson僅接受<5mb的文件,但我的文件較大,因此我需要將其拆分並作為部分發送。

這是我的代碼:

private void OnAudioLoaded (AudioClip clip)
{
    Debug.Log ("Audio was loaded and starting to stream...");
    _chunksCount = 0;

    float[] clipData = new float[(int)(clip.length * CHUNK_SIZE)];
    clip.GetData (clipData, 1);

    try {
        _speechToText.StartListening (OnRecognize);

        for (int i = 0; i < Math.Ceiling (clip.length / SECONDS_TO_SPLIT); i++) {
            Debug.Log ("Iteration of recognition #" + i);
            _chunksCount++;

            // creating array of floats from clip array
            float[] chunkData = new float[SECONDS_TO_SPLIT * (int)CHUNK_SIZE];
            Array.Copy (clipData, i * SECONDS_TO_SPLIT * (int)CHUNK_SIZE, chunkData, 0, clipData.Length - i * SECONDS_TO_SPLIT * CHUNK_SIZE < SECONDS_TO_SPLIT * CHUNK_SIZE ? (int)(clipData.Length - i * SECONDS_TO_SPLIT * CHUNK_SIZE) : SECONDS_TO_SPLIT * (int)CHUNK_SIZE);

            // creating audioclip from floats array
            AudioClip chunk = AudioClip.Create ("ch", clip.frequency * SECONDS_TO_SPLIT, clip.channels, clip.frequency, false);
            chunk.SetData (chunkData, 0);
            AudioData audioData = new AudioData (chunk, chunk.samples);

            // sending recognition request
            _speechToText.OnListen (audioData);
        }
    } catch (OutOfMemoryException e) {
        DialogBoxes.CallErrorBox ("Audio Recognition Error", e.Message);
    }
}

問題是:

_speechToText.StartListening (OnRecognize);_speechToText.StartListening (OnRecognize); 我分配了一個回調函數OnRecognize,該函數應在識別到某些東西時調用,但永遠不要調用它。

我正在測試的文件已經在在線網站上得到認可,絕對可以。

有什么建議么?

因此,數字是Watson無法識別的數據塊太小,因此我針對此特定問題的解決方案是發送更長的音頻塊,幾秒鍾長,大約半分鍾,並且識別工作正常。

我發送的音頻文件越長,收到的效果越好,但仍然必須小於5mb。

此解決方案很舊,但是可以幫助遇到相同問題的人。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM