All Projects → turtlehacks → speechportal

turtlehacks / speechportal

Licence: other
(1st place at HopHacks) A dynamic webVR memory palace for speech training, utilizing natural language processing and Google Streetview API

Programming Languages

javascript
184084 projects - #8 most used programming language
python
139335 projects - #7 most used programming language
HTML
75241 projects

Projects that are alternatives of or similar to speechportal

360WebPlayer
The easiest way to stream 360 videos and pictures on your website or blog.
Stars: ✭ 31 (+121.43%)
Mutual labels:  webvr
aframe-cubemap-component
A component for creating a skybox with a cubemap in A-Frame.
Stars: ✭ 61 (+335.71%)
Mutual labels:  webvr
MixedRealityResources
Mixed Reality related resources
Stars: ✭ 190 (+1257.14%)
Mutual labels:  webvr
UniSpeech
UniSpeech - Large Scale Self-Supervised Learning for Speech
Stars: ✭ 224 (+1500%)
Mutual labels:  speech-processing
aframe-mirror-component
Mirror effect material that works with snapshots of the scene for A-Frame
Stars: ✭ 29 (+107.14%)
Mutual labels:  webvr
awesome-multimodal-ml
Reading list for research topics in multimodal machine learning
Stars: ✭ 3,125 (+22221.43%)
Mutual labels:  speech-processing
webvr-tests
A set of simple tests for testing WebVR functionality. See https://developer.mozilla.org/en-US/docs/Web/API/WebVR_API for the latest on the documentation.
Stars: ✭ 73 (+421.43%)
Mutual labels:  webvr
Learn-WebVR
Resources to Learn WebVR 😎
Stars: ✭ 13 (-7.14%)
Mutual labels:  webvr
embedding
Embedding data into immersive environments
Stars: ✭ 26 (+85.71%)
Mutual labels:  webvr
webvr
Archival repository for the legacy WebVR Specification.
Stars: ✭ 13 (-7.14%)
Mutual labels:  webvr
camp
Building generative VR worlds on the Web
Stars: ✭ 16 (+14.29%)
Mutual labels:  webvr
aframe-registry
[DISCONTINUED] Curated collection of community A-Frame components.
Stars: ✭ 76 (+442.86%)
Mutual labels:  webvr
hologram
Hologram Framework | All-in-one WebVR creation.
Stars: ✭ 84 (+500%)
Mutual labels:  webvr
three-onEvent
Add an EventListener for Object3d in your three.js project.(support click,hover or gaze)
Stars: ✭ 55 (+292.86%)
Mutual labels:  webvr
scim
[wip]Speech recognition tool-box written by Nim. Based on Arraymancer.
Stars: ✭ 17 (+21.43%)
Mutual labels:  speech-processing
SpeechEnhancement
Combining Weighted Multi-resolution STFT Loss and Distance Fusion to Optimize Speech Enhancement Generative Adversarial Networks
Stars: ✭ 49 (+250%)
Mutual labels:  speech-processing
ttslearn
ttslearn: Library for Pythonで学ぶ音声合成 (Text-to-speech with Python)
Stars: ✭ 158 (+1028.57%)
Mutual labels:  speech-processing
WebVRExamples
yonet.github.io/webvrexamples/examples/cubes.html
Stars: ✭ 19 (+35.71%)
Mutual labels:  webvr
webvr-polyfill-dpdb
An up-to-date Device Parameter Database for the WebVR Polyfill
Stars: ✭ 29 (+107.14%)
Mutual labels:  webvr
LIUM
Scripts for LIUM SpkDiarization tools
Stars: ✭ 28 (+100%)
Mutual labels:  speech-processing

SpeechPortal

Installation

virtualenv -p python3 .env
source .env/bin/activate
pip install -r requirements.txt

npm install webpack -g
webpack

mkdir images assets
python serve.py

Inspiration

Over the course of human history, formal speech has proven to be the singly most powerful way to communicate a message to a group of people. Whether you're a Ph.D student studying in Korea, or a refugee escaping Syria, you will find yourself having to give a speech at some point in your life. And whether it's about defending the past five years of your research or desperately seeking for help for your younger siblings still at home, preparing for that important speech can be difficult, tedious, and nervewracking.

And as college students who have had to give speeches to protect their school programs, to inspire suffering communities, and to defend others from bigotry, we believe everyone should have the essential human ability to communicate to others.

That's why we built SpeechPortal, to make preparing for your next speech fun, easy, and intuitive! Using novel webVR and in-browser speech recognition technology, SpeechPortal creates a dynamic training ground for people who need to quickly and intelligently memorize their next talk! Accessible to anyone with a mobile phone or computer!

What it does

SpeechPortal is a webVR app that produces a dynamic virtual memory palace made up of memorable Google Streetview locations that holds image clues generated from an inputted speech. Once you use the clues around you to help you recite the first portion of your speech, the speech-processing portion of our project advances you to the next location (and paragraph in your speech), and will wait to give you a 'hint' if you hesitate/say the wrong thing.

How we built it

We used Python and Flask to serve as a container to host the VR environment, a multithreaded Python script to download streetview images onto an SSD server, WebVR/OpenGL technologies for VR rendering, and Javascript to render the auditory processing, perform image stitching, and perform secondary VR processing client-side. We made extensive use of Google Street View Image API and Web Speech API (supported by Google speech processing). On the NLP side, we used NLTK to broke down the speech into sections and extract keywords/phrases, and for each keyword, we found a related image using Unsplash.

Challenges we ran into

Each VR frame of Google Street view contains a massive amount of data, which we had to resolve using parallel image downloads and non-blocking compressions on an SSD server in order to allow fast mobile rendering.

Built With

python javascript google-web-speech-api nltk flask opengl google-streetview

Developed by

Ricky Han, Johann Miller, and Kevin Chen

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