Audio transcription using the OpenAI Whisper models
Go to file
2024-04-14 15:59:29 +02:00
.github/workflows Update release.yml 2024-04-03 23:09:07 +02:00
internal Use stdin instead of a server 2024-04-14 15:59:29 +02:00
pkg/whisper Use stdin instead of a server 2024-04-14 15:59:29 +02:00
tmp initial commit 2023-10-04 01:09:38 +03:00
.gitignore Transcribe using file buffer straight from form 2024-03-11 20:55:47 +01:00
.goreleaser.yaml goreleaser: disable archives 2023-10-05 22:51:13 +03:00
go.mod enable cors 2023-10-05 23:31:16 +03:00
go.sum enable cors 2023-10-05 23:31:16 +03:00
languageMap.json Move language map to json file in order to not trigger microsoft antivirus 2024-03-19 18:35:24 +01:00
LICENSE initial commit 2023-10-04 01:09:38 +03:00
main.go Use stdin instead of a server 2024-04-14 15:59:29 +02:00
README.md Move language map to json file in order to not trigger microsoft antivirus 2024-03-19 18:35:24 +01:00

Whisper API Server (Go)

⚠️ This project is a work in progress (WIP).

This API server enables audio transcription using the OpenAI Whisper models.

Setup

  • Download .exe from Releases
  • Just run it!

Build from source

Before build make sure that CGO_ENABLED env is set to 1

set CGO_ENABLED 1

or preferable set it parament. Then check it via

go env

Also you have to have installed gcc x64 i.e. by MYSYS

Download the sources and use go build. For example, you can build using the following command:

go build -ldflags "-s -w" -o server.exe main.go

Usage example

Make a request to the server using the following command:

curl http://localhost:3031/v1/audio/transcriptions \
  -H "Content-Type: multipart/form-data" \
  -F file="@/path/to/file/audio.mp3" \

Receive a response in JSON format:

{
  "text": "Imagine the wildest idea that you've ever had, and you're curious about how it might scale to something that's a 100, a 1,000 times bigger. This is a place where you can get to do that."
}

Usage with Obsidian

  1. Install Obsidian voice recognotion plugin
  2. Open the plugin's settings.
  3. Set the following values:
    • API KEY: sk-1
    • API URL: http://localhost:3031/v1/audio/transcriptions
    • Model: whisper-1

Roadmap

  • Implement automatic model downloading from huggingface
  • Implement automatic Whisper.dll downloading from Guthub releases
  • Provide prebuilt binaries for Windows
  • Include instructions for running on Linux with Wine (likely possible).
  • Use flags to override the model path
  • Use flags to override the model type (when downloading the model)
  • Use flags to override the port

Credits