https://github.com/just-ai/aimybox-android-sdk
Voice assistant SDK for Android
https://github.com/just-ai/aimybox-android-sdk
android kotlin kotlin-android kotlin-library sdk speech-recognition voice-assistant
Last synced: 2 months ago
JSON representation
Voice assistant SDK for Android
- Host: GitHub
- URL: https://github.com/just-ai/aimybox-android-sdk
- Owner: just-ai
- License: apache-2.0
- Created: 2019-06-25T08:46:22.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2024-03-01T13:11:51.000Z (over 2 years ago)
- Last Synced: 2026-01-14T17:20:54.899Z (6 months ago)
- Topics: android, kotlin, kotlin-android, kotlin-library, sdk, speech-recognition, voice-assistant
- Language: Kotlin
- Homepage: https://aimybox.com
- Size: 4.67 MB
- Stars: 92
- Watchers: 9
- Forks: 19
- Open Issues: 25
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Aimybox Android SDK
Open source voice assistant SDK written in Kotlin
Embed your own intelligent voice assistant into your existing application or device.
### iOS version is available [here](https://github.com/just-ai/aimybox-ios-sdk)
# Key Features
* Provides ready to use [UI components](https://github.com/just-ai/aimybox-android-assistant) for fast building of your voice assistant app
* Modular and independent from speech-to-text and text-to-speech vendors
* Provides ready to use speech-to-text and text-to-speech implementations like [Android platform speechkit](https://github.com/just-ai/aimybox-android-sdk/tree/master/google-platform-speechkit), [Kaldi](https://github.com/just-ai/aimybox-android-sdk/tree/master/kaldi-speechkit), [Pocketsphinx](https://github.com/just-ai/aimybox-android-sdk/tree/master/pocketsphinx-speechkit), [Yandex Cloud speechkit](https://github.com/just-ai/aimybox-android-sdk/tree/master/yandex-speechkit), [Google Cloud speechkit](https://github.com/just-ai/aimybox-android-sdk/tree/master/google-cloud-speechkit), [Houndify](https://github.com/just-ai/aimybox-android-sdk/tree/master/houndify-speechkit) or [Snowboy wake word trigger](https://github.com/just-ai/aimybox-android-sdk/tree/master/snowboy-speechkit)
* Works with any NLU providers like [Aimylogic](https://help.aimybox.com/en/article/aimylogic-webhook-5quhb1/), [Dialogflow](https://help.aimybox.com/en/article/dialogflow-agent-cqdvjn/) and [Rasa](https://github.com/just-ai/aimybox-android-sdk/tree/master/rasa-api)
* Fully customizable and extendable, you can connect any other speech-to-text, text-to-speech and NLU services
* Open source under Apache 2.0, written in pure Kotlin
* Embeddable into any application or device running Android
* Voice skills logic and complexity is not limited by any restrictions
* Can interact with any local device services and local networks
# How to start using
1. Create a new Android project with next dependencies in the _build.gradle_ file
```kotlin
android {
compileOptions {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
}
}
repositories {
mavenCentral()
}
dependencies {
implementation("com.just-ai.aimybox:core:$aimyboxVersion")
}
```
_Use the latest version _
2. Add one or more dependencies of third party speech-to-text and text-to-speech libraries. For example
```kotlin
implementation("com.just-ai.aimybox:google-platform-speechkit:$aimyboxVersion")
```
3. Create a new project in [Aimybox console](https://help.aimybox.com/en/article/introduction-to-aimybox-web-console-n49kfr/), enable some voice skills and **copy your project's API key**.
4. Instantiate [Aimybox](https://github.com/just-ai/aimybox-android-sdk/blob/master/core/src/main/java/com/justai/aimybox/Aimybox.kt) in your [Application](https://github.com/just-ai/aimybox-android-assistant/blob/master/app/src/main/java/com/justai/aimybox/assistant/AimyboxApplication.kt) class like that
```kotlin
val unitId = UUID.randomUUID().toString()
val textToSpeech = GooglePlatformTextToSpeech(context)
val speechToText = GooglePlatformSpeechToText(context)
val dialogApi = AimyboxDialogApi("your Aimybox project API key", unitId)
val aimybox = Aimybox(Config.create(speechToText, textToSpeech, dialogApi))
```
Now you can start talking with your voice assistant using `startRecognition()` method of [Aimybox](https://github.com/just-ai/aimybox-android-sdk/blob/master/core/src/main/java/com/justai/aimybox/Aimybox.kt).
# More details
Please refer to the [demo voice assistant](https://github.com/aimybox/aimybox-android-assistant) to see how to use Aimybox library in your project. There are much more features described in [our Android SDK documentation](https://github.com/just-ai/aimybox-android-sdk/wiki).
# Documentation
There is a full Aimybox documentation available [here](https://github.com/just-ai/aimybox-android-sdk/wiki)