All Projects → spokestack → spokestack-ios

spokestack / spokestack-ios

Licence: Apache-2.0 license
Spokestack: give your iOS app a voice interface!

Programming Languages

swift
15916 projects

Projects that are alternatives of or similar to spokestack-ios

spokestack-android
Extensible Android mobile voice framework: wakeword, ASR, NLU, and TTS. Easily add voice to any Android app!
Stars: ✭ 52 (+92.59%)
Mutual labels:  text-to-speech, speech-synthesis, voice-recognition, speech-recognition, vad, asr, voice-assistant, natural-language-understanding, speech-api, voice-activity-detection, voice-synthesis, wakeword, wakeword-activation
react-native-spokestack
Spokestack: give your React Native app a voice interface!
Stars: ✭ 53 (+96.3%)
Mutual labels:  text-to-speech, speech-synthesis, voice-recognition, speech-recognition, speech-to-text, speech-processing, asr, voice-assistant, speech-api, voice-activity-detection
open-speech-corpora
💎 A list of accessible speech corpora for ASR, TTS, and other Speech Technologies
Stars: ✭ 841 (+3014.81%)
Mutual labels:  text-to-speech, speech-synthesis, voice-recognition, speech-recognition, speech-to-text, speech-processing, voice-activity-detection
Spokestack Python
Spokestack is a library that allows a user to easily incorporate a voice interface into any Python application.
Stars: ✭ 103 (+281.48%)
Mutual labels:  text-to-speech, speech-synthesis, voice-recognition, speech-recognition, speech-to-text, natural-language-understanding
leon
🧠 Leon is your open-source personal assistant.
Stars: ✭ 8,560 (+31603.7%)
Mutual labels:  text-to-speech, speech-synthesis, speech-recognition, speech-to-text, voice-assistant
speechrec
a simple speech recognition app using the Web Speech API Interfaces
Stars: ✭ 18 (-33.33%)
Mutual labels:  speech-synthesis, speech-recognition, speech-to-text, speech-processing, speech-api
AmazonSpeechTranslator
End-to-end Solution for Speech Recognition, Text Translation, and Text-to-Speech for iOS using Amazon Translate and Amazon Polly as AWS Machine Learning managed services.
Stars: ✭ 50 (+85.19%)
Mutual labels:  text-to-speech, speech-synthesis, voice-recognition, speech-recognition, speech-to-text
musicologist
Music advice from a conversational interface powered by Algolia
Stars: ✭ 19 (-29.63%)
Mutual labels:  text-to-speech, speech-recognition, speech-to-text, voice-assistant
cobra
On-device voice activity detection (VAD) powered by deep learning.
Stars: ✭ 76 (+181.48%)
Mutual labels:  voice-recognition, speech-recognition, vad, voice-activity-detection
KeenASR-Android-PoC
A proof-of-concept app using KeenASR SDK on Android. WE ARE HIRING: https://keenresearch.com/careers.html
Stars: ✭ 21 (-22.22%)
Mutual labels:  voice-recognition, speech-recognition, speech-to-text, voice-assistant
Vosk Api
Offline speech recognition API for Android, iOS, Raspberry Pi and servers with Python, Java, C# and Node
Stars: ✭ 1,357 (+4925.93%)
Mutual labels:  voice-recognition, speech-recognition, speech-to-text, asr
Openseq2seq
Toolkit for efficient experimentation with Speech Recognition, Text2Speech and NLP
Stars: ✭ 1,378 (+5003.7%)
Mutual labels:  text-to-speech, speech-synthesis, speech-recognition, speech-to-text
leopard
On-device speech-to-text engine powered by deep learning
Stars: ✭ 354 (+1211.11%)
Mutual labels:  voice-recognition, speech-recognition, speech-to-text, asr
Naomi
The Naomi Project is an open source, technology agnostic platform for developing always-on, voice-controlled applications!
Stars: ✭ 171 (+533.33%)
Mutual labels:  text-to-speech, speech-synthesis, speech-recognition, speech-to-text
Nemo
NeMo: a toolkit for conversational AI
Stars: ✭ 3,685 (+13548.15%)
Mutual labels:  text-to-speech, speech-synthesis, speech-recognition, speech-to-text
Lingvo
Lingvo
Stars: ✭ 2,361 (+8644.44%)
Mutual labels:  speech-synthesis, speech-recognition, speech-to-text, asr
Cheetah
On-device streaming speech-to-text engine powered by deep learning
Stars: ✭ 383 (+1318.52%)
Mutual labels:  voice-recognition, speech-recognition, speech-to-text, asr
Rhino
On-device speech-to-intent engine powered by deep learning
Stars: ✭ 406 (+1403.7%)
Mutual labels:  voice-recognition, speech-recognition, speech-to-text, natural-language-understanding
Awesome Ai Services
An overview of the AI-as-a-service landscape
Stars: ✭ 133 (+392.59%)
Mutual labels:  text-to-speech, speech-synthesis, speech-recognition, speech-to-text
anycontrol
Voice control for your websites and applications
Stars: ✭ 53 (+96.3%)
Mutual labels:  speech-recognition, speech-to-text, voice-assistant, speech-api

Spokestack iOS

Spokestack provides an extensible speech recognition pipeline for the iOS platform. It includes a variety of built-in speech processors for Voice Activity Detection (VAD), wakeword activation, and Automatic Speech Recognition (ASR).

Table of Contents

Features

  • Voice activity detection
  • Wakeword activation with two different implementations
  • Simplified Automated Speech Recognition interface
  • Speech pipeline seamlessly integrates VAD-triggered wakeword detection using on-device machine learning models with transcribing utterances using platform Automated Speech Recognition
  • On-device Natural Language Understanding utterance classifier
  • Simple Text to Speech API

Installation

CocoaPods is a dependency manager for Cocoa projects. For usage and installation instructions, visit their website. To integrate Spokestack into your Xcode project using CocoaPods, specify it in your Podfile:

pod 'Spokestack-iOS'

Usage

Spokestack.io hosts extensive usage documentation including tutorials, integrations, and recipe how-tos.

Configure Wakeword-activated Automated Speech Recognition

import Spokestack
// assume that self implements the SpokestackDelegate protocol
let pipeline = SpeechPipelineBuilder()
    .addListener(self)
    .useProfile(.appleWakewordAppleSpeech)
    .setProperty("tracing", Trace.Level.PERF)
pipeline.start()

This example creates a speech recognition pipeline using a configurable wakeword detector that is triggered by VAD, which in turn activates an the native iOS ASR, returning the resulting utterance to the SpokestackDelegate observer (self in this example).

See SpeechPipeline and SpeechConfiguration for further configuration documentation.

Text to Speech

// assume that self implements the TextToSpeechDelegate protocol
let tts = TextToSpeech(self, configuration: SpeechConfiguration())
tts.speak(TextToSpeechInput("My god, it's full of stars!"))

Natural Language Understanding

let config = SpeechConfiguration()
config.nluVocabularyPath = "vocab.txt"
config.nluModelPath = "nlu.tflite"
config.nluModelMetadataPath = "metadata.json"
// assume that self implements the NLUDelegate protocol
let nlu = try! NLUTensorflow(self, configuration: configuration)
nlu.classify(utterance: "I can't turn that light in the room on for you, Dave", context: [:])

Troubleshooting

A build error similar to Code Sign error: No unexpired provisioning profiles found that contain any of the keychain's signing certificates will occur if the bundle identifier is not changed from io.Spokestack.SpokestackFrameworkExample, which is tied to the Spokestack organization.

Reference

The SpokestackFrameworkExample project is a reference implementations for how to use the Spokestack library, along with runnable examples of the VAD, wakeword, ASR, NLU, and TTS components. Each component has a button on the main screen, and can be started, stopped, predicted, or synthesized as appropriate. The component screens have full debug tracing enabled, so the system control logic and debug events will appear in the XCode console.

Documentation

Getting Started, Cookbooks, and Conceptual Guides

Step-by-step introduction, common usage patterns, and discussion of concepts used by the library, design guides for voice interfaces, and the Android library may all be found on our website.

API Reference

API reference is available on Github.

Deployment

Preconditions

  1. Ensure that git lfs has been installed: https://git-lfs.github.com/. This is used to manage the storage of the large model and metadata files in SpokestackFrameworkExample.
  2. Ensure that CocoaPods has been installed: gem install cocoapods (not via brew).
  3. Ensure that you are registered in CocoaPods: pod trunk register YOUR_EMAIL --description='release YOUR_PODSPEC_VERSION'

Process

  1. Increment the podspec version in Spokestack-iOS.podspec
  2. pod lib lint --use-libraries --allow-warnings, which should pass all checks
  3. git commit -a -m 'YOUR_COMMIT_MESSAGE' && git tag YOUR_PODSPEC_VERSION && git push --origin
  4. pod trunk push --use-libraries --allow-warnings

License

License

Copyright 2020 Spokestack, Inc.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].