braden-w / whispering

https://whispering.bradenwong.com/
MIT License
200 stars 22 forks source link

[FEATURE REQUEST]: Option to use local faster-whisper server instead of OpenAI API #163

Open Arche151 opened 3 weeks ago

Arche151 commented 3 weeks ago

Feature request

I'd like to propose adding an option to use this local faster-whisper-server instead of the OpenAI API. The faster-whisper-server is OpenAI API compatible, which suggests that implementing this option should be relatively straightforward and require minimal modifications to the existing code.

This addition would provide users with an alternative that could offer:

  1. Improved privacy by keeping audio data local
  2. Potentially faster processing times
  3. Cost savings by eliminating API usage fees

I understand this might be a niche request, but it could be valuable for users who prefer local processing or have specific performance requirements.

Thank you for considering this feature. I would highly appreciate, if you were able to implement it!

braden-w commented 2 weeks ago

Great feature request and it seems like the API is compatible! I'll put this on queue and hopefully have an opportunity to work on it this month!

Arche151 commented 2 weeks ago

@braden-w Yayy, happy to hear that!

OLH21 commented 2 weeks ago

I think the GroQ API is also compatible , maybe you could add the en point in the settings ?

quickreactor commented 1 week ago

This is my most wanted feature! Glad to see it getting some traction, I use the app all the time!

AlpSantoGlobalMomentumLLC commented 14 hours ago

I think a configurable URL without any guarantees for compatibility would be a nice ... I would personally start to test GroQ ... https://wow.groq.com/groq-runs-whisper-large-v3-at-a-164x-speed-factor-according-to-new-artificial-analysis-benchmark/

AlpSantoGlobalMomentumLLC commented 13 hours ago

I think in the following file it is needed to get 3 configuration options: recorder.svelte.CMw7ZXBL.js

  1. Turn off, the api check because groq starts with gsk_
  2. The option to change the model
  3. The option to change the URL

    transcribe: (e,{apiKey: t, outputLanguage: n})=>L(function() { var a; if (!t.startsWith("sk-")) return yieldnew B({ title: "Invalid API Key", description: 'The API Key must start with "sk-"', action: { label: "Update API Key", goto: "/settings" } }); const r = e.size / (1024 1024); if (r > Hh) return yieldnew B({ title: The file size (${r}MB) is too large, description: Please upload a file smaller than ${Hh}MB. }); const s = new File([e],xC) , o = new FormData; o.append("file", s), o.append("model", "whisper-1"), n !== "auto" && o.append("language", n); const i = yield*$e({ try: ()=>fetch("https://api.openai.com/v1/audio/transcriptions", {