Google TTS: default ssml_gender NEUTRAL is rejected for Neural2 voices
I maintainer di solito rispondono entro 1 giorno
Una pull request collegata è già stata integrata.
- #7954 di @sarankumar1325 — integrata
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 72/100
Direzione di ricerca
Inizia nel plugin Google TTS da _gender_from_str e TTS.__init__, che l’issue identifica come il percorso che imposta ssml_gender. Controlla le opzioni vocali esistenti e i test sul comportamento predefinito del genere, quindi riproduci il problema con la voce Neural2 dell’issue. Il lavoro è concluso quando omettere gender non invia più un valore neutro rifiutato e le altre famiglie di voci continuano a funzionare.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
google.TTS sends ssml_gender=NEUTRAL unless a gender is passed, and Google rejects that for Neural2 voices.
Version: livekit-plugins-google 1.6.6
Repro
from livekit.plugins import google
tts = google.TTS(voice_name="en-IN-Neural2-B", language="en-IN")
# synthesize anything -> google.api_core.exceptions.InvalidArgument:
# 400 Gender neutral voices are not supported.
Chirp3-HD, Wavenet and Standard voices accept NEUTRAL, so the default only breaks Neural2.
Cause
_gender_from_str falls back to SsmlVoiceGender.NEUTRAL, and TTS.__init__ always calls it with DEFAULT_GENDER when gender is not given. Every Google voice has a fixed gender, so a caller choosing a voice by name has no gender to pass, and the gender argument has no value that means "unspecified".
Suggested fix
Leave ssml_gender as SSML_VOICE_GENDER_UNSPECIFIED when gender is not given, so Google picks the voice's own gender. We currently work around it by setting tts._opts.voice.ssml_gender = SsmlVoiceGender.SSML_VOICE_GENDER_UNSPECIFIED after construction.
- Lingua principale
- Python
- Stelle
- 14.6k
- Fork
- 3.9k
- Merge medio
- 3g 20h
- PR unite (30g)
- 193
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 14 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 54 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
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 55/100
I maintainer di solito rispondono entro 1 giorno
-
Soniox and simplismart STT detect a dead websocket and reconnect into it forever instead of failing overForse già presa Una pull request collegata a questa issue è aperta o già unita. Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
livekit/agents#8031 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Agent stays "speaking" forever when the avatar participant leaves mid-replyForse già presa @regalmoix l’ha presa 1 giorno fa. Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 54/100
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di livekit/agents
Issue simili
-
resource-submission validation-passed
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
hesreallyhim/awesome-claude-code#3214 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
room-commons replace accepts an empty old string and silently prepends the new text to the pageAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
doobidoo/mcp-memory-service#1650 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 1-3 ore Idoneità per principianti 82/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
ml-explore/mlx-lm#2002 ·
I maintainer di solito rispondono entro 2 giorni