All Projects → Liang-Qiu → GRU_Android

Liang-Qiu / GRU_Android

Licence: MIT license
An RNN (GRU) TensorFlow Android App for word prediction.

Programming Languages

python
139335 projects - #7 most used programming language
java
68154 projects - #9 most used programming language
C++
36643 projects - #6 most used programming language

Projects that are alternatives of or similar to GRU Android

twilio-voice.js
Twilio's JavaScript Voice SDK
Stars: ✭ 21 (+40%)
Mutual labels:  voice
VAD-LTSD
Efficient voice activity detection algorithm using long-term speech information
Stars: ✭ 37 (+146.67%)
Mutual labels:  voice
somleng
Open Source Implementation of Twilio's REST API
Stars: ✭ 33 (+120%)
Mutual labels:  voice
cookiecutter-flask-ask
Cookiecutter template for Alexa skills based on the fantastic Flask-Ask framework 🍾🗣❓
Stars: ✭ 51 (+240%)
Mutual labels:  voice
voice zaloai
dentifying gender and regional accent from speech
Stars: ✭ 35 (+133.33%)
Mutual labels:  voice
figaro
Real-time voice-changer for voice-chat, etc. Will support many different voice-filters and features in the future. 🎵
Stars: ✭ 362 (+2313.33%)
Mutual labels:  voice
Unity-Text-to-Speech
Sample app used to demonstrate the use of Microsoft Cognitive Services Text-to-Speech APIs (aka Speech Synthesis) from within Unity.
Stars: ✭ 67 (+346.67%)
Mutual labels:  voice
ConvLSTM-PyTorch
ConvLSTM/ConvGRU (Encoder-Decoder) with PyTorch on Moving-MNIST
Stars: ✭ 202 (+1246.67%)
Mutual labels:  gru
LearningMetersPoems
Official repo of the article: Yousef, W. A., Ibrahime, O. M., Madbouly, T. M., & Mahmoud, M. A. (2019), "Learning meters of arabic and english poems with recurrent neural networks: a step forward for language understanding and synthesis", arXiv preprint arXiv:1905.05700
Stars: ✭ 18 (+20%)
Mutual labels:  gru
ECGClassifier
CNN, RNN, and Bayesian NN classification for ECG time-series (using TensorFlow in Swift and Python)
Stars: ✭ 53 (+253.33%)
Mutual labels:  gru
voice
Implementation of the Discord Voice API for discord.js and other JS/TS libraries
Stars: ✭ 310 (+1966.67%)
Mutual labels:  voice
twilio-client.js
Twilio’s Programmable Voice JavaScript SDK
Stars: ✭ 63 (+320%)
Mutual labels:  voice
genie-server
The home server version of Almond
Stars: ✭ 237 (+1480%)
Mutual labels:  voice
voice-based-email-for-blind
Emailing System for visually impaired persons
Stars: ✭ 35 (+133.33%)
Mutual labels:  voice
theano-recurrence
Recurrent Neural Networks (RNN, GRU, LSTM) and their Bidirectional versions (BiRNN, BiGRU, BiLSTM) for word & character level language modelling in Theano
Stars: ✭ 40 (+166.67%)
Mutual labels:  gru
UniSpyServer
An Open source GameSpy emulator written in C#
Stars: ✭ 110 (+633.33%)
Mutual labels:  voice
voice-landing-page
Free Landing Page Bootstrap Template for Alexa Skills and Google Actions
Stars: ✭ 21 (+40%)
Mutual labels:  voice
LSTM-GRU-from-scratch
LSTM, GRU cell implementation from scratch in tensorflow
Stars: ✭ 30 (+100%)
Mutual labels:  gru
web-speech-demo
Learn how to build a simple text-to-speech voice app for the web using the Web Speech API.
Stars: ✭ 19 (+26.67%)
Mutual labels:  voice
46elks-getting-started
An introduction to the 46elks API with code examples
Stars: ✭ 45 (+200%)
Mutual labels:  voice

TensorFlow Android GRU Smart Prompter

This folder contains a voice-based word predictor application utilizing TensorFlow.

Description

This demo uses Google voice recognition service to translate voice to text and then uses a GRU (one variant of RNN) model to predict words from text history in real-time, displaying the top results in an overlay on the main activity.

To build/install/run

As a prerequisite, Bazel, the Android NDK, and the Android SDK, TensorFlow must all be installed on your system. And Google voice recognition service need to be installed on your smart phone.

  1. Get the recommended Bazel version listed at: https://www.tensorflow.org/versions/master/get_started/os_setup.html#source
  2. The Android NDK may be obtained from: http://developer.android.com/tools/sdk/ndk/index.html
  3. The Android SDK and build tools may be obtained from: https://developer.android.com/tools/revisions/build-tools.html
  4. The TensorFlow package can be found from: http://www.tensorflow.org
  5. Download any Google App with Google voice typing automatically install recognition service.

Then paste this directory under tensorflow/tensorflow/examples/. The Android entries in <workspace_root>/WORKSPACE must be uncommented with the paths filled in appropriately depending on where you installed the NDK and SDK. Otherwise an error such as: "The external label '//external:android/sdk' is not bound to anything" will be reported.

In directory tensorflow/tensorflow/core/kernels, modify control_flow_op.cc: comment the three lines: "TF_CALL_ALL_TYPES(REGISTER_CPU_SWITCH)" "TF_CALL_ALL_TYPES(REGISTER_CPU_REF_SWITCH)" "TF_CALL_QUANTIZED_TYPES(REGISTER_CPU_SWITCH)" and add two lines above it: "REGISTER_KERNEL_BUILDER(Name("Switch").Device(DEVICE_CPU), SwitchOp)" "REGISTER_KERNEL_BUILDER(Name("RefSwitch".Device(DEVICE_CPU), SwitchOp))"

The model protobuf file and the vocab file are both already included in the assets directory in the source tree. And the model definition file (GRU.py and run GRU.py) using tensorflow python API are in the 'model directory.' Then, after editing your WORKSPACE file, you must build the APK. Run this from your workspace root:

$ bazel build //tensorflow/examples/android:word_predictor

If you get build errors about protocol buffers, run git submodule update --init and build again.

If adb debugging is enabled on your Android 5.0 or later device, you may then use the following command from your workspace root to install the APK once built:

$ adb install -r -g bazel-bin/tensorflow/examples/android/word_predictor.apk

Some older versions of adb might complain about the -g option (returning: "Error: Unknown option: -g"). In this case, if your device runs Android 6.0 or later, then make sure you update to the latest adb version before trying the install command again. If your device runs earlier versions of Android, however, you can issue the install command without the -g option.

Alternatively, a streamlined means of building, installing and running in one command is:

$ bazel mobile-install //tensorflow/examples/android:word_predictor --start_app

If voice record permission errors are encountered (possible on Android Marshmallow or above), then the adb install command above should be used instead, as it automatically grants the required voice permissions with -g. The permission errors may not be obvious if the app halts immediately, so if you installed with bazel and the app doesn't come up, then the easiest thing to do is try installing with adb.

To use the Google voice recognition service, you need to connect your phone to the Internet running this app. Once the app is installed it will be named "Smart Prompter" and have the orange TensorFlow logo as its icon.

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