github tgeczy/TGSpeechBox v-310b101
TG SpeechBox with phoneme editor, NVDA Addon, SAPI5, Linux, Android, iOS, Mac OS, version 310 beta 101

pre-release6 hours ago

TGSpeechBox v3.10 Beta 1.1 — targeted /l/ fix for Spanish ear testing

This is a FOCUSED beta between b1 and b2. The only substantive change vs
b1 is a targeted fix for the "entregado sounds like entrelado" perceptual
collapse that multiple community members have reported in Spanish (issues
#84 and #95).

The fix

Spanish /l/ (phoneme l_es) now carries a lateral side-branch anti-resonance
at 1700 Hz, activated via the cascade anti-resonator path. This gives /l/
its characteristic dark quality that distinguishes it from /ɣ/ (the voiced
velar approximant in "entregado"), which was previously rendered as
spectrally too similar in word-medial position.

Acoustic evidence via LPC root-finding on synthesized audio:

/l/ in /entɾelaðo/ BEFORE: F1=410 (BW 254) F2=1794 (BW 137) F3=2734
/l/ in /entɾelaðo/ AFTER: F1=416 (BW 228) F2=1803 (BW 99) F3=2727 F4=3499

Key improvements:

  • F1 preserved
  • F2 bandwidth sharpened from 137 → 99 Hz (more distinctively lateral)
  • New spectral null at 1700 Hz between F2 and F3 (the side-cavity zero)
  • F4 emerges cleanly

/ɣ/ is untouched. The acoustic distinction is now a spectral shape
difference, not just a center-frequency difference.

DSP v9 infrastructure

Bumps the DSP version from 8 to 9. Adds a new FrameEx field caN0 for
future use cases that need the cascade anti-resonator decoupled from the
nasal-pole path. The /l/ fix itself uses the existing caNP path with a
heavily-damped rNP so nasal pole coloring stays inaudible — but caN0 is
there as the architectural abstraction for future phonemes that need
pole-free anti-resonance.

Please ear-test

Native Spanish speakers, especially @gregodejesus2, @rmcpantoja, @yaresDg,
and @dgomez42 — please test on Windows (NVDA or SAPI) or Android (APK).

Test words:

  • entregado / entrelado (the direct pair)
  • hola, lunes, alga, olvido, final (/l/ in various positions)
  • alma, almacén (/l/ before nasals)

Listen for:

  • Is /l/ now audibly different from /ɣ/ in "entregado"?
  • Does /l/ sound like natural Spanish /l/?
  • Any unexpected "boominess" or nasal coloring on /l/?
  • Any regressions in non-/l/ contexts?

What's NOT in this beta

This is a hotfix for the /l/ issue specifically. Other v3.10 roadmap items
(Android Engine-tab language selector #97, currency dictionary #83,
emoji name translations #96, echo at slow rates #98) are NOT in this beta.
A proper Beta 2 with those will follow once the /l/ fix is ear-verified.

Testing

  • 43 C++ unit tests (doctest) + 18 Python tests (pytest) all pass
  • LPC root-finding on synthesized audio confirms acoustic spectrum change
  • No regressions against existing test corpus

If something sounds wrong

Post on #95 with the word(s) affected and any comparison to b1 or to
another synthesizer (eSpeak, Eloquence). We'll tune and re-release.

Don't miss a new TGSpeechBox release

NewReleases is sending notifications on new releases.