Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from watson_developer_cloud import SpeechToTextV1
- from watson_developer_cloud import AssistantV1
- from watson_developer_cloud.websocket import RecognizeCallback, AudioSource
- from os.path import join, dirname
- from sense_hat import SenseHat
- import json
- speech_to_text = SpeechToTextV1(
- iam_apikey='6yag6zU9p5IQS3sH8WWvIQu_k1W9MXQngn3jVolc5AwF',
- url='https://stream.watsonplatform.net/speech-to-text/api'
- )
- assistant = AssistantV1(
- version='2018-09-20',
- username='d1c4ecc9-6ed0-4358-8d51-587d2152d205',
- password='lDih6qnUtewy',
- url='https://gateway.watsonplatform.net/assistant/api'
- )
- class MyRecognizeCallback(RecognizeCallback):
- val_transcript = 'global'
- def init(self):
- RecognizeCallback.init(self)
- def on_data(self, data):
- temp = json.dumps(data, indent=2)
- loaded_json = json.loads(temp)
- self.val_transcript = (loaded_json['results'][0]['alternatives'][0]['transcript'])
- print(self.val_transcript)
- def on_error(self, error):
- print('Error received: {}'.format(error))
- def on_inactivity_timeout(self, error):
- print('Inactivity timeout: {}'.format(error))
- myRecognizeCallback = MyRecognizeCallback()
- with open(join(dirname(__file__), 'audio-file.flac'),
- 'rb') as audio_file:
- audio_source = AudioSource(audio_file)
- speech_to_text.recognize_using_websocket(
- audio=audio_source,
- content_type='audio/flac',
- recognize_callback=myRecognizeCallback,
- model='es-ES_BroadbandModel',
- keywords=['red', 'green'],
- keywords_threshold=0.5,
- max_alternatives=3)
- print("hola " + myRecognizeCallback.val_transcript)
- response = assistant.message(
- workspace_id='7664d7ae-daa4-4124-80d3-7240abb05994',
- input={
- 'text': 'enciende el led rojo'
- }
- ).get_result()
- temp = json.dumps(response, indent=2)
- loaded_json = json.loads(temp)
- color=loaded_json['output']['text'][0]
- print(color)
- sense = SenseHat()
- green = (0, 255, 0)
- blue = (0,0,255)
- red = (255,0,0)
- color = 3
- if color == 1:
- sense.clear(red)
- elif color ==2:
- sense.clear(green)
- elif color==3:
- sense.clear(blue)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement