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

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

Description

Embeddable custom voice assistant for Android applications

Services available

!
?

Need anything else?

Contributors list

# 158,392
webrtc
gRPC
Shell
kotlin-...
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 {
    jcenter()
}

dependencies {
    implementation("com.justai.aimybox:core:0.15.0")
    implementation("com.justai.aimybox:components:0.1.10")
}

  1. Add one or more dependencies of third party speech-to-text and text-to-speech libraries. For example
implementation("com.justai.aimybox:google-platform-speechkit:0.15.0")
  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
    FrameLayout
    to your application's layout like this

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

supportFragmentManager.beginTransaction().apply {
    replace(R.id.assistant_container, AimyboxAssistantFragment())
    commit()
}

}

  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.