Skip to content

Instantly share code, notes, and snippets.

@osin-vladimir
Created November 8, 2016 18:21
Show Gist options
  • Save osin-vladimir/a83bc845b8582a660f2ec1c6baabe02b to your computer and use it in GitHub Desktop.
Save osin-vladimir/a83bc845b8582a660f2ec1c6baabe02b to your computer and use it in GitHub Desktop.
Hue Lamps + Raspberry Pi Model 3
# libs
from phue import Bridge
import speech_recognition as sr
import time
# mapping some hue values to colors
color_hue = {'red':0, 'yellow':12750, 'green': 25500, 'blue':46920,'purple':56100}
# support commands
command_list = ['red', 'yellow', 'green', 'blue', 'purple']
# Connection to Hue Starter Kit
ip = '192.168.0.199'
bridge = Bridge(ip)
bridge.connect()
# obtain audio from the microphone
r = sr.Recognizer()
mic = sr.Microphone()
# pipeline
def set_color_for_voice(responce, bridge, lamp_number):
# split responce
split = responce.split()
# search for commands in response
comands = [x for x in split if x in command_list]
# apply action
if len(comands) == 1:
bridge.set_light(lamp_number,'hue', color_hue[comands[0]])
time.sleep(3)
else:
for i in comands:
bridge.set_light(lamp_number,'hue', color_hue[i])
time.sleep(0.7)
# set to original color
bridge.set_light(lamp_number, 'ct', 153)
print('done')
while True:
with mic as source:
print("I am listening!")
audio = r.listen(source)
try:
# to use another API key, use `r.recognize_google(audio, key="GOOGLE_SPEECH_RECOGNITION_API_KEY")`
response = r.recognize_google(audio)
print(response)
set_color_for_voice(response, bridge, 2)
except sr.UnknownValueError:
print("Google Speech Recognition could not understand audio")
except sr.RequestError as e:
print("Could not request results from Google Speech Recognition service; {0}".format(e))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment