Azure STT: pronunciation assessment on the streaming recognizer
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 55/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- azure, python
- Ambito
- audio-video-rtc, backend
Direzione di ricerca
Start by reading the Azure STT implementation in stt.py and its unit tests; the issue says the recognizer setup and _on_recognized are the relevant entry points. Check how SpeechData.metadata is populated for final transcripts, then compare the fork implementation linked in the issue. Done means an optional pronunciation assessment config adds Azure’s scores to each final transcript while leaving default behavior unchanged.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Feature Type
Would make my life easier
Feature Description
We're building a Japanese learning app on top of LiveKit Agents and we score the learner's pronunciation with Azure's pronunciation assessment.
Right now the Azure plugin doesn't let you touch the recognizer before it starts, and _on_recognized only keeps the text. So to get scores we have to send the same audio to Azure a second time, which means paying for the transcription twice.
Azure supports pronunciation assessment directly on continuous recognition: you just apply a PronunciationAssessmentConfig to the recognizer, and every final result comes back with the scores in its JSON.
What I'd like:
- an optional
pronunciation_assessment: speechsdk.PronunciationAssessmentConfigonazure.STT - the assessment attached to each final transcript, in
SpeechData.metadata["pronunciation_assessment"](the field is already there for plugin specific data)
Off by default, so nothing changes for anyone else.
Workarounds / Alternatives
- Second request to Azure with the recorded audio after each turn: works, but double billing and extra latency.
- Patching the plugin's private methods (
_on_recognized, recognizer creation): works too, but it breaks on any plugin update, so we had to pinlivekit-plugins-azure. - Forking the whole STT in our codebase: that's what we have now, I'd rather not maintain it.
Additional Context
I already have a small implementation on a fork (~40 lines in stt.py + unit tests), tested against the real Azure service with Japanese audio, scores come back on every final:
https://github.com/Bilnaa/agents/tree/azure-recognizer-hooks
Happy to open the PR if the approach looks ok to you, or change the shape of it (e.g. a generic recognizer setup callback instead).
- Lingua principale
- Python
- Stelle
- 14.6k
- Fork
- 3.9k
- Merge medio
- 3g 21h
- PR unite (30g)
- 197
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di livekit/agents
-
Assistant markup is stripped from chat history when expressive mode is offForse già presa @ShivamSharma43 l’ha presa 15 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
docs: openai.LLM vs openai.responses.LLM for HTTP OpenAI-compat hostsForse di nuovo libera @AbarnaaSree l’ha presa 55 giorni fa e non c’è nessuna pull request aperta. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
livekit/agents#7022 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Anthropic plugin ignores parallel_tool_calls=False unless tool_choice is also setForse già presa @sarankumar1325 l’ha presa oggi. Apertabug
Difficoltà 2/5 1-3 ore Idoneità per principianti 30/100
I maintainer di solito rispondono entro 1 giorno
-
OpenAI Realtime engine: expose the WebSocket close code and reason to subclassesForse già presa @ninglinLiu l’ha presa 1 giorno fa. Aperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 35/100
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 4/5 3-5 giorni Idoneità per principianti 38/100
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di livekit/agents
Issue simili
-
bug
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
I maintainer di solito rispondono entro 1 giorno
-
documentation
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
sergey-miryanov/gcmon#230 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
Azure-Samples/azure-search-openai-demo#3249 ·
I maintainer di solito rispondono entro 1 giorno
-
[BUG] Failed archive extraction deletes the dataset cacheForse già presa @dajiaohuang l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
alibaba/GraphScope#4674 ·