Aimybox iOS SDK
Open source voice assistant SDK written in Swift
Embed your own intelligent voice assistant into your existing iOS application.
here
Android version is availableKey Features
- Provides ready to use UI components 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
- Works with any NLU providers like Aimylogic
- 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 Swift
- Embeddable into any iOS application
- 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
Aimybox SDK is available through CocoaPods. To install it, simply add the following line to your Podfile:
pod 'Aimybox/Core'
# Specific components for DialogAPI, SpeechToText and TextToSpeech
pod 'Aimybox/AimyboxDialogAPI'
pod 'Aimybox/SFSpeechToText'
pod 'Aimybox/AVTextToSpeech'
List of available components listed below.
Then you need add following in your Info.plist
file to describe why your app need microphone and speech recognition permissions.
<key>NSMicrophoneUsageDescription</key>
<string>This app use a microphone to record your speech</string>
<key>NSSpeechRecognitionUsageDescription</key>
<string>This app will use speech recognition</string>
Add following in your ViewController
var aimybox: Aimybox? = {
let locale = Locale(identifier: "en")
guard let speechToText = SFSpeechToText(locale: locale) else {
fatalError("Locale is not supported.")
}
guard let textToSpeech = AVTextToSpeech(locale: locale) else {
fatalError("Locale is not supported.")
}
let dialogAPI = AimyboxDialogAPI(api_key: "Awesome_API_Key",
unit_key: UIDevice.current.identifierForVendor!.uuidString)
let config = AimyboxBuilder.config(speechToText, textToSpeech, dialogAPI)
return AimyboxBuilder.aimybox(with: config)
}()
Then call startRecognition()
method of Aimybox
to start talking with your voice assistant.
Available Components
TextToSpeech
- SFSpeechToText
Speech recognition component that uses iOS Speech Framework.
Pods installation:
pod 'Aimybox/SFSpeechToText'
- YandexSpeechToText
Speech recognition component that uses Yandex speech recognition of Yandex.Cloud SpeechKit.
Pods installation:
pod 'Aimybox/YandexSpeechToText'
TextToSpeech
- AVTextToSpeech
Speech synthesizer component that uses iOS speech synthesis of AVFoundation Framework.
Uses AVSpeechUtterance
and AVSpeechSynthesizer
for core functionality.
Pods installation:
pod 'Aimybox/AVTextToSpeech'
- YandexTextToSpeech
Speech synthesizer component that uses Yandex speech synthesis of Yandex.Cloud SpeechKit.
Pods installation:
pod 'Aimybox/YandexTextToSpeech'
DialogAPI
- AimyboxDialogAPI
DialogAPI component that uses Aimybox HTTP API.
Pods installation:
pod 'Aimybox/AimyboxDialogAPI'
More details
Please refer to the demo voice assistant to see how to use Aimybox library in your project.
Documentation
There is a full Aimybox documentation available here
License
Aimybox is available under the Apache 2.0 license. See the LICENSE file for more info.