2
respostas

IBM_USERNAME e IBM_PASSWORD

Mais alguém está com dificuldade de concluir a atividade deste vídeo, depois da mudança que a IMB fez ao oferecer API key e URL no lugar do 'username' e 'password'?

2 respostas

Encontrei este exemplo no Github:

import json
from os.path import join, dirname
from ibm_watson import SpeechToTextV1
from ibm_watson.websocket import RecognizeCallback, AudioSource
import threading
from ibm_cloud_sdk_core.authenticators import IAMAuthenticator

authenticator = IAMAuthenticator('your_api_key')
service = SpeechToTextV1(authenticator=authenticator)
service.set_service_url('https://api.us-south.speech-to-text.watson.cloud.ibm.com')

models = service.list_models().get_result()
print(json.dumps(models, indent=2))

model = service.get_model('en-US_BroadbandModel').get_result()
print(json.dumps(model, indent=2))

with open(join(dirname(__file__), '../resources/speech.wav'),
          'rb') as audio_file:
    print(json.dumps(
        service.recognize(
            audio=audio_file,
            content_type='audio/wav',
            timestamps=True,
            word_confidence=True).get_result(),
        indent=2))

# Example using websockets
class MyRecognizeCallback(RecognizeCallback):
    def __init__(self):
        RecognizeCallback.__init__(self)

    def on_transcription(self, transcript):
        print(transcript)

    def on_connected(self):
        print('Connection was successful')

    def on_error(self, error):
        print('Error received: {}'.format(error))

    def on_inactivity_timeout(self, error):
        print('Inactivity timeout: {}'.format(error))

    def on_listening(self):
        print('Service is listening')

    def on_hypothesis(self, hypothesis):
        print(hypothesis)

    def on_data(self, data):
        print(data)

# Example using threads in a non-blocking way
mycallback = MyRecognizeCallback()
audio_file = open(join(dirname(__file__), '../resources/speech.wav'), 'rb')
audio_source = AudioSource(audio_file)
recognize_thread = threading.Thread(
    target=service.recognize_using_websocket,
    args=(audio_source, "audio/l16; rate=44100", mycallback))
recognize_thread.start()

https://github.com/watson-developer-cloud/python-sdk/blob/master/examples/speech_to_text_v1.py

Mesmo altrando o idioma e diretório de pastas, ainda não funcionou :/

Olá Fabiana, tudo bem com você?

Peço desculpas pela demora em obter um retorno.

Caso você esteja com problemas em conectar com a IBM Cloud, não se preocupe, na próxima aula Utilizando o Google Cloud Speech, o instrutor irá explicar outras formas de conectar uma API de Speech Recognition, então, caso a API da IBM não funcione, a API do Google é uma forma alternativa. Inclusive, o instrutor recomenda o uso da biblioteca da Google, que possui maior precisão de reconhecimento da voz.

Espero ter ajudado. Continue mergulhando em conhecimento e não hesite em voltar ao fórum para continuar aprendendo e interagindo com a comunidade.

Em caso de dúvidas estou à disposição.

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!