A java library for speech interaction applications such as personal assistants. The design of the library allows interaction in a very natural way. The ACIS library can be used to create a personal assistant like Google Home or Amazon Echo but it is on the programmers behalf how it behaves and what actions are provided.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
de/bensoft/acis
samples
.gitignore
LICENSE
README.md
acis.jar

README.md

Visit my webpage! (documentation, demo, etc.)

ACIS

Contents

What is ACIS?

ACIS stands for Advanced Communication and Interaction System and is a library written in Java which can be used for speech interaction. The design of the library allows interaction in a very natural way.
The ACIS library can be used to create a personal assistant like Google Home or Amazon Echo but it is on the programmers behalf how it behaves and what actions are provided.

Who is ACIS for?

The ACIS library is for people who want to do their own thing, who do not want to rely on the possibilities the other assitant manufacturers provide. Because the ACIS library handles everything locally, there are no security or privacy problems.
Of course a minimum knowledge in programming (Java) is required, but the library itself as well as the sample implementations should be easy to understand.

How does it work? (short version)

Basically any ACIS system consists of two main parts - a language-dependent and a language-independent part. Between these two parts is a standardized interface both can use. The language-dependent part is the language the system uses. It delivers language specific information e.g. about words and the sentence objects. The language-independent part uses this information to provide results, even while natural interaction. In fact, the ACIS library is applicable for any language. The only thing needed is a language interface.

What does it take?

Basically only a computer capable of running Java programs is required to create something using the ACIS library. To create your own actions, a Java IDE is recommended.
To create a personal assistant you have no limits - the reference implementation is on a Raspberry Pi3 running Android Things but you can run it on anything. Just add what is needed - a microphone, a speaker, a sound card if needed, a display if you want, a temperature sensor or whatever you can imagine.

Where can I get it?

The code of ACIS is publicly available on my GitHub. It is published under MIT license. If you do not want to clone the repository, a pre-built .jar file is in the root of the master branch.

Get started

coreThe core system.
serverA simple HTTP server which can be used to interact with a device.
utilsContains common utilities used by other packages.
languagesContains some language interfaces for ACIS. The Unified language interface can be used with any language. Note: German and English are available in high-quality mode. Please contact me if you want to contribute a language interface.
samplesContains samples, code snippets and implementation examples. An Android client app which can be used to send requests to the default server interface provided by the SampleRequestHandler can be found here.

A pre-built .jar file is in the root of the master branch.

Samples and tutorials

Whole library documentation