Tags:
Forums: 

ตอนนี้ผมกำลังเขียนโค้กบน python โดยผมใช้ pyspeech ในการออกคำสั่งอะครับ สมมุติว่าถ้าผมพูด 'Print screen' มันก้จะต้องไป run ฟังก์ชันนั้นๆ ออกมาให้ผม ตัวอย่างเช่น

import speech

def printCom():
print "Hey !"

def command_callback(phrase, listener):
if phrase == 'print screen':
printCom()

Command = speech.listenfor('print screen',command_callback)

ตามโค้ดนะครับ ถ้าผมพูดว่า Print Screen มันก้จะต้องไปรันฟังก์ชัน printCom ซึ้งปริ้น ค่ำว่า 'Hey !' ออกมาให้ผม ปัญหาอยู่ที่ว่า ทุกครั้งที่ออกคำสั่ง ผมต้องใช้คำเฉพาะเจาะจงในการออกคำสั่ง (ในที่นี้คือ Print screen) เลยอยากถามว่ามีวิธีไหนมั้ยครับที่พอจะทำให้ โปรแกรมมันจับเฉพาะคำที่เราต้องการ เช่นถ้าผมพูดว่า 'Hey print screen now' ในประโยคมันก้จะจับคำว่า print screen และทำให้ฟังก์ชัน printCom() ทำงาน
ขอบคุณครับ

Get latest news from Blognone
By: JavaDevil
iPhoneUbuntuIn Love
on 1 March 2013 - 16:23 #547105

แทนที่จะใช้ if pharse == 'print screen' ก็ลองใช้ Regex ตรวจสอบแทนสิครับ


import re
def test(input):
    if re.search("print",input):
        print("ok")
    else:
        print("haha")

test("print me") # ok
test("Hello World") #haha

By: Balll
iPhoneRed Hat
on 1 March 2013 - 18:17 #547165
Balll's picture
while True:
  command = speech.input()
  if 'print screen' in command:
    printCom()