https://github.com/200ok-ch/ok-audio-transcription
Voice transcription for Emacs using OpenAI's Whisper API.
https://github.com/200ok-ch/ok-audio-transcription
Last synced: 4 months ago
JSON representation
Voice transcription for Emacs using OpenAI's Whisper API.
- Host: GitHub
- URL: https://github.com/200ok-ch/ok-audio-transcription
- Owner: 200ok-ch
- License: agpl-3.0
- Created: 2024-11-24T17:14:32.000Z (11 months ago)
- Default Branch: master
- Last Pushed: 2025-03-25T14:47:08.000Z (7 months ago)
- Last Synced: 2025-06-18T23:35:18.841Z (4 months ago)
- Language: Emacs Lisp
- Size: 19.5 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.org
- License: LICENSE
Awesome Lists containing this project
README
Voice Transcription for Emacs using OpenAI's Realtime API
** Requirements
- Emacs 27.1 or later
- ffmpeg
- PulseAudio (currently supports only Linux systems with PulseAudio)
- OpenAI API Key** Installation
*** MELPA
Coming soon.*** Manual
Clone this repository and add its path to `load-path`:```elisp
(add-to-list 'load-path "/path/to/ok-audio-transcription")
(require 'ok-audio-transcription)
```** Configuration
Set your OpenAI API token:
```elisp
(setq ok-audio-transcription--openai-token "your-api-token")
```** Usage
- `M-x ok-audio-transcription--record-dwim` :: Start/stop recording (press once to start, again to stop)
- `M-x ok-audio-transcription--transcribe-file` :: Transcribe an existing audio fileThe transcription result will be inserted at point.
Define a shortcut:
```elisp
(define-key global-map (kbd "C-x R") 'ok-audio-transcription--record-dwim)
```** Limitations
- Currently supports only Linux systems with PulseAudio
- Maximum recording length defaults to 180 seconds (modifiable via `ok-audio-transcription--max-recording-seconds`)
- Requires an active internet connection
- Utilizes OpenAI's API (incurs costs)** License
AGPL-3.0. See [[file:LICENSE][LICENSE]].
** Credits
Inspired by [[https://simonsafar.com/2024/whisper/][Simon Safar's blog post]].