МАРСОХОД

Open Source Hardware Project

Голосовое управление платой с помощью телефона

распознавание речи с помощью Google и SL4A на Android

В продолжение предыдущей темы я продолжаю изучать возможности Scripting Layer For Android (SL4A) и языка программирования Python для телефона.

Сейчас научился делать запросы к Google на распознавание речи. Смотрите, что получается:

Плата Марсоход подключена к телефону с ОС Android через аудио разъем.

На телефоне запускаю мой скрипт на Python. Вот такой:


import android
droid = android.Android()

def my_dialog():
  str = droid.recognizeSpeech("Say CMD",None,None).result
  return str

def play( id ):
  if (id==u'1'):
    droid.mediaPlay('/mnt/sdcard/media/audio/s1000.wav')
  elif (id==u'2'):
    droid.mediaPlay('/mnt/sdcard/media/audio/s1200.wav')
  elif (id==u'3'):
    droid.mediaPlay('/mnt/sdcard/media/audio/s1400.wav')
  elif (id==u'4'):
    droid.mediaPlay('/mnt/sdcard/media/audio/s1600.wav')

cmd=u'1'
while cmd != u'5':
  cmd = my_dialog()
  play(cmd)

print "Thanks Marsohod!"

Скрипт ждет голосовой команды с встроенного микрофона телефона потом отправляет ее в Google через WiFi (у меня есть своя точка доступа) ну или через GPRS/3G.

Результат запроса - это текстовая строка. Я подаю и ожидаю голосовые команды "один", "два", "три" или "четыре". Google возвращает "1", "2", "3" и "4" соответственно.

Полученная строка сравнивается с эталонами и в зависимости от того, какая команда получена играется аудио файл со специальным тоном. Поскольку в аудио разъем телефона подключен штекер, то звук идет не на динамики телефона, а к подключенной "гарнитуре", то есть к плате Марсоход.

Плата Марсоход определяет частоту тона и зажигает соответствующий светодиод.

Вот как это работает (только смотрите видео со звуком):

 

 

Добавить комментарий



facebook  GitHub  YouTube  Twitter
Вы здесь: Начало Статьи о разном Голосовое управление платой с помощью телефона