【问题标题】:How to change pepper text to speech speed in an android module?如何在 android 模块中将胡椒文本更改为语音速度?
【发布时间】:2020-07-02 10:03:14
【问题描述】:

我一直在使用软银辣椒 SDK 在辣椒机器人中开发一个 android 应用程序。我想将胡椒机器人的文本更改为语音速度。我尝试寻找不同的他们的课程包,但我找不到如何设置速度才能让胡椒说些什么。

【问题讨论】:

    标签: java android kotlin text-to-speech pepper


    【解决方案1】:

    您可以在文本中使用多个标签来修改 Pepper 的文本到语音输出。有一个他们的列表here。在这种情况下,您想使用rspd 标记。对于正常速度,使用\\rspd=100\\,对于较慢的选择一个低至 50 的值,或者对于较快的选择高达 400 的值。

    为此,我将从here 修改QiSDK Say 示例,但同样适用于kotlin。

    // Create a phrase.
    Phrase phrase = new Phrase("\\rspd=70\\ This is slow \\rspd=200\\ and this is fast!");
    
    // Build the action.
    Say say = SayBuilder.with(qiContext)
                        .withPhrase(phrase)
                        .build();
    
    // Run the action synchronously.
    say.run();
    

    改变速度可能会使讲话听起来很有趣。你也可以通过改变音高来补偿。

    Phrase phrase = new Phrase("\\rspd=70\\ \\vct=120\\ This is slow.");
    

    您可以尝试使用其他标签来获得几乎任何您想要的效果。

    【讨论】:

    • 有没有办法设置一次而不是每个短语?
    • 很遗憾没有使用 Android QiSDK API,没有。但是您可以编写一个函数来包装 say 功能并将速度标签应用于每个短语。这足以满足您的用例吗?
    • 是的。我也会这样做。感谢您的帮助
    【解决方案2】:

    您可以使用以下方式修改速度:tts.setParameter("speed", value)

    例如:

    self.proxy_tts.post.setParameter("speed", 80)
        self.proxy_tts.post.say(say)
        self.proxy_animation_player.runTag("hello")
    

    速度值范围:[50-400]

    Modify speed Speed value range

    【讨论】:

    • 这在 Pepper 的 Choregraphe 版本中有效,但这个问题是在询问尚未实现此功能的 Android Pepper。
    • 这个解决方案我知道,它适用于 Naoqi 2.5。我的问题是关于 android 模块的。
    猜你喜欢
    • 1970-01-01
    • 2017-01-30
    • 1970-01-01
    • 1970-01-01
    • 2021-09-06
    • 1970-01-01
    • 1970-01-01
    • 2021-12-17
    • 1970-01-01
    相关资源
    最近更新 更多