Skip to content

feature: add self-hosted whisper asr voice transcription - #494

Open
GRbit wants to merge 241 commits into
forkgram:devfrom
GRbit:dev
Open

feature: add self-hosted whisper asr voice transcription#494
GRbit wants to merge 241 commits into
forkgram:devfrom
GRbit:dev

Conversation

@GRbit

@GRbit GRbit commented Aug 2, 2026

Copy link
Copy Markdown

Adds a third transcription backend next to Telegram Premium and Cloudflare: a self-hosted whisper-asr-webservice instance with a configurable URL (in case it's used semi-locally inside Tailscale or example) and an optional auth header sent (in case of online installation). Installtion of whisper on a server with GPU gives much faster and better quality transcription.

Self-hosted takes precedence over Cloudflare when both are enabled.

23rd and others added 19 commits July 25, 2026 15:42
Co-authored-by: ThatHunky <thathunky29@gmail.com>
Adds a third transcription backend next to Telegram Premium and
Cloudflare: a self-hosted whisper-asr-webservice instance with a
configurable URL (in case it's used semi-locally inside Tailscale
or example) and an optional auth header sent (in case of online
installation). Installtion of whisper on a server with GPU gives
much faster and better quality transcription.

Self-hosted takes precedence over Cloudflare when both are enabled.
@23rd

23rd commented Aug 2, 2026

Copy link
Copy Markdown
Collaborator

Hi.
The client already has a vendor-neutral AIDL backend: anything exposing org.opentranscribe.api.ITranscriptionService shows up in the provider picker, so no hardcoded packages. A small relay app that takes the incoming fd and POSTs it to your whisper-asr-webservice would work against current dev with zero client changes, and would get partial-text streaming and real cancellation for free.

@GRbit

GRbit commented Aug 2, 2026

Copy link
Copy Markdown
Author

Hi @23rd,
Thanks for the fast reply! I'm quite new to Android development, so I'd like to double check if I understood you correctly. Am I right that you suggest not to merge new remote transcription service to the app, but to run an app next to Forkgram exposing org.opentranscribe.api.ITranscriptionService which will be available in Forkgram as a transcription provider.

If I understood correctly, may I ask why Cloudflare has a special treatment here? I don't want to argue here, just to better understand is it a historical thing, or is there something that makes this case special.

Otherwise, unrelated to the PR, do you know some apps exposing org.opentranscribe.api.ITranscriptionService on F-Droid? Is it like a well known convention for transcribing apps? Where can I read more about it, googling this exact key founds pretty much nothing, probably I'm doing something wrong here

@23rd

23rd commented Aug 2, 2026

Copy link
Copy Markdown
Collaborator

If I understood correctly, may I ask why Cloudflare has a special treatment here? I don't want to argue here, just to better understand is it a historical thing, or is there something that makes this case special.

It is a historical thing.
One person brought their ready-to-use code and I merged it. But later I found out a better and flexible way.

As a proof of concept I launched the Scrib.

I think you can just ask your AI model to write a simple tiny (I guess it will be ~1MB on your device) application for Forkgram's AIDL contract.

@23rd

23rd commented Aug 2, 2026

Copy link
Copy Markdown
Collaborator

to run an app next to Forkgram

It is not necessary to run your tiny app or keep it in background — it is enough to have it on your device (and choose in the picker from Forkgram's settings).

@GRbit

GRbit commented Aug 2, 2026

Copy link
Copy Markdown
Author

Thanks for the explanation, now it's more clear. Also, that indeed looks like a better solution, leaves me in the control of my part of the code allowing forkgram developers not to support this part in the app.

Speaking of Scrib you mentioned, I can indeed build similar app with remote voice recognition, but I'm curious what you think of adding the remote option to Scrib? I'd like more to contribute to existing projects, rather than create my own stack of apps. At least for this purpose.

@23rd

23rd commented Aug 2, 2026

Copy link
Copy Markdown
Collaborator

Yeah, it's a pretty good idea overall.
But now I'm a bit confused because, from the very beginning, the app has positioned itself as "On-device voice transcription. Your audio never leaves your phone." 😅

Perhaps, if we do add that feature, we should include several clear and prominent warnings stating that the audio will be sent to third-party servers, and the user must explicitly confirm twice that they understand this and give their consent.

@GRbit

GRbit commented Aug 3, 2026

Copy link
Copy Markdown
Author

Yeah, that would be a bit weird to make app that works 100% locally to be "Your audio never leaves your phone, unless you allow it manually".

Anyway, I think this PR indeed can be closed, but I have then a question regarding Scrib. What you like more: if I do a fork and make it Scrib+/Scrib Remote, or if I make a PR with similar self-hosted voice transcription to it? I prefer having it built into Scrib, and probably add be open for other transcription options in the future, but I think I'm pretty much biased

@23rd
23rd force-pushed the dev branch 3 times, most recently from f5d796f to ff0a9c8 Compare August 11, 2026 11:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.