Installation Document

KeenASR is currently provided as a framework with armv7 and arm64 slices (simulator is not supported). iOS 8 or later are supported. To install the framework, follow these steps:

1. DOWNLOAD THE LATEST VERSION OF THE FRAMEWORK

Download the framework

Download librispeech-nnet2-en-us ASR Bundle

Unzip all the archives you downloaded.

NOTE: Trial version of the framework will force the app to exit (“crash”) after 10min of use.

NOTE: We can provide ASR Bundles that work better for large vocabulary tasks, and generally have smaller memory footprint and CPU utilization. Contact us to inquire for details.

Contact us if you are interested in licensing the framework.


2. ADD FRAMEWORK TO THE PROJECT

Directions from the Apple’s iOS Developer Library.

  • In the project navigator, select the project or group within a project to which you want to add the framework

  • Choose File > Add Files to “<App_Name>”

  • Click on Options button in the bottom left and make sure “Copy items if needed” is checked

  • Select the framework directory (KeenASR.framework/), and click Add

You can also add a framework to a project by dragging the framework bundle from a Finder window into the project in the project navigator.


3. ADD ASR BUNDLE TO THE PROJECT

  • In the project navigator, select the project or group within a project to which you want to add the ASR Bundle.

  • Choose File > Add Files to “<App_Name>”

  • Click on Options button in the bottom left and make sure “Create folder references” is checked.

  • Select the ASR bundle, and click Add

IMPORTANT: “Create folder references” option must be checked, otherwise, the bundle will be added but the folder structure will not be mimicked on the device. Once ASR Bundle is added to the project, the icon next to it should be blue in the Project Navigator file list.

NOTE: during initial experimentation, you may want to add more than one ASR bundle to your project. Once you determined which ASR Bundle you plan to use, make sure to remove other ASR bundle(s) in your final app, since they may take up significant space and will not be used.


4. UPDATE PROJECT BUILD CONFIGURATION SETTINGS

  • Disable bitcode compilation. Under project Build Settings, search for “Enable Bitcode” and set to NO

  • Add libc++.tbd library. Under Targets, choose your target, select Build Phases tab, open Link Binary With Libraries, click on +, select libc++.tbd, click Add

  • Under Targets, choose your target, select Build Settings tab, search for “c++” and make sure that C++ Language Dialect is set to C++11, and C++ Standard Library is set to libc++

  • Add Accelerate framework. Under Targets, choose your target, select Build Phases tab, open Link Binary With Libraries, click on +, select Accelerate.framework, click Add

Note: as of version 0.9 of the SDK we’ve switched to c++11 and libc++.


5. UPDATE PRIVACY SETTINGS FOR MICROPHONE ACCESS

As of iOS 10, Apple requires all apps that access microphone to provide a description with the reason your app needs to access the microphone, by adding a key in the Info.plist file. If this key is not specified the app will crash as soon as it tries to access the microphone (in this case, on initialization of the framework). More details.

To add this key, open Info.plist file in your project, add the NSMicrophoneUsageDescription key, and specify your description as the string value. For example, “Speech recognition feature in this app requires access to the microphone”.