kavinaidoo
Joined 3 years ago
Joined 3 years ago
One interaction that missed the cut was using the tablet's accelerometer to answer calls so she wouldn't have to interact with the screen at all. Simply tilting the tablet forward and back on it's stand would have answered the call. You just can't beat the customizability of Android (with Tasker) for things like this.
https://kavi.sblmnl.co.za/grandmother-communicator/ https://kavi.sblmnl.co.za/grandmother-communicator-part-2/
Regarding the time-limit, I'm entirely accessing the audio stream using the Web Speech API and it "decides" (usually when there's a sufficient pause) when to finalize a recognition result. It was also firing a "recognition.onend" event after a certain amount of time (some old details here: https://stackoverflow.com/questions/38213580/chromes-webkits...) so I have a workaround where if the user did not turn off speech-to-text, it is immediately restarted. You'll see console warnings "userStopped == false - trying to restart" when this happens.
I assume you'll have no such issues because you'll be handling the "raw" audio data and not working through this API. Also, I've noticed that when using the Web Speech API on Safari, it does not "hear" what the tab is playing. It only hears external audio. I'm not sure whether this will be an issue for you but for me it means my app is Chrome only (suboptimal). Forgive me for my naïveté in this arena, It's the first time I'm using any browser audio API.
Would your tool run on a server and work with a frontend for YT link ingestion or will you just use it yourself from the cli?
Forgive me for the confusion, the demo link implies that the transcript is loaded from the video but I see in the code that there's a pre-existing "/txt/definedefine.md" that is loaded. How are these SBV/TTML files downloaded from YouTube in the first place? I assume that it is a separate process? I see you are then using otrgen to presumably convert these so they can be used by oTranscribe.
If I could load the transcripts dynamically when loading the YouTube video that would be a great feature.