Ibm cloud Watson语音到文本服务如何在java中返回英语以外的语言

Ibm cloud Watson语音到文本服务如何在java中返回英语以外的语言,ibm-cloud,speech-to-text,chinese-locale,ibm-watson,Ibm Cloud,Speech To Text,Chinese Locale,Ibm Watson,当我尝试将模型设置为“zh-CN_BroadbandModel”的STT Java代码时,无法得到预期的结果 以下是我的示例代码: public static void main (String[] args) { SpeechToText service = new SpeechToText(); service.setUsernameAndPassword(USERNAME, PASSWORD); File file = new File("C:/IBM/Wats

当我尝试将模型设置为“zh-CN_BroadbandModel”的STT Java代码时,无法得到预期的结果

以下是我的示例代码:

public static void main (String[] args) {

    SpeechToText service = new SpeechToText();
    service.setUsernameAndPassword(USERNAME, PASSWORD);

    File file = new File("C:/IBM/Watson/APIs/speech-to-text/test.wav");

    Map<String, Object> params = new HashMap<String, Object>();
    params.put("audio", file);
    params.put("content_type","audio/wav");
    params.put("model", "zh-CN_BroadbandModel");

    SpeechResults transcript = service.recognize(params);

    System.out.println(transcript);
}
我尝试将模型更改为“en-US_BroadbandModel”,即使使用相同的wav文件,它也会返回英文单词(尽管wav是中文的)。在这种情况下,我认为“模型”设置确实会影响

但是作为回应,我可以看到本地是
en_US


有没有设置语言的方法?

这是Windows中Java使用的控制台输出编码的问题

Windows上的默认控制台输出编码不是UTF-8,而是

使用带有显式编码的PrintStream查看结果

PrintStream out = new PrintStream(System.out, true, "UTF-8"); PrintStream out=新的PrintStream(System.out,true,“UTF-8”);
这是Java在Windows中使用的控制台输出编码的问题

Windows上的默认控制台输出编码不是UTF-8,而是

使用带有显式编码的PrintStream查看结果

PrintStream out = new PrintStream(System.out, true, "UTF-8"); PrintStream out=新的PrintStream(System.out,true,“UTF-8”);
谢谢你的回复。我使用的是java-sdk-java-wrapper-1.1.0,这一问题在ResponseUtil.getString(HttpResponse response)行中看起来有问题:return EntityUtils.toString(entity,“UTF-8”);当我将其更改为使用IOUtils.copy而不是EntityUtils的以下代码时,问题就消失了。InputStream resContent=entity.getContent();StringWriter编写器=新的StringWriter();字符串编码=“UTF-8”;IOUtils.copy(重新内容、编写器、编码);字符串结果=writer.toString();resContent.close();writer.close();返回结果;我已经打开了一个问题来调查这一点,你能提供一个样本文件用于测试吗?我想确保我们解决了您的问题,以便回复。我使用的是java-sdk-java-wrapper-1.1.0,这一问题在ResponseUtil.getString(HttpResponse response)行中看起来有问题:return EntityUtils.toString(entity,“UTF-8”);当我将其更改为使用IOUtils.copy而不是EntityUtils的以下代码时,问题就消失了。InputStream resContent=entity.getContent();StringWriter编写器=新的StringWriter();字符串编码=“UTF-8”;IOUtils.copy(重新内容、编写器、编码);字符串结果=writer.toString();resContent.close();writer.close();返回结果;我已经打开了一个问题来调查这一点,你能提供一个样本文件用于测试吗?我想确定我们解决了你的问题