Coder Social home page Coder Social logo

nm-jai / aimybox-ios-sdk Goto Github PK

View Code? Open in Web Editor NEW

This project forked from just-ai/aimybox-ios-sdk

0.0 0.0 0.0 9.8 MB

Voice assistant SDK for iOS devices written in Swift

Home Page: https://aimybox.com

License: Apache License 2.0

Ruby 0.66% Swift 98.09% Objective-C 0.83% C 0.02% Makefile 0.40%

aimybox-ios-sdk's Introduction




Aimybox iOS SDK

Open source voice assistant SDK written in Swift

Twitter Follow

Embed your own intelligent voice assistant into your existing iOS application.

Android 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 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.

aimybox-ios-sdk's People

Contributors

erusaev avatar erusaevap avatar dimzfresh avatar ozyrus avatar morfeusys avatar nm-jai avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.