snowboy_ros
training_service.py
Go to the documentation of this file.
1 #! /usr/bin/evn python
2 
3 import sys
4 import base64
5 import requests
6 
7 
8 def get_wave(fname):
9  with open(fname) as infile:
10  return base64.b64encode(infile.read())
11 
12 
13 endpoint = "https://snowboy.kitt.ai/api/v1/train/"
14 
15 
16 token = ""
17 hotword_name = "???"
18 language = "en"
19 age_group = "20_29"
20 gender = "M"
21 microphone = "??" # e.g., macbook pro microphone
22 
23 
24 if __name__ == "__main__":
25  try:
26  [_, wav1, wav2, wav3, out] = sys.argv
27  except ValueError:
28  print "Usage: %s wave_file1 wave_file2 wave_file3 out_model_name" % sys.argv[0]
29  sys.exit()
30 
31  data = {
32  "name": hotword_name,
33  "language": language,
34  "age_group": age_group,
35  "gender": gender,
36  "microphone": microphone,
37  "token": token,
38  "voice_samples": [
39  {"wave": get_wave(wav1)},
40  {"wave": get_wave(wav2)},
41  {"wave": get_wave(wav3)}
42  ]
43  }
44 
45  response = requests.post(endpoint, json=data)
46  if response.ok:
47  with open(out, "w") as outfile:
48  outfile.write(response.content)
49  print "Saved model to '%s'." % out
50  else:
51  print "Request failed."
52  print response.text
training_service.get_wave
def get_wave(fname)
Definition: training_service.py:8