Audio transcription support (#18398)

* install new packages for transcription support

* add config options

* audio maintainer modifications to support transcription

* pass main config to audio process

* embeddings support

* api and transcription post processor

* embeddings maintainer support for post processor

* live audio transcription with sherpa and faster-whisper

* update dispatcher with live transcription topic

* frontend websocket

* frontend live transcription

* frontend changes for speech events

* i18n changes

* docs

* mqtt docs

* fix linter

* use float16 and small model on gpu for real-time

* fix return value and use requestor to embed description instead of passing embeddings

* run real-time transcription in its own thread

* tweaks

* publish live transcriptions on their own topic instead of tracked_object_update

* config validator and docs

* clarify docs
This commit is contained in:
Josh Hawkins
2025-08-16 10:20:33 -05:00
committed by Blake Blackshear
parent 2385c403ee
commit 6dc36fcbb4
29 changed files with 2322 additions and 51 deletions
+8 -2
View File
@@ -103,12 +103,14 @@
"success": {
"regenerate": "A new description has been requested from {{provider}}. Depending on the speed of your provider, the new description may take some time to regenerate.",
"updatedSublabel": "Successfully updated sub label.",
"updatedLPR": "Successfully updated license plate."
"updatedLPR": "Successfully updated license plate.",
"audioTranscription": "Successfully requested audio transcription."
},
"error": {
"regenerate": "Failed to call {{provider}} for a new description: {{errorMessage}}",
"updatedSublabelFailed": "Failed to update sub label: {{errorMessage}}",
"updatedLPRFailed": "Failed to update license plate: {{errorMessage}}"
"updatedLPRFailed": "Failed to update license plate: {{errorMessage}}",
"audioTranscription": "Failed to request audio transcription: {{errorMessage}}"
}
}
},
@@ -173,6 +175,10 @@
"label": "Find similar",
"aria": "Find similar tracked objects"
},
"audioTranscription": {
"label": "Transcribe",
"aria": "Request audio transcription"
},
"submitToPlus": {
"label": "Submit to Frigate+",
"aria": "Submit to Frigate Plus"
+5
View File
@@ -69,6 +69,10 @@
"enable": "Enable Audio Detect",
"disable": "Disable Audio Detect"
},
"transcription": {
"enable": "Enable Live Audio Transcription",
"disable": "Disable Live Audio Transcription"
},
"autotracking": {
"enable": "Enable Autotracking",
"disable": "Disable Autotracking"
@@ -135,6 +139,7 @@
"recording": "Recording",
"snapshots": "Snapshots",
"audioDetection": "Audio Detection",
"transcription": "Audio Transcription",
"autotracking": "Autotracking"
},
"history": {