IBM Watson Speech To Text: не удается транскрибировать текст с помощью swift sdk - PullRequest
0 голосов
/ 04 декабря 2018

Я использую речь IBM Watson для передачи текста SDK iOS для транскрибирования звука в реальном времени.Я установил его через какао.Я застрял с проблемой (аутентификация) во время записи аудио в текст.

Установленная версия STT SDK 0.38.1.

Я все настроил, правильно создал службу и учетные данные итакже убедившись, что SpeechToText создан с правильными apikey и URL.Всякий раз, когда я вызываю метод startStreaming, STT sdk печатает некоторый журнал ошибок, который, похоже, связан с проблемой аутентификации.

Вот фрагмент кода.

let speechToText = SpeechToText(apiKey: Credentials.SpeechToTextAPIKey,iamUrl: Credentials.SpeechToTextURL)
var accumulator = SpeechRecognitionResultsAccumulator()

func startStreaming() {

  var settings = RecognitionSettings(contentType: "audio/ogg;codecs=opus")
  settings.interimResults = true
  let failure = { (error: Error) in print(error) }
  speechToText.recognizeMicrophone(settings: settings, failure: failure) { results in
  accumulator.add(results: results)
  print(accumulator.bestTranscript)

 }
}

Журналы ошибок

CredStore - performQuery - Error copying matching creds.  Error=-25300, 
query={
class = inet;
"m_Limit" = "m_LimitAll";
ptcl = htps;
"r_Attributes" = 1;
sdmn = "IBM Watson Gateway(Log-in)";
srvr = "gateway-syd.watsonplatform.net";
sync = syna;
}

Я копался в документации IBM Watson sdk, даже гуглил по этой проблеме, но не нашел никакого соответствующего ответа.

Любая помощь будет высоко оценена.

1 Ответ

0 голосов
/ 07 декабря 2018

Выпущена новая версия Swift SDK 1.0.0 с изменениями SpeechToTextV1, и приведенный ниже код работает для меня с ключом API службы Speech to Text.

Вам не нужношироко передавать URL до тех пор, пока служба не будет создана в регионе, отличном от Далласа.Проверьте URL здесь

import SpeechToTextV1 // If sdk is installed using Carthage. 
import SpeechToText // If sdk is installed as a pod 

let apiKey = "your-api-key"
let speechToText = SpeechToText(apiKey: apiKey)

var accumulator = SpeechRecognitionResultsAccumulator()

func startStreaming() {
    var settings = RecognitionSettings(contentType: "audio/ogg;codecs=opus")
    settings.interimResults = true
    speechToText.recognizeMicrophone(settings: settings) { response, error in
        if let error = error {
            print(error)
        }
        guard let results = response?.result else {
            print("Failed to recognize the audio")
            return
        }
        accumulator.add(results: results)
        print(accumulator.bestTranscript)
    }
}

func stopStreaming() {
    speechToText.stopRecognizeMicrophone()
}

Вы можете найти больше примеров здесь

Надеюсь, это поможет !!

...