首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将STT文件流到(统一)?

如何将STT文件流到(统一)?
EN

Stack Overflow用户
提问于 2017-07-25 11:18:23
回答 1查看 176关注 0票数 1

我正在使用IBM Watson Unity

web中有一些关于如何向IBM发送文件的示例。

但没有确切的例子,如何流一个长文件分割成各个部分。所以我想做的是:,我有一个日志音频文件(大约1-3分钟),并希望将它发送给沃森,以便识别语音。

IBM只接受<5mb文件,但我的文件更大,所以我需要将其拆分并作为部件发送。

这是我的代码:

代码语言:javascript
复制
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);上,我分配了一个回调函数OnRecognize,这个函数在被识别时应该被调用,但它永远不会被调用。

我正在测试的这个文件已经被确认了,在网上网站上,它绝对是好的。

有什么建议吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-29 13:38:49

所以数字是,数据块太小,沃森无法识别,所以我对这个具体问题的解决方案是发送更长的音频块,几秒钟长,大约半分钟,而识别工作正常。

我发送的音频文件越长,收到的效果就越好,但我仍然必须在5mb以下。

这个解决方案很古老,但它可以帮助遇到同样问题的人。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45301704

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档