iOS 10 speech-recognition with Appcelerator Hyperloop.
- Titanium SDK 5.5.0.GA+
- Hyperloop 2.0.0+
- Xcode 8+
- Include the following keys in the plist-section of your tiapp.xml:
<key>NSSpeechRecognitionUsageDescription</key> <string>Can we parse your spoken words?</string> <key>NSMicrophoneUsageDescription</key> <string>Can we use the microphone for real-time speech recognition?</string>- Copy example app from here: https://github.com/hyperloop-modules/ti.speech/tree/master/example
- Import app into your account using
appc new --import - Enable Hyperloop platform services when being asked
- Run the app with
appc run -p ios -I 10.0
- Create a new project with
appc new -p ios - Enable Hyperloop platform services when being asked
- Copy the
ti.speechin your project and use code from examples (or example app) - Run the app with
appc run -p ios -I 10.0
You can use speech recognition with real-time audio or with pre-recorded media files (audio or video). See example file for more details.
var TiSpeech = require("ti.speech"); TiSpeech.initialize("en_US"); // locale is optional var win = Ti.UI.createWindow({ backgroundColor: "#fff" }); var btn = Ti.UI.createButton({ title: "Recognize pre-recorded speech" }); if (!TiSpeech.isSupported()) { alert("Speech recognition is not available on this device!"); btn.setEnabled(false); } btn.addEventListener("click", function() { TiSpeech.recognize({ type: TiSpeech.SOURCE_TYPE_URL, // optional, as it defaults to this if url is defined url: "one_more_thing.mp3", progress: function(e) { Ti.API.info(e.value); } }); }); win.add(btn); win.open();var TiSpeech = require("ti.speech"); TiSpeech.initialize("en_US"); // locale is optional var win = Ti.UI.createWindow({ backgroundColor: "#fff" }); var btn = Ti.UI.createButton({ title: "Recognize real-time speech" }); if (!TiSpeech.isAvailable()) { alert("Speech recognition is not available on this device!"); btn.setEnabled(false); } btn.addEventListener("click", function() { TiSpeech.startRecognition({ type: TiSpeech.SOURCE_TYPE_MICROPHONE, // optional, as it defaults to this if url is undefined progress: function(e) { Ti.API.info(e.value); } }); }); win.add(btn); win.open();- Hans Knoechel (@hansemannnn)
- Brenton House (@brentonhouse)
Apache 2.0
Code contributions are greatly appreciated, please submit a new pull request!