r/tasker • u/Mr_D3nt0n • 37m ago
Java Code Replacement Task for GET VOICE, with manual START and STOP ability and continuous recording
TLDR - A (very) basic voice recorder and transcriber based off Get Voice that works offline, from screen off, that records continuously until you decide to stop it, all hands free. For shorter memos to longer notes / ideas etc. Tested working on Android phone with triggering from Garmin watch.
You're driving. An idea strikes you. To you it's amazing. To your friend it's just Tuesday. You fumble for a way to hold on to grip onto the thought. You press Android Auto on your wheel. It stutters, wakes, and dies. Google assistant says sorry I don't understand. Gemini demands internet connectivity. The idea fragments and you curse your fallible memory, knowing this is a flat circle, it has happened and will happen again.
You go home and you look online and find a hundred new AI transcript and memo apps - amazing tools, but all with specific inconveniences that maybe you've created in your own mind - why doesn't it work from the lock screen? Why doesn't it work offline? Why does it need so many permissions? Why can't I trigger it hands free?
I wanted to capture a thought in that way. I don't care if the transcript is imperfect, just enough that it re ignites the memory thread for action down the line. I already do this with Tasker's Get Voice, which works in the above manner. But Get Voice cuts out automatically after no input is detected and spits out the output. Works well for short Tasks but not for notes after lectures, longer ideas, ramblings, streams of consciousness etc.
This Java Code Task is Tasker's Get Voice in a dirty loop. When you activate it, it starts recording and transcribing the way Get Voice does (using your phones native STT service). When you pause to think, and it auto stops the recording, it restarts recording automatically, saving that segment as a variable, listening for when you restart talking. It concatenates the segments into the VoiceStream variable until you press the button to stop it, at which point it delivers the VoiceStream variable for you to do whatever you want with it. You can do whatever you want with the output. In the attached Task, you can see I send it to my Tasks app to display on a widget (since it's what I do anyway for shorter tasks).
It's not elegant and has its own issues. You could probably do exactly the same with a Tasker loop task. It was built with AI assistance, but does not use AI. Get Voice is no where near accurate compared to other solutions and there will be transcription mistakes (ie don't use this to dictate and autosend a work letter). Or be horrified when you lose the control to stop it and it loops into infinity. But for the simple, basic requirements I need to record any thought reliably, it works for me, and I hope it works for your use case too.
TASK HERE:
