Embed your own intelligent voice assistant into your existing iOS application.
Android version is available here
- 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
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.
- 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'
- 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'
- AimyboxDialogAPI
DialogAPI component that uses Aimybox HTTP API.
Pods installation:
pod 'Aimybox/AimyboxDialogAPI'
Please refer to the demo voice assistant to see how to use Aimybox library in your project.
There is a full Aimybox documentation available here
Aimybox is available under the Apache 2.0 license. See the LICENSE file for more info.