Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Google TTS: default ssml_gender NEUTRAL is rejected for Neural2 voices

Chiusa Adatta ai principianti
#7,951 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

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
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
python
Ambito
api, backend

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

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di livekit/agents

Tutte le issue di livekit/agents

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.