Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/hyperloop-modules/titanium-speech
Use the iOS 10 SFSpeechRecognizer API in JavaScript with Appcelerator Hyperloop.
https://github.com/hyperloop-modules/titanium-speech
appcelerator-hyperloop hyperloop ios javascript native speech-recognition
Last synced: about 2 months ago
JSON representation
Use the iOS 10 SFSpeechRecognizer API in JavaScript with Appcelerator Hyperloop.
- Host: GitHub
- URL: https://github.com/hyperloop-modules/titanium-speech
- Owner: hyperloop-modules
- Created: 2016-09-06T20:01:12.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2023-03-21T14:41:02.000Z (almost 2 years ago)
- Last Synced: 2024-08-24T02:02:03.240Z (4 months ago)
- Topics: appcelerator-hyperloop, hyperloop, ios, javascript, native, speech-recognition
- Language: JavaScript
- Homepage:
- Size: 8.67 MB
- Stars: 21
- Watchers: 7
- Forks: 9
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Ti.Speech
---
iOS 10 speech-recognition with Appcelerator Hyperloop.### Requirements
- [x] Titanium SDK 5.5.0.GA+
- [x] Hyperloop 2.0.0+
- [x] Xcode 8+
- [x] Include the following keys in the plist-section of your tiapp.xml:
```xml
NSSpeechRecognitionUsageDescription
Can we parse your spoken words?NSMicrophoneUsageDescription
Can we use the microphone for real-time speech recognition?
```### Usage
#### Getting started using example app
1. Copy example app from here: https://github.com/hyperloop-modules/ti.speech/tree/master/example
2. Import app into your account using `appc new --import`
3. Enable Hyperloop platform services when being asked
4. Run the app with `appc run -p ios -I 10.0`#### Creating a new app
1. Create a new project with `appc new -p ios`
2. Enable Hyperloop platform services when being asked
3. Copy the `ti.speech` in your project and use code from examples (or example app)
4. Run the app with `appc run -p ios -I 10.0`### Examples
You can use speech recognition with real-time audio or with pre-recorded media files (audio or video). See [example file](https://github.com/hyperloop-modules/ti.speech/blob/master/example/app/controllers/index.js) for more details.
#### Recognize from File URL
```js
var TiSpeech = require("ti.speech");
TiSpeech.initialize("en_US"); // locale is optionalvar 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();
```#### Recognize from Audio Input
```js
var TiSpeech = require("ti.speech");
TiSpeech.initialize("en_US"); // locale is optionalvar 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();```
### Author
* Hans Knoechel ([@hansemannnn](https://twitter.com/hansemannnn))
* Brenton House ([@brentonhouse](https://twitter.com/brentonhouse))### License
Apache 2.0### Contributing
Code contributions are greatly appreciated, please submit a new [pull request](https://github.com/hyperloop-modules/ti.speech/pull/new/master)!