Generate provisional dictation audio so dictée missions can be played

Manual testing confirmed the "La clairière de l'écho" dictée mission
was unplayable: no audio file existed yet (decisions.md point 8), so
there was nothing to listen to before transcribing the sentence.

Adds tools/generate_dictation_audio.py (offline eSpeak NG synthesis +
ffmpeg encoding to Ogg Vorbis, exposed as `make
generate-dictation-audio`) and uses it to generate
ce1_accord_adjectif_dictee_01.ogg. A new headless test
(tests/data/test_dictation_audio.gd) guards against future dictées
being added without regenerating their audio.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
Denis Defolie
2026-10-11 18:40:11 +02:00
parent 04a1b5ee1b
commit 73440ba226
10 changed files with 184 additions and 4 deletions
@@ -0,0 +1,19 @@
[remap]
importer="oggvorbisstr"
type="AudioStreamOggVorbis"
uid="uid://nheq35mknxfw"
path="res://.godot/imported/ce1_accord_adjectif_dictee_01.ogg-74739a16a08bfb592c5dfe269dc458a5.oggvorbisstr"
[deps]
source_file="res://assets/audio/dictations/ce1_accord_adjectif_dictee_01.ogg"
dest_files=["res://.godot/imported/ce1_accord_adjectif_dictee_01.ogg-74739a16a08bfb592c5dfe269dc458a5.oggvorbisstr"]
[params]
loop=false
loop_offset=0
bpm=0
beat_count=0
bar_beats=4