IBM Уотсон речи в текст - PullRequest
       11

IBM Уотсон речи в текст

0 голосов
/ 30 января 2019

Кто-нибудь знает, как превратить этот код в ключ API для речи Уотсона в текст?

 <!-- STT default credentials -->
    
<string name="STTdefaultUsername">yyyyyyyy</string>

    <string name="STTdefaultPassword">xxxxxxxx</string>

    <string name="STTdefaultTokenFactory">https://stream.watsonplatform.net/speech-to-text/api</string>
    


<!-- TTS default credentials -->
    
<string name="TTSdefaultUsername">yyyyyyyy</string>
    
<string name="TTSdefaultPassword">xxxxxxx</string>
    
<string name="TTSdefaultTokenFactory">https://stream.watsonplatform.net/text-to-speech/api</string>

тогда он называется ниже

 private boolean initSTT() {
     // initialize the connection to the Watson STT service
     String username = getString(R.string.STTdefaultUsername);
     String password = getString(R.string.STTdefaultPassword);
     String tokenFactoryURL = getString(R.string.STTdefaultTokenFactory);
     String serviceURL = "wss://stream.watsonplatform.net/speech-to-text/api";
     SpeechConfiguration sConfig = new SpeechConfiguration(SpeechConfiguration.AUDIO_FORMAT_OGGOPUS);
     SpeechToText.sharedInstance().initWithContext(this.getHost(serviceURL), getActivity().getApplicationContext(), sConfig);
     // Basic Authentication
     SpeechToText.sharedInstance().setCredentials(username, password);
     SpeechToText.sharedInstance().setModel(getString(R.string.modelDefault));
     SpeechToText.sharedInstance().setDelegate(this);
     return true;
 }  

Ответы [ 2 ]

0 голосов
/ 05 февраля 2019

Android SDK предназначен для работы главным образом с Java SDK .Java SDK обрабатывает большую часть аутентификации и логики HTTP, в то время как Android SDK просто добавляет вещи, чтобы заставить его работать на мобильных устройствах.Устаревшая ссылка на него была размещена выше, поэтому для справки: this - это место, где вы можете найти Android SDK.

Java SDK README - это место, где вы можете найти большинство информации о начале работы.В этом случае вы можете найти помощь в этом разделе .

Чтобы поместить все сюда, если у вас есть ключ API в ваших ресурсах, вы можете сделать следующее:

SpeechToText service = new SpeechToText();
IamOptions options = new IamOptions.Builder()
  .apiKey(R.string.stt_api_key) // this is your API key
  .build();
service.setIamCredentials(options);

Опять же, вам нужно будет включить Java SDK в качестве зависимости для этого.Последняя версия, добавляемая в конфигурацию Gradle:

compile 'com.ibm.watson.developer_cloud:java-sdk:6.14.0'

SDK будет обрабатывать правильные вызовы API в бэкэнде, и теперь вы сможете выполнять аутентифицированные вызовы API с использованием этого объекта service.

0 голосов
/ 03 февраля 2019

Это может помочь вам идентифицировать себя с помощью рукопожатия IBM watson websocket.

Чтобы получить authentication-token, вам нужно выполнить следующую команду cURL .Это может быть включено в вашу программу перед подключением (рукопожатие websocket).

curl -k -X POST --header "Content-Type: application/x-www-form-urlencoded" --header "Accept: application/json" --data-urlencode "grant_type=urn:ibm:params:oauth:grant-type:apikey" --data-urlencode "apikey={your apikey}" "https://iam.bluemix.net/identity/token"

В ответ вы получите токен.

И используйте этот token для аутентификации при рукопожатии..

Ниже приведено, как я использовал его для своего проекта в C ++ с использованием библиотеки повышения.

ws_.async_handshake_ex(host_, "/speech-to-text/api/v1/recognize",[](request_type& reqHead){reqHead.insert(http::field::authorization,"Bearer {my_token}");},std::bind( &session::on_handshake, shared_from_this(), std::placeholders::_1));

Попробуйте это вместо своего apikey.Не забудьте добавить «Носитель»

Для получения более подробной информации перейдите по этой ссылке - https://console.bluemix.net/docs/services/watson/getting-started-iam.html

Вы можете попробовать сделать то же самое на своем языке.

...