Commit Graph
100 Commits
Author SHA1 Message Date
leonardotrapani add870e183 feat: update readme 2026-02-02 11:32:38 +01:00
leonardotrapani 0b06883bc2 feat: proper reccomendation for llm processing 2026-02-02 11:28:50 +01:00
leonardotrapani 76b9f08a4d gracefully handle legacy config: notify instead of crashing 2026-02-02 11:24:56 +01:00
leonardotrapani 0981317aa2 fix transcriber tests for strict language validation 2026-02-02 10:54:27 +01:00
leonardotrapani 2e2ad9ceeb use model's first supported language in integration tests 2026-02-02 10:49:42 +01:00
leonardotrapani 30ce13b7c1 move test-models from cli to integration tests
- removes test-models command to reduce binary size
- adds integration_test.go with build tag (go test -tags=integration)
- tests all provider/model combinations with language/keywords variations
- adds testdata/sample.wav for deterministic testing
- updates e2e.yml workflow to use go test instead of cli
- uses go-version-file in all workflows for consistency
2026-02-02 10:44:15 +01:00
leonardotrapani b0bb41707d error on unsupported language instead of silent fallback 2026-02-02 10:33:50 +01:00
leonardotrapani d62e7b14e4 fix: test-models exits non-zero on failures/skips 2026-02-02 10:18:08 +01:00
leonardotrapani b82cd77bc2 remove configured/not configured status from voice provider descriptions 2026-02-02 10:12:01 +01:00
leonardotrapani 3ecfc0c3a2 feat: int testing docs 2026-02-02 10:06:58 +01:00
leonardotrapani 195f9f5115 feat: models test and fixes 2026-02-02 01:13:33 +01:00
leonardotrapani 2729882b9d feat: remove legacy configuration 2026-02-01 23:09:33 +01:00
leonardotrapani 500b84caec fix: tests in ci 2026-02-01 22:34:44 +01:00
leonardotrapani 305f64a73d feat: new readme 2026-02-01 22:04:42 +01:00
leonardotrapani 0b0e084155 feat: use new ui bubbletea 2026-02-01 20:40:17 +01:00
leonardotrapani 3ae86f7bae feat: better language selection 2026-02-01 18:53:44 +01:00
leonardotrapani 0025bf97b6 feat: fanalize straeming adapters 2026-02-01 17:53:48 +01:00
leonardotrapani 8df3021a9d feat: refactor 2026-02-01 17:24:43 +01:00
leonardotrapani 13b1de4e04 add migration for transcription.language to general.language 2026-02-01 13:44:12 +01:00
leonardotrapani e46d8abe0d docs: update readme and config docs for general language setting 2026-02-01 13:39:22 +01:00
leonardotrapani 0f700f935f validate general.language in config and use effective language for model compatibility 2026-02-01 13:36:49 +01:00
leonardotrapani 170ac22e3c improve language-model compatibility error messages with docs URL 2026-02-01 13:34:50 +01:00
leonardotrapani 811ca71c08 add DocsURL field to Model struct for language support documentation 2026-02-01 13:31:53 +01:00
leonardotrapani 55257db725 add batch/streaming section headers to model picker 2026-02-01 13:28:09 +01:00
leonardotrapani 7eee771876 enable streaming models in TUI model picker 2026-02-01 13:25:03 +01:00
leonardotrapani 87e4e27c3b tui: remove language from transcription edit flow, use Language menu 2026-02-01 13:23:16 +01:00
leonardotrapani cc8c0c8a11 implement editLanguage function in TUI with model compatibility warning 2026-02-01 13:21:10 +01:00
leonardotrapani e005184303 add language menu item to tui configuration 2026-02-01 13:19:21 +01:00
leonardotrapani 1f6fce6941 move language to general section in config template 2026-02-01 13:17:39 +01:00
leonardotrapani 7a3e590977 add effective language resolution for general.language support 2026-02-01 13:16:24 +01:00
leonardotrapani da8a1e5b0e add GeneralConfig with Language field to config types 2026-02-01 13:14:41 +01:00
leonardotrapani ef953eab3f plan 2 2026-02-01 13:13:42 +01:00
leonardotrapani 6376ad2572 docs: update config.md with all providers and options 2026-02-01 02:15:58 +01:00
leonardotrapani 8ced10179c add docs/providers.md comparison guide 2026-02-01 02:14:00 +01:00
leonardotrapani 10ec54fc99 docs: update readme with local and streaming transcription 2026-02-01 02:12:12 +01:00
leonardotrapani a105c8c5a8 add runtime language-model compatibility check with fallback to auto-detect 2026-02-01 02:09:37 +01:00
leonardotrapani 700f7fb633 refactor config validation to use provider registry
- use provider.GetProvider() for provider validation
- use provider.GetModel() for model validation
- use p.RequiresAPIKey() for API key checks
- warn for unrecognized language codes (don't error)
- add ValidateModelLanguageCompatibility for model-language checks
- remove hardcoded isValidLanguageCode function
2026-02-01 02:07:09 +01:00
leonardotrapani 4b6e6d87ed mark task 40 complete: streaming adapter tests verified 2026-02-01 02:02:19 +01:00
leonardotrapani 1865de74ef add deepgram api key env var and config support 2026-02-01 02:00:17 +01:00
leonardotrapani 319a0ef8e2 wire streaming adapters into transcriber factory 2026-02-01 01:58:23 +01:00
leonardotrapani f0f125b62f mark task 38 reconnection logic as complete (implemented in task 37) 2026-02-01 01:56:05 +01:00
leonardotrapani d694a39ceb add openai realtime streaming adapter with reconnection logic 2026-02-01 01:55:36 +01:00
leonardotrapani 917eeed978 add gpt-4o-realtime-preview model to openai provider 2026-02-01 01:51:00 +01:00
leonardotrapani 192a372718 verify task 35: deepgram reconnection logic already implemented 2026-02-01 01:48:44 +01:00
leonardotrapani e9499b0d6b add deepgram streaming adapter with reconnection logic 2026-02-01 01:47:12 +01:00
leonardotrapani 5f614b19c5 add deepgram provider with nova-3 and nova-2 streaming models 2026-02-01 01:43:50 +01:00
leonardotrapani 29ea33bc9d add reconnection logic to elevenlabs streaming adapter 2026-02-01 01:41:37 +01:00
leonardotrapani eb0f16b583 add elevenlabs streaming adapter with websocket support 2026-02-01 01:37:03 +01:00
leonardotrapani 3c7bfbeaab add TUI validation for language-model compatibility on save 2026-02-01 01:33:59 +01:00
leonardotrapani 3af88e30c9 add language picker dropdown to TUI with filtering and model compatibility warnings 2026-02-01 01:32:02 +01:00
leonardotrapani 973643a698 add whisper-cpp to TUI with dependency check and model download 2026-02-01 01:29:12 +01:00
leonardotrapani 575b55b524 refactor tui to use model metadata for descriptions
- getTranscriptionModelOptions now uses provider.ModelsOfType() instead of hardcoded switch
- getLLMModelOptions now uses provider.ModelsOfType() instead of hardcoded switch
- added currentLang param to show language compatibility warnings on models
- buildModelLabel adds [size] for local models, [streaming] for streaming
- mapConfigProviderToRegistry maps config names to registry names
2026-02-01 01:26:02 +01:00
leonardotrapani c05a3c8c2a add model remove cli command 2026-02-01 01:22:53 +01:00
leonardotrapani 61b2db53bc add model download CLI command 2026-02-01 01:21:08 +01:00
leonardotrapani 00ae04a0d6 add model list CLI command with provider/type filters 2026-02-01 01:18:42 +01:00
leonardotrapani a760198a73 config: add threads auto-detection and whisper-cpp validation 2026-02-01 01:16:46 +01:00
leonardotrapani af0a55dc4b wire whisper-cpp into transcriber factory 2026-02-01 01:14:33 +01:00
leonardotrapani f6bf81cf95 add whisper-cpp provider with 9 local models 2026-02-01 01:12:18 +01:00
leonardotrapani 838edef59b add WhisperCppAdapter for local whisper-cpp transcription 2026-02-01 01:10:06 +01:00
leonardotrapani 7a68e6fda9 add whisper model management for local transcription 2026-02-01 01:08:08 +01:00
leonardotrapani 3b946bac98 add dependency checker for whisper-cli and ffmpeg 2026-02-01 01:05:30 +01:00
leonardotrapani ca3c03f507 mark task 17 complete - factory tests already exist 2026-02-01 01:03:37 +01:00
leonardotrapani a366d61558 add Threads field to transcriber config for local providers 2026-02-01 01:02:07 +01:00
leonardotrapani 3563def987 refactor transcriber factory to use model metadata
- factory now looks up Model via provider.GetModel()
- switches on model.AdapterType instead of provider name
- uses model.Endpoint for adapter configuration
- streaming models return clear error (not yet implemented)
- empty model falls back to provider default
- added tests for streaming and unknown model errors
2026-02-01 01:00:21 +01:00
leonardotrapani edc7a5f26b refactor elevenlabs adapter to use EndpointConfig 2026-02-01 00:57:31 +01:00
leonardotrapani 38a1aa18c1 remove redundant groq and mistral transcription adapters 2026-02-01 00:54:58 +01:00
leonardotrapani 2325864446 refactor: consolidate OpenAI adapter to accept EndpointConfig
- OpenAIAdapter now accepts EndpointConfig for custom endpoints
- added language code conversion via ToProviderFormat
- backward-compatible NewOpenAIAdapterFromConfig for migration
- works with OpenAI, Groq, and Mistral endpoints
2026-02-01 00:52:48 +01:00
leonardotrapani 80b263a682 add streaming models to elevenlabs provider 2026-02-01 00:49:37 +01:00
leonardotrapani b6807d674f mark task 10 complete: mistral provider migration verified 2026-02-01 00:46:47 +01:00
leonardotrapani 72e716327e verify groq provider migration to new model structure 2026-02-01 00:45:35 +01:00
leonardotrapani 9719df7d69 add gpt-4o-transcribe models to openai provider 2026-02-01 00:44:10 +01:00
leonardotrapani 16ef8bcf0a add model_test.go with comprehensive Model struct tests 2026-02-01 00:41:14 +01:00
leonardotrapani 4fe570081d add StreamingTranscriber wrapper for real-time transcription 2026-02-01 00:39:26 +01:00
leonardotrapani db7e3951a5 rename TranscriptionAdapter to BatchAdapter, add StreamingAdapter interface 2026-02-01 00:35:38 +01:00
leonardotrapani c23ac60b8f refactor provider interface to return models with metadata
- replaced old TranscriptionModels/LLMModels/SupportsX methods with Models() []Model
- added DefaultModel(t ModelType), IsLocal() to interface
- added helpers: GetModel, ModelsOfType, FindModelByID, ModelsForLanguage, ValidateModelLanguage
- all providers now return full Model metadata with SupportedLanguages, AdapterType, Endpoint
- groq distil-whisper-large-v3-en marked as english-only
- updated TUI to use new interface
2026-02-01 00:33:20 +01:00
leonardotrapani 51aba743f8 add Model type with full metadata for provider architecture 2026-02-01 00:28:46 +01:00
leonardotrapani b7df5388e2 add ToProviderFormat for language code conversion 2026-02-01 00:26:17 +01:00
leonardotrapani 3a1b75f58d feat: add language package with core types and helpers 2026-02-01 00:24:13 +01:00
leonardotrapani 38168fdcae feat: plan 2026-02-01 00:21:43 +01:00
leonardotrapani 27eb9076de feat: better onboarding 2026-01-31 22:55:10 +01:00
leonardotrapani f251df302d feat: better configuration 2026-01-31 22:37:58 +01:00
leonardotrapani 077e08b887 feat: improve configure 2026-01-31 21:47:30 +01:00
leonardotrapani 708f3a1842 complete end-to-end testing task (task 13) 2026-01-31 21:09:24 +01:00
leonardotrapani 2b62984eb9 docs: add LLM post-processing and unified provider documentation 2026-01-31 21:06:57 +01:00
leonardotrapani e2b5871d55 add llm processing notification 2026-01-31 21:03:24 +01:00
leonardotrapani 692339f430 update default config template with providers and llm sections 2026-01-31 20:59:45 +01:00
leonardotrapani 6d87a0b00f replace old configure command with TUI wizard 2026-01-31 20:57:50 +01:00
leonardotrapani e3b43bfa2b add TUI configure edit existing flow with section picker and smart provider detection 2026-01-31 20:53:21 +01:00
leonardotrapani 0bb584e79e add TUI configure fresh install flow with huh forms 2026-01-31 20:51:05 +01:00
leonardotrapani 175f4cba56 add tui dependencies and base styles 2026-01-31 20:48:23 +01:00
leonardotrapani 38cac375ad pass keywords to transcription adapters for spelling hints 2026-01-31 20:46:36 +01:00
leonardotrapani e175f4f6f2 integrate llm post-processing phase into pipeline 2026-01-31 20:43:49 +01:00
leonardotrapani bb8effc69f add llm adapter interface and implementations 2026-01-31 20:42:14 +01:00
leonardotrapani e3bf09b02f refactor config to unified provider structure with LLM support
- add Providers map for centralized API key storage
- add Keywords global field for transcription/LLM hints
- add LLMConfig with Enabled, Provider, Model
- add LLMPostProcessingConfig (RemoveStutters, AddPunctuation, FixGrammar, RemoveFillerWords)
- add LLMCustomPromptConfig (Enabled, Prompt)
- add ToLLMConfig() and IsLLMEnabled() methods
- add auto-migration from old transcription.api_key format
- unified API key resolution: providers -> legacy -> env var
- backward compatible with existing configs
2026-01-31 20:39:25 +01:00
leonardotrapani 933bb6fc32 feat: add provider interface and registry 2026-01-31 20:34:33 +01:00
leonardotrapani 5a4d99538f feat: llm plan 2026-01-31 20:30:47 +01:00
leonardotrapani 0f5970db32 feat: improve ci-cd on prs 2026-01-31 20:03:41 +01:00
Leonardo Trapani be79a7a5dc Merge pull request #14 from olivierroy/support_older_ydotool
Support ydotool versions below v1.0.0
2026-01-11 00:20:51 +01:00
Leonardo Trapani d18ff3dd56 Merge branch 'main' into support_older_ydotool 2026-01-08 10:11:19 +01:00
leonardotrapani 66f2a9ad2f Release v0.1.13 to AUR 2026-01-07 10:02:52 +01:00