SlangLab-NU / links

1 stars 0 forks source link

AAC app tech stack #8

Open aanchan opened 1 year ago

aanchan commented 1 year ago

WWW As a technology solutions provider I would want to find out what is the specific technical stack to use to build an iOS app (and cross-functionally an android app) for augmentative and alternative communication. Our team is looking at use cases for icon based apps as well as speech based apps. Icon based apps are apps like Avaz or TouchChat. Speech based apps involve Project Relate and VoiceItt.

AC A wiki page on the links repo outlining our options and tradeoffs for what is on the market and what we can build as per our product brief

aanchan commented 1 year ago

I read the wiki page listed here: https://github.com/SlangLab-NU/links/wiki/Tech-stack-review-on-AAC-apps

React Native seems pretty mature, so I am happy with that. I had a follow-up question I am hoping you can spend some time on.

What would be the recommended workflow to say take a PyTorch or HuggingFace model and get it to run in RN? The listed libraries like react-native-tts seem to call a few baked in voices and models. Ideally we would train our own custom models and put it into react-native. I found something called PlayTorch and ReactNative pytorch core : https://github.com/facebookresearch/playtorch/tree/main. Our models are likely to be things like wav2vec2 or speecht5 on ReactNative, after some model pruning and compression. I am not sure if TFLite is still a viable option, given that RN is our recommended choice.

ztybigcat commented 1 year ago

Updated investigation at https://github.com/SlangLab-NU/links/wiki/Running-ML-on-device. I will be continuing update the page as my experiment demo app with pytorch mobile progresses.

ztybigcat commented 1 year ago

Demo app at https://github.com/SlangLab-NU/SpeechRecognitionReactNative Implemented with React Native and native Pytorch Mobile

ztybigcat commented 1 year ago

Updated quick-start documentation Documented technical procedure Added future plan and division of work