This is a research project from students of the University of Stuttgart. No functionality is tested. There may be harmful errors.
In parallel, we are working on a web interface for Amy, which you can find here
Maven: io.github.amyassist.amy
To get started with Amy, download the latest release or build it yourself.
We handle our dependencies within the project with Apache Maven so to build the project you have to have Maven installed. You can find the archive to download on this website.
Additionaly we need a running MQTT Broker on the system. See the wiki for more information.
Clone or download the project from GitHub.
To build the project, you need to run maven install on the root directory of the project, so the path you are in should look something like this: C:/...folder(s).../Amy/
.
Execute mvn install
, this command will build and test the whole project.
The build artifacts are amy-master-node/target/amy-master-node.jar
and build/plugins/
.
Create a directory named config
and place all configs in there.
More information about the configuration can be found in the Wiki.
In the plugin.config set the plugin path acordingly, the default is to load all plugins form plugins/
.
Executing java -jar amy-master-node.jar
will run Amy in the current working directory.
Use the option -h
to get help java -jar amy-master-node.jar -h
.
As soon as the confirmation Sphinx listening
pops up in your console you are good to go.
Before giving Amy any commands, she first has to be woken up.
This is accomplished by saying Amy wake up
- if the command was spoken and heard properly you will receive an acoustic confirmation that she is awake.
You may now give Amy speech commands.
If you wish that Amy stops listening, simply say Amy sleep
and she will not react to any commands that are given to her - until you wake her up again
There are commands which can be typed into the console that do not trigger any plugin actions. An example would be ?list
.
This command lists all of the possible commands that you can give Amy.
If you wish to trigger a plugin action with a command, be careful that you put the word say
in front of your command, otherwise the errors will haunt you even in your dreams.
A valid command looks like this: say how many emails do i have
If you wish to run the automated tests, run mvn test
in your console while being in the root folder of the project (the same as the one you installed in)
Documentation is in the Wiki of GitHub.
Direct links:
- Home
- Annotations
- Architecture
- Dependency Injection(incomplete)
- How to create a plugin
- How To Test
- Issues
- Logger
Best use our docker compose project. Otherwise take the steps described in Getting Started.
- Maven - Dependency Management
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
This project uses Semantic Versioning.
See the list of contributors who participated in this project.
This project is licensed under the Apache 2.0 License - see the LICENSE Document for details
- CMU Sphinx Speech Recognition
- Mary TextToSpeech
- for additional acknowledgments see the Notice file