# ReleaseBridge — optional es-419 formant voice kit

This independent audio option uses **eSpeak NG's explicit es-419 / Spanish (Latin America) profile**. It is a machine formant voice draft. It is not natural human narration, native-speaker approval, country-specific accent certification or a customer delivery.

Open `index.html` to watch the two independently rendered120-second illustrated videos and audition the64.94-second voice excerpt. Native-language and independent listening review remain uncompleted.

## Actual evidence

- Existing local runtime: the eSpeak C API exported by `espeakbridge.pyd` in an already installed `piper-tts1.8.0` distribution. Runtime reports eSpeak1.52.0.1. No package was installed for this option.
- The adapter calls the formant engine directly. It does not call Piper's neural synthesis, open an ONNX voice model, use MBROLA, access a network or play audio automatically.
- Voice selection is verified after the call: primary language `es-419`, name `Spanish (Latin America)`, identifier `roa/es-419` (Windows may return a backslash). The local language-definition hash and runtime hash are recorded.
- `narration-es-419-formant.wav`:126 words from original fictional script cues C03–C12, unchanged, at140 nominal words/minute;64.9408 seconds;22050Hz, mono, PCM16. No added silence was used to reach30 seconds.
- `retimed-branch/audio/`:all20 cues at one explicitly fixed175 nominal words/minute. C02 alone is corrected for this branch's actual voice disclosure, with original/new text in `script-delta.json`.
- The original5.75-second slots failed for C06, C16, C17, C18 and C20. `original-slot-report.json` preserves all original measurements. No phrase was truncated, time-stretched or individually accelerated to hide those failures.
- `retimed-branch/narration-es419-formant-retimed-120s.wav` uses a **new audio-only timeline**:0.25 seconds before the first cue,0.5 seconds between cues, and explicit final silence to120 seconds. New SRT/VTT cue times correspond to actual clip boundaries. It does not retain the original video's timing.

**The original video remains unchanged.** `demo-es419-formant.mp4` and `demo-es419-formant-no-captions.mp4` are new illustrations rebuilt from our own UI labels and chapter data on the new audio timeline. Both have correct es-419 formant draft disclosures. They are not remuxes of the old Spain-voice movie or customer screen recordings. The caption-free version retains UI labels and voice/sample disclosures. Real customer work still needs permitted current media and language approval.

## Reproduce locally

Use an existing Python3.12 environment compatible with the supplied external Windows runtime, or an independently obtained compatible eSpeak NG shared library and matching data. The adapter itself uses only Python's standard library. The current test used the existing Piper distribution; it does not automatically install or fetch it.

This ZIP deliberately excludes executable libraries, speech dictionaries, trained models and unrelated dependencies. Obtain them through the relevant project's official distribution under its terms. Review the actual shared library before loading it; the adapter does not sandbox native code.

```text
python synthesize_es419.py --library PATH_TO_EXISTING_LIBRARY --data-dir PATH_TO_ESPEAK_NG_DATA --text script-es-419.txt --output new-excerpt.wav --voice es-419 --rate 140
python -m unittest -v test_es419 test_video_timeline
```

To reproduce the original timing trial from an authorized copy of the original fictional project:

```text
python check_project_cues.py --project PATH_TO_PROJECT_JSON --library PATH_TO_EXISTING_LIBRARY --data-dir PATH_TO_ESPEAK_NG_DATA --output new-trial --rate 175
python synthesize_es419.py --library PATH_TO_EXISTING_LIBRARY --data-dir PATH_TO_ESPEAK_NG_DATA --text C02-corrected.txt --output new-C02.wav --rate 175
python assemble_branch.py --trial new-trial --replacement-audio new-C02.wav --replacement-text C02-corrected.txt --output new-retimed-branch
```

To reproduce the synchronized original illustrated video, also use existing Pillow, FFmpeg and a licensed local TrueType font:

```text
python render_synced_video.py --project video-project.json --branch retimed-branch --output new-video --ffmpeg PATH_TO_EXISTING_FFMPEG --font PATH_TO_LICENSED_TTF
```

The renderer writes exactly2880 raw frames at24fps. It checks all20 SRT texts and timestamps, fully decodes both videos, and compares decoded audio with the source WAV at zero lag. Video caption boundaries are quantized by less than one24fps frame; SRT/VTT retain millisecond timing. AAC is lossy: the actual decoded signals correlate0.99975 with the original PCM and carry16 padding samples at the end. This is technical synchronization evidence, not a pronunciation judgement. Three decoded frames were inspected: early C02 disclosure, late voice/version labels and a caption-free view.

Every output directory/file must be new. Source text changes require a new render and review; do not edit hashes to make an old recording look current. Only plain UTF-8 text is accepted; SSML and phoneme commands are disabled. es-ES and unspecified es are rejected by this profile.

The assembled branch and illustrated renderer support these original20 cue inputs. They are not an arbitrary customer-video editor. Real work needs authorized text/media, an agreed Spanish region and voice style, timing approval, accurate UI terminology and a qualified language reviewer. Locale metadata establishes the selected technical profile; it does not establish pronunciation, idiom, accessibility or commercial suitability.

## Sources and licence

The [official language list](https://github.com/espeak-ng/espeak-ng/blob/master/docs/languages.md) distinguishes es-419 from Spain Spanish. The [official README](https://github.com/espeak-ng/espeak-ng/blob/master/README.md) describes formant synthesis and its less natural sound, plus GPL3-or-later licensing. The [C API header](https://github.com/espeak-ng/espeak-ng/blob/master/src/include/espeak-ng/speak_lib.h) specifies synchronous retrieval and voice metadata. The [language definition](https://github.com/espeak-ng/espeak-ng/blob/master/espeak-ng-data/lang/roa/es-419) provides the locale configuration. Existing runtime package metadata points to [Piper's project](https://github.com/OHF-Voice/piper1-gpl).

`COPYING` preserves the GPLv3 text. The original adapter code is offered under GPL-3.0-or-later; the copied eSpeak locale-definition source retains its upstream licence. No proprietary trained voice or speaker recording is included. This note describes the identified components; it does not certify rights to later customer scripts or redistribution of a separate runtime. Additional cash spent for this kit:$0. No account, system setting, main package file, website, payment or platform publication is changed by these scripts.
