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'?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
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'?
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!