Skip to content

yochan-lab/speech2action

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

speech2action

Interprets a strict-language string and translates that to the best registered action based on hints and introspection. Supports compiling down to regex and JSGF (for PocketSphinx).

How to Use

All code goes into the actions.py file.

  1. Instanciate a parser with FnHintParser(). Multiple grammars are supported by using multiple parsers, otherwise they are just chained together (OR).
  2. Register actions by decorating a function with @parser_name.register_fn().
  3. Register command syntaxes with parser_name.register_syntax(syntax)
  4. Find matches with parser_name.parse_and_run(in_string) or other parser methods.

Syntax

Syntax is created using Python objects, but there are shortcuts to ease writing it.

  • String: (only required if using shortcuts) StringSyntax(str) or S(str)
  • OR: OrSyntax(a,b...) or a|b
  • AND: AndSyntax(a,b...) or a+b or a&b
  • Optional: OptionalSyntax(syntax) or ~syntax
  • 0+: ZeroOrMoreSyntax(syntax) or -syntax
  • 1+: OneOrMoreSyntax(syntax) or +syntax
  • Weighted: WeightedSyntax(syntax, weight)
  • Hinted: NamedSyntax(syntax, name) or syntax % name
  • Arbitrary: (not allowed with JSGF) ArbitraryWordSyntax(accept_numbers=True)

ROS

The default actions.py listens for input on 'recognizer/speech' by default (configurable on ~speech_in)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published