Need help with aimybox-android-assistant?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

152 Stars 38 Forks Apache License 2.0 62 Commits 12 Opened issues


Embeddable custom voice assistant for Android applications

Services available


Need anything else?

Contributors list

# 158,392
28 commits

Aimybox voice assistant

Open source voice assistant built on top of Aimybox SDK

Twitter Follow Travis CI Build Bintray artifact

iOS version is available here

Key Features

  • Provides ready to use UI components for fast building of your voice assistant app
  • Modular and independent from speech-to-text, text-to-speech and NLU vendors
  • Provides ready to use speech-to-text and text-to-speech implementations like Android platform speechkit, Google Cloud speechkit, Houndify or Snowboy wake word trigger
  • Works with any NLU providers like Aimylogic, Rasa or Dialogflow
  • 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

Just clone this repository and try to build and run the app module 😉

If you want some details - there is how to do the same with your hands.

  1. Create a new Android project with next dependencies in the build.gradle file
    android {
        compileOptions {
            sourceCompatibility = JavaVersion.VERSION_1_8
            targetCompatibility = JavaVersion.VERSION_1_8

repositories {

dependencies {

  1. Add one or more dependencies of third party speech-to-text and text-to-speech libraries. For example
  1. Create a new project in Aimybox console, enable some voice skills and copy your project's API key.

  2. Instantiate Aimybox in your Application class like that

class AimyboxApplication : Application(), AimyboxProvider {

companion object {
    private const val AIMYBOX_API_KEY = "your Aimybox project key"

override val aimybox by lazy { createAimybox(this) }

private fun createAimybox(context: Context): Aimybox {
    val unitId = UUID.randomUUID().toString()

    val textToSpeech = GooglePlatformTextToSpeech(context)
    val speechToText = GooglePlatformSpeechToText(context)

    val dialogApi = AimyboxDialogApi(AIMYBOX_API_KEY, unitId)

    return Aimybox(Config.create(speechToText, textToSpeech, dialogApi))


  1. Add
    to your application's layout like this

  1. Add
    in your activity that uses this layout (like here)
override fun onCreate(savedInstanceState: Bundle?) {

supportFragmentManager.beginTransaction().apply {
    replace(, AimyboxAssistantFragment())


  1. Make sure your app's theme contains Aimybox's styles:

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.