Google Cloud Speech API添加SpeechContext [英] Google Cloud Speech API add SpeechContext

查看:20
本文介绍了Google Cloud Speech API添加SpeechContext的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想在我的应用程序中添加一些关键字,这样API就可以更高效地识别口语。 例如Im having trouble recognizing the some Italian words that starts with E、(E`Per Me)等。或德语(呃)。

以下是我的代码:

public void recognize (int sampleRate) {
    if (mApi == null) {
        Log.w(TAG, "API not ready. Ignoring the request.");
        return;
    }
    // Configure the API
    mRequestObserver = mApi.streamingRecognize(mResponseObserver);
    mRequestObserver.onNext(StreamingRecognizeRequest.newBuilder()
            .setStreamingConfig(StreamingRecognitionConfig.newBuilder()
                    .setConfig(RecognitionConfig.newBuilder()
                            .setLanguageCode(getDefaultLanguageCode())
                            .setEncoding(RecognitionConfig.AudioEncoding.LINEAR16)
                            .setSampleRateHertz(sampleRate)
                            .build())
                    .setInterimResults(true)
                    .setSingleUtterance(true)
                    .build())
            .build());
}

设置不同大小写的语言:

private String getDefaultLanguageCode() {

    SharedPreferences getLangSharedPrefs = getSharedPreferences("langSelected",0);
    String selectedLanguage = getLangSharedPrefs.getString("langSelected", null);
    switch (selectedLanguage) {
        case "German":
            langaugeCode = "de-DE";
            break;
        case "Italian":
            langaugeCode = "it-IT";
            break;
        case "Spanish" :
            langaugeCode = "es-ES";
            break;
        case "French" :
            langaugeCode = "fr-FR";
            break;
    }
    return langaugeCode;
}

推荐答案

我找到解决方案了:

 public void startRecognizing(int sampleRate) {
    if (mApi == null) {
        Log.w(TAG, "API not ready. Ignoring the request.");
        return;
    }
    // Configure the API
    mRequestObserver = mApi.streamingRecognize(mResponseObserver);
    SpeechContext.Builder speechBuilder = SpeechContext.newBuilder();
    speechBuilder.addPhrases("E per me");
    speechBuilder.addPhrases("E");
    mRequestObserver.onNext(StreamingRecognizeRequest.newBuilder()
            .setStreamingConfig(StreamingRecognitionConfig.newBuilder()
                    .setConfig(RecognitionConfig.newBuilder()
                            .setLanguageCode(getDefaultLanguageCode())
                            .setEncoding(RecognitionConfig.AudioEncoding.LINEAR16)
                            .setSampleRateHertz(sampleRate)
                            .addSpeechContexts(speechBuilder)
                            .build())
                    .setInterimResults(true)
                    .setSingleUtterance(true)
                    .build())
            .build());
}

这篇关于Google Cloud Speech API添加SpeechContext的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆