Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions scripts/livecoding_video_pipeline.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
"""V0 narrow du pipeline livecoding-video (issue #15604, hommage SwitchAngel).
"""V0 narrow du pipeline livecoding-video (issue #15604, homage a une voix tierce).

**Scope V0 narrow** (c.573, fenetre 30 min) :
Cette V0 livre UNIQUEMENT l'etape 1 du pipeline (composition Strudel
Expand Down Expand Up @@ -29,7 +29,7 @@
- Etape 6 mixage ffmpeg : `scripts/audiobook_pipeline.py` a deja
l'integration loudnorm -14 LUFS + fade-out.

**Voie 3 B.0** : voie du retrait consenti SwitchAngel tenue
**Voie 3 B.0** : voie du retrait consenti d'une voix tierce tenue
(bibliography-hygiene §2, audit-cross-source-distillation §3.1,
02-2-XTTS-Voice-Cloning l.2018). Aucune voix clonee, aucun verbatim,
aucune archive media dans le depot. La methode (narration + composition
Expand Down
19 changes: 15 additions & 4 deletions scripts/tests/test_livecoding_video_pipeline.py
Original file line number Diff line number Diff line change
Expand Up @@ -149,10 +149,12 @@ def test_output_path_is_documented_not_created(self):
def test_no_voice_cloning_legal_proof(self):
"""Aucune voix clonee de tiers (regle 02-2-XTTS-Voice-Cloning.ipynb
ligne 2018 'consentement ecrit obligatoire'). Le test verifie
qu'aucun IDENTIFIER ou APPEL lie au clonage n'est expose, sans
interdire la mention textuelle du nom SwitchAngel dans la
docstring (mention de retrait consenti, c.647 INLINE substance
autorisee — voir 'hommage' et 'voie 3 B.0' dans la docstring).
qu'aucun IDENTIFIER ou APPEL lie au clonage n'est expose dans le
code source. La docstring peut mentionner la voie de retrait
consenti d'une voix tierce en termes generiques ('homage',
'voie 3 B.0'), mais aucun identifiant personnel ne doit
apparaitre dans le code ni dans la docstring (CHANGES_REQUESTED
myia-ai-01 c.578 -- anonymisation stricte).
"""
# 1. Aucune constante de voix clonee et aucun appel XTTS / clonage.
forbidden = [
Expand All @@ -170,6 +172,15 @@ def test_no_voice_cloning_legal_proof(self):
f"{src_file} contient {token!r} : c.647 / 02-2-XTTS "
"violees. Refuser."
)
# 1b. Aucun identifiant personnel litteral dans la source
# (CHANGES_REQUESTED myia-ai-01 c.578 -- anonymisation stricte :
# la docstring peut mentionner le retrait consenti en termes
# generiques, mais aucun identifiant reel).
assert "switchangel" not in src.lower(), (
f"{src_file} contient le token 'switchangel' : "
"CHANGES_REQUESTED myia-ai-01 c.578 violee. "
"Anonymiser en prose generique."
)
# 2. Verdict explicite qu'aucune voix tierce n'est clonee.
result = run_pipeline(style_name="ambient", duration_seconds=120, output_path="out/x.mp4")
# Le run_pipeline ne capture PAS de voix tierce : il delegue
Expand Down
Loading