diff options
| author | Craig Jennings <c@cjennings.net> | 2025-11-04 14:35:50 -0600 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2025-11-04 14:35:50 -0600 |
| commit | bebe25c692e5648486443b4e0cd92553f075a587 (patch) | |
| tree | c5a7b59f3be5776a4294db66c14c0d764b71117c /modules/user-constants.el | |
| parent | 21f1cd67a4bbed96af4c53d62ecbd873a0d809f1 (diff) | |
| download | dotemacs-bebe25c692e5648486443b4e0cd92553f075a587.tar.gz dotemacs-bebe25c692e5648486443b4e0cd92553f075a587.zip | |
feat: Add complete async audio transcription workflow
Implemented full transcription system with local Whisper and OpenAI API
support. Includes comprehensive test suite (60 tests) and reorganized
keybindings for better discoverability.
Features:
- Async transcription (non-blocking workflow)
- Desktop notifications (started/complete/error)
- Output: audio.txt (transcript) + audio.log (process logs)
- Modeline integration showing active transcription count
- Dired integration (press T on audio files)
- Process management and tracking
Scripts:
- install-whisper.sh: Install Whisper via AUR or pip
- uninstall-whisper.sh: Clean removal with cache cleanup
- local-whisper: Offline transcription using installed Whisper
- oai-transcribe: Cloud transcription via OpenAI API
Tests (60 passing):
- Audio file detection (16 tests)
- Path generation logic (11 tests)
- Log cleanup behavior (5 tests)
- Duration formatting (9 tests)
- Active counter & modeline (11 tests)
- Integration workflows (8 tests)
Keybindings:
- Reorganized gcal to C-; g submenu (s/t/r/c)
- Added C-; t transcription submenu (t/b/k)
- Dired: T to transcribe file at point
Diffstat (limited to 'modules/user-constants.el')
| -rw-r--r-- | modules/user-constants.el | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/modules/user-constants.el b/modules/user-constants.el index ba52cec26..2a6d0ca2b 100644 --- a/modules/user-constants.el +++ b/modules/user-constants.el @@ -47,6 +47,14 @@ Example: (setq cj/debug-modules '(org-agenda mail)) "Alist mapping buffer states to their colors. Used by cursor color, modeline, and other UI elements.") +;; --------------------------- Media File Extensions --------------------------- + +(defvar cj/audio-file-extensions + '("m4a" "mp3" "wav" "flac" "ogg" "opus" "aac" + "aiff" "aif" "wma" "ape" "alac" "weba") + "File extensions recognized as audio files. +Used by transcription module and other audio-related functionality.") + ;; ------------------------ Directory And File Constants ----------------------- ;; DIRECTORIES |
