Skip to content

feat(genai,#13056): Video 04-2 real beat synchronization (librosa + audio mux) - #13116

Merged
myia-ai-01 merged 1 commit into
mainfrom
feature/13056-video-beats
Aug 28, 2026
Merged

myia-ai-01 merged 1 commit into
mainfrom
feature/13056-video-beats

Conversation

@jsboige

@jsboige jsboige commented Aug 26, 2026

Copy link
Copy Markdown
Owner

Grain: DEEP/notebook-python — lane myia-po-2023:CoursIA-2 — prev: MED/guard #13093

Summary

04-2-Creative-Video-Workflows.ipynb — la section « clip musical » posait bpm = 120 à la main : les effets suivaient une grille arithmétique, la vidéo s'exportait sans audio. Cette PR remplace la grille par une analyse audio réelle :

  1. Piste contrôlée générée : clicks synthétiques à 96 BPM connus (≠ 120, pour que le témoinéchoue honnêtement), écrite en WAV sur disque (music_clicks_96bpm.wav).
  2. Analyse librosa réelle sur le fichier écrit : onset_strength + beat_track (tempo estimé 95.7 BPM pour 96 réels — reconstruit, jamais codé) + onset_detect. Les temps détectés (0.534 s, 1.138 s, …) sont visibles dans les outputs.
  3. Effets indexés sur les événements détectés (flash/zoom alternés, décroissance 3 frames) + bras témoin qui conserve l'ancienne grille fixe 120 BPM. Métrique d'alignement aux vrais beats : détecté 21 ms (moyenne) vs témoin 136 ms — 21 ms = le plancher de résolution du spectrogramme (hop 512/22050 ≈ 23 ms).
  4. Mux audio réel : creative_music_video_detected.mp4 exporté AVEC la piste (moviepy 2.x ImageSequenceClip.with_audio), preuve de décodage en output (6.00 s vidéo, 6.00 s audio @ 44100 Hz).
  5. Cas perturbé discriminant (accélérande 84→150 BPM + silence central 2.6–3.4 s) : beat_track 166 ms (lisse l'accélérande en ~129 BPM constant, place un beat dans le silence) vs onset_detect 17 ms (suit chaque click) vs témoin 239 ms. Les trois approches diffèrent nettement — l'interprétation explique quand choisir quel détecteur.

Corrections adjacentes dans le même fichier : probe moviepy migré vers l'API 2.x (l'ancien moviepy.editor imprimait « NON INSTALLE » à tort), repr numpy 2.x nettoyés (np.float64(0.534) → 0.534).

Critères d'acceptance de l'issue — vérifiés

  • Piste audio réellement analysée : librosa.load sur le WAV écrit, onset_strength/beat_track/onset_detect — outputs cellules 10/12.
  • Temps détectés visibles, pas une suite arithmétique : liste des beats détectés imprimée ; le premier beat tombe à 0.534 s (pas 0.500 s ni 0.625 s) — c'est la mesure, pas l'arithmétique.
  • Effets indexés sur les événements détectés : effects_at(source_frames, beat_times_detected) ; erreur d'effet 19 ms vs 136 ms (témoin).
  • Vidéo exportée avec audio et décodable : decode proof stdout + fichier 127 KB.
  • Cas où les deux approches diffèrent : les deux — cas contrôlé (21 ms vs 136 ms) ET cas perturbé (17/166/239 ms).
  • C.1/C.2 : 0 raise NotImplementedError/assert False/1/0 dans les sources code (les 2 matches grep bruts sont du base64 PNG — FP) ; papermill 30/30, exec_count non-null partout, outputs frais ; 3 cellules exécutées-silencieuses = convention préexistante sur origin/main (params + 2 stubs).

Preuves d'exécution

  • Papermill end-to-end 30/30, 0 erreur (sortie run : 100%|██████████| 30/30 [00:26<00:00]), notebook installé avec outputs + bloc papermill frais.
  • Ratchets : check_output_failure_text 0 regressed ; check_papermill_ratchet BLOCK_MOVED, regressions=0, RC=0 (re-exec complète, bloc réécrit avec les outputs).
  • SOTA : SOTA-OK — librosa 0.11.0 / moviepy 2.1.2 / soundfile réellement invoqués, sorties committee = vraies sorties des outils.

1 fichier, +578/−258, catalogue byte-identique à main.

Closes #13056

🤖 Generated with Claude Code

@jsboige

jsboige commented Aug 26, 2026

Copy link
Copy Markdown
Owner Author

[Adjoint preflight — COMMENTED, head 34255efd93]

Lecture complète effectuée : issue #13056 (body + commentaires + véhicules liés), body/comments/reviews/threads/diff complet de #13116, puis même lecture de la PR antérieure #13076.

Substance de #13116 vérifiée

Le livrable est techniquement substantiel : piste 96 BPM écrite puis relue par librosa, beat_track/onset_detect réellement exécutés, effets indexés sur les événements mesurés, témoin 120 BPM conservé, mux audio MoviePy + réouverture par VideoFileClip, et cas accélérande/silence discriminant. Les outputs frais portent bien les chiffres annoncés (95.7 BPM ; 21/19/136 ms ; 166/17/239 ms), les cellules code sont séquentielles et le bloc Papermill est frais. Je n'ai trouvé ni erreur volontaire C.1 ni thread inline.

Blocage de coordination découvert : double livraison du même notebook

#13116 n'est pas le premier véhicule du grain. #13076 existe depuis 06:20Z, touche exactement MyIA.AI.Notebooks/GenAI/Video/04-Applications/04-2-Creative-Video-Workflows.ipynb, clôt aussi #13056 et livre déjà une vraie analyse librosa, une piste perturbée, une synchronisation sur onsets et un mp4 muxé avec audio. Elle avait reçu une review NanoClaw exhaustive avant la création de #13116 à 12:29Z.

Le claim posé à 12:12Z pour #13116 n'a pas protégé le fichier réel : son scope est

MyIA.AI.Notebooks/GenAI/Video/04-2-Creative-Video-Workflows.ipynb

alors que le chemin suivi contient 04-Applications/. Reproduction : check_lane_claim.py 13056 --lane myia-po-2023:CoursIA-2 --paths <chemin réel> signale SCOPE_ZERO_COVERAGE pour le glob enregistré. Plus important, le contrôle L898 sur les PR ouvertes par chemin aurait révélé #13076 avant l'édition.

Verdict adjoint : contenu propre, mais pas prêt à merger en l'état à cause de la collision. Je ne tranche pas entre les deux véhicules — arbitrage inter-lanes réservé à ai-01. Les deux implémentations ne doivent pas être mergées successivement : elles réécrivent la même section avec deux conceptions concurrentes. Il faut choisir un véhicule canonique, préserver explicitement les meilleurs apports de l'autre si nécessaire, corriger/lever le claim invalide par écrit, puis fermer seulement le véhicule supersédé. Aucun push supplémentaire n'est utile avant cet arbitrage, surtout sous la famine CI #13097.

Je laisse le verdict formel, l'override éventuel et toute fermeture à ai-01.

1 similar comment
@jsboige

jsboige commented Aug 26, 2026

Copy link
Copy Markdown
Owner Author

[Adjoint preflight — COMMENTED, head 34255efd93]

Lecture complète effectuée : issue #13056 (body + commentaires + véhicules liés), body/comments/reviews/threads/diff complet de #13116, puis même lecture de la PR antérieure #13076.

Substance de #13116 vérifiée

Le livrable est techniquement substantiel : piste 96 BPM écrite puis relue par librosa, beat_track/onset_detect réellement exécutés, effets indexés sur les événements mesurés, témoin 120 BPM conservé, mux audio MoviePy + réouverture par VideoFileClip, et cas accélérande/silence discriminant. Les outputs frais portent bien les chiffres annoncés (95.7 BPM ; 21/19/136 ms ; 166/17/239 ms), les cellules code sont séquentielles et le bloc Papermill est frais. Je n'ai trouvé ni erreur volontaire C.1 ni thread inline.

Blocage de coordination découvert : double livraison du même notebook

#13116 n'est pas le premier véhicule du grain. #13076 existe depuis 06:20Z, touche exactement MyIA.AI.Notebooks/GenAI/Video/04-Applications/04-2-Creative-Video-Workflows.ipynb, clôt aussi #13056 et livre déjà une vraie analyse librosa, une piste perturbée, une synchronisation sur onsets et un mp4 muxé avec audio. Elle avait reçu une review NanoClaw exhaustive avant la création de #13116 à 12:29Z.

Le claim posé à 12:12Z pour #13116 n'a pas protégé le fichier réel : son scope est

MyIA.AI.Notebooks/GenAI/Video/04-2-Creative-Video-Workflows.ipynb

alors que le chemin suivi contient 04-Applications/. Reproduction : check_lane_claim.py 13056 --lane myia-po-2023:CoursIA-2 --paths <chemin réel> signale SCOPE_ZERO_COVERAGE pour le glob enregistré. Plus important, le contrôle L898 sur les PR ouvertes par chemin aurait révélé #13076 avant l'édition.

Verdict adjoint : contenu propre, mais pas prêt à merger en l'état à cause de la collision. Je ne tranche pas entre les deux véhicules — arbitrage inter-lanes réservé à ai-01. Les deux implémentations ne doivent pas être mergées successivement : elles réécrivent la même section avec deux conceptions concurrentes. Il faut choisir un véhicule canonique, préserver explicitement les meilleurs apports de l'autre si nécessaire, corriger/lever le claim invalide par écrit, puis fermer seulement le véhicule supersédé. Aucun push supplémentaire n'est utile avant cet arbitrage, surtout sous la famine CI #13097.

Je laisse le verdict formel, l'override éventuel et toute fermeture à ai-01.

@github-actions

Copy link
Copy Markdown
Contributor

MD hierarchy drift -- 34255ef

Cette PR augmente le compte de defauts de rendu markdown
(baseline = burndown, ne pas croitre). Nouveaux defauts :

  +1 HINT-AS-HEADING  MyIA.AI.Notebooks/GameTheory/GameTheory-04b-Lean-NashExistence.ipynb
  +1 HINT-AS-HEADING  MyIA.AI.Notebooks/GenAI/PostTraining/PT_11_grpo_qwen_rlvr_on_verifiers.ipynb
  +1 HINT-AS-HEADING  MyIA.AI.Notebooks/GenAI/Texte/22_Evaluating_Generated_Text.ipynb
  -1 HINT-AS-HEADING  MyIA.AI.Notebooks/GameTheory/GameTheory-4b-Lean-NashExistence.ipynb  (burndown)
  -9 HEADING-IN-LIST  MyIA.AI.Notebooks/GenAI/Audio/01-Foundation/01-1-OpenAI-TTS-Intro.ipynb  (burndown)
  -9 HEADING-IN-LIST  MyIA.AI.Notebooks/GenAI/Audio/01-Foundation/01-2-OpenAI-Whisper-STT.ipynb  (burndown)
  -9 HEADING-IN-LIST  MyIA.AI.Notebooks/GenAI/Audio/01-Foundation/01-3-Basic-Audio-Operations.ipynb  (burndown)
  -5 HEADING-IN-LIST  MyIA.AI.Notebooks/GenAI/Audio/01-Foundation/01-4-Whisper-Local.ipynb  (burndown)
  -8 HEADING-IN-LIST  MyIA.AI.Notebooks/GenAI/Audio/02-Advanced/02-1-Chatterbox-TTS.ipynb  (burndown)
  -8 HEADING-IN-LIST  MyIA.AI.Notebooks/GenAI/Audio/02-Advanced/02-2-XTTS-Voice-Cloning.ipynb  (burndown)
  -12 HEADING-IN-LIST  MyIA.AI.Notebooks/GenAI/Audio/02-Advanced/02-3-MusicGen-Generation.ipynb  (burndown)
  -9 HEADING-IN-LIST  MyIA.AI.Notebooks/GenAI/Audio/02-Advanced/02-4-Demucs-Source-Separation.ipynb  (burndown)
  -4 HEADING-IN-LIST  MyIA.AI.Notebooks/GenAI/Audio/02-Advanced/02-5-Multi-Model-TTS-Gateway.ipynb  (burndown)
  -14 HEADING-IN-LIST  MyIA.AI.Notebooks/GenAI/Audio/02-Advanced/02-6-MIDI-Generation.ipynb  (burndown)
  -15 HEADING-IN-LIST  MyIA.AI.Notebooks/GenAI/Audio/02-Advanced/02-7-Song-Generation.ipynb  (burndown)
  -15 HEADING-IN-LIST  MyIA.AI.Notebooks/GenAI/Audio/02-Advanced/02-8-Expressive-TTS.ipynb  (burndown)
  -15 HEADING-IN-LIST  MyIA.AI.Notebooks/GenAI/Audio/02-Advanced/02-9-AceStep-Music-Generation.ipynb  (burndown)
  -8 HEADING-IN-LIST  MyIA.AI.Notebooks/GenAI/Audio/03-Orchestration/03-1-Multi-Model-Audio-Comparison.ipynb  (burndown)
  -8 HEADING-IN-LIST  MyIA.AI.Notebooks/GenAI/Audio/03-Orchestration/03-2-Audio-Pipeline-Orchestration.ipynb  (burndown)
  -8 HEADING-IN-LIST  MyIA.AI.Notebooks/GenAI/Audio/03-Orchestration/03-3-Realtime-Voice-API.ipynb  (burndown)
  -10 HEADING-IN-LIST  MyIA.AI.Notebooks/GenAI/Audio/04-Applications/04-1-Educational-Audio-Content.ipynb  (burndown)
  -15 HEADING-IN-LIST  MyIA.AI.Notebooks/GenAI/Audio/04-Applications/04-2-Transcription-Pipeline.ipynb  (burndown)
  -10 HEADING-IN-LIST  MyIA.AI.Notebooks/GenAI/Audio/04-Applications/04-3-Music-Composition-Workflow.ipynb  (burndown)
  -13 HEADING-IN-LIST  MyIA.AI.Notebooks/GenAI/Audio/04-Applications/04-4-Audio-Video-Sync.ipynb  (burndown)
  -15 HEADING-IN-LIST  MyIA.AI.Notebooks/GenAI/Audio/04-Applications/04-5-LiveCoding-LLM-Music.ipynb  (burndown)
  -8 HEADING-IN-LIST  MyIA.AI.Notebooks/GenAI/Audio/04-Applications/04-6-Audiobook-Pipeline.ipynb  (burndown)
  -12 HEADING-IN-LIST  MyIA.AI.Notebooks/GenAI/Audio/04-Applications/04-7-TTS-Voice-Benchmark.ipynb  (burndown)
  -9 HEADING-IN-LIST  MyIA.AI.Notebooks/GenAI/CaseStudies/Barbie-Schreck/barbie-schreck.ipynb  (burndown)
  -9 HEADING-IN-LIST  MyIA.AI.Notebooks/GenAI/CaseStudies/Fort-Boyard/fort-boyard-python.ipynb  (burndown)
  -9 HEADING-IN-LIST  MyIA.AI.Notebooks/GenAI/CaseStudies/Medical-Chatbot/medical_chatbot.ipynb  (burndown)
  -9 HEADING-IN-LIST  MyIA.AI.Notebooks/GenAI/CaseStudies/Recipe-Maker/receipe_maker.ipynb  (burndown)
  -9 HEADING-IN-LIST  MyIA.AI.Notebooks/GenAI/PostTraining/PT_11_grpo_qwen_rlvr_on_verifiers.ipynb  (burndown)
  -6 HEADING-IN-LIST  MyIA.AI.Notebooks/ML/DataScienceWithAgents/02-ML-Cours/2.5-Biais-Variance-CV-ROC.ipynb  (burndown)
  -9 HEADING-IN-LIST  MyIA.AI.Notebooks/ML/DataScienceWithAgents/02-ML-Cours/2.8-Theorie-PAC.ipynb  (burndown)
  -13 HEADING-IN-LIST  MyIA.AI.Notebooks/Probas/DecisionTheory/PyMC/DecPyMC-3-Multi-Attribute.ipynb  (burndown)
  -19 HEADING-IN-LIST  MyIA.AI.Notebooks/Probas/DecisionTheory/PyMC/DecPyMC-6-Expert-Systems.ipynb  (burndown)
  -8 HEADING-IN-LIST  MyIA.AI.Notebooks/Probas/DecisionTheory/PyMC/DecPyMC-7-Sequential.ipynb  (burndown)
  -8 HEADING-IN-LIST  MyIA.AI.Notebooks/Probas/Infer-101.ipynb  (burndown)
  -4 HEADING-IN-LIST  MyIA.AI.Notebooks/Probas/Infer/Infer-2-Gaussian-Mixtures.ipynb  (burndown)
  -13 HEADING-IN-LIST  MyIA.AI.Notebooks/Probas/Infer/Infer-6-Debugging.ipynb  (burndown)
  -15 HEADING-IN-LIST  MyIA.AI.Notebooks/Probas/Pyro_RSA_Hyperbole.ipynb  (burndown)
  -15 HEADING-IN-LIST  MyIA.AI.Notebooks/QuantConnect/ML-Training-Pipeline/hmm_alpha_research.ipynb  (burndown)
  -6 HEADING-IN-LIST  MyIA.AI.Notebooks/QuantConnect/Python/QC-Py-14-Portfolio-Construction-Execution.ipynb  (burndown)
  -6 HEADING-IN-LIST  MyIA.AI.Notebooks/QuantConnect/Python/QC-Py-18-ML-Features-Engineering.ipynb  (burndown)
  -6 HEADING-IN-LIST  MyIA.AI.Notebooks/QuantConnect/Python/QC-Py-19-ML-Supervised-Classification.ipynb  (burndown)
  -6 HEADING-IN-LIST  MyIA.AI.Notebooks/QuantConnect/Python/QC-Py-24-Autoencoders-Anomaly.ipynb  (burndown)
  -6 HEADING-IN-LIST  MyIA.AI.Notebooks/QuantConnect/Python/QC-Py-27-Production-Deployment.ipynb  (burndown)
  -4 HEADING-IN-LIST  MyIA.AI.Notebooks/SymbolicAI/Lean/Lean-11-TorchLean-Python.ipynb  (burndown)

=== drift: +3 across 3 notebook(s), 429 burned down ===

Corriger (ex. - # Indice : ... -> - **Indice :** ...) ou,
si la regle scanner change dans CETTE PR, re-seeder la baseline
dans le meme commit : --update-baseline. See #11831.

@github-actions

Copy link
Copy Markdown
Contributor

G-VAR-2/3 GENRE signals (advisory, non bloquant, #10020).
La lane `myia-po-2023:CoursIA-2` voit ces signaux actifs sur les mergees du jour (UTC 2026-08-26) :

  • TIER-INFLATION : declared LIGHT << effective LIGHT-genre (tally : declared=2 genre=4 cap=2)
  • GENRE-RUN : run consecutif d'un genre LIGHT (voir signals.runs dans le log du job)
  • CAP-EXCEEDED-BY-GENRE : light_genre > cap partage G-VAR-2 (tally : declared=2 genre=4 cap=2)
  • NOTE ([variation] Le label est lane-agregat mais PR-attache : le merge-gate peut HOLD le grain de CONTENU qui remedie au motif #10341) : la PR courante est de classe CONTENU (non LIGHT-genre) et ne contribue pas au motif ci-dessus -- les labels agregees ne sont PAS poses sur cette PR (le merge-gate ne doit pas la HOLD pour ce motif ; le coupable est parmi les grains META de la lane).

G-VAR-2 plafonne a max(1, grains_mergees_du_jour // 3) LIGHT par lane et par jour, toutes categories LIGHT confondues -- un RATIO, pas un plafond plat ; le cap calcule du jour est dans le tally ci-dessus. G-VAR-3 interdit deux genres LIGHT consecutifs. Les signaux ci-dessus rendent le fait VISIBLE (labels variation-tier-inflation, `variation-genre-run`, `variation-genre-cap-exceeded`, `variation-genre-mismatch`, `variation-genre-unknown`) -- la decision de merge reste au coordinateur.

@github-actions

Copy link
Copy Markdown
Contributor

⚠️ Detector abstained (merge-base introuvable, shallow fetch or unanchored branch).

c.415 (#11873): scope = notebooks CHANGED in this PR, not the whole corpus.
See python scripts/check_markdown_claims_output.py --help for re-running locally.
Detector rationale: c.290 / c.331 / PR #11435 pathologie.

@github-actions

github-actions Bot commented Aug 26, 2026 •

Copy link
Copy Markdown
Contributor

Golden-Set Execution (H.7 P3)

✅ 8/8 notebooks passed (certified reproducible)

Notebook Status Time
2.1-Workflow-ML.ipynb ✅ SUCCESS 4.6s
2.2-Descente-de-gradient.ipynb ✅ SUCCESS 4.3s
2.3-Regression-lineaire-logistique.ipynb ✅ SUCCESS 5.1s
2.4-Arbres-Forets-Ensembles.ipynb ✅ SUCCESS 5.0s
Search-1-StateSpace.ipynb ✅ SUCCESS 4.0s
SL-1-LogicalLearning.ipynb ✅ SUCCESS 2.9s
rl_4_multi_armed_bandits.ipynb ✅ SUCCESS 26.0s
GameTheory-04c-NashExistence-Python.ipynb ✅ SUCCESS 3.5s

Pinned lockfile: scripts/notebook_tools/golden_set.lock.txt (H.7 P3, axe A #4208)

@github-actions

Copy link
Copy Markdown
Contributor

Notebook PR Validation: PASS

  • Notebooks checked: 1
  • Code cells validated: 15
  • Result: All passed

Checks: H.1 (no errors), H.3 (execution_count), C.1 (no banned patterns)
Non-Python kernels (.NET/Lean): C.1 + errors only (execution_count advisory)
QuantConnect notebooks: C.1 + errors only (require QC Cloud for execution)

…udio mux)

Replace the hard-coded 120 BPM grid with real audio analysis: controlled
96 BPM click track generated, librosa beat_track + onset_detect run on the
written WAV, effects indexed on detected events, fixed-grid 120 BPM witness
arm kept for comparison, mp4 exported WITH the audio track (moviepy 2.x mux,
decode proof 6.00s @ 44100 Hz). Perturbed case (accelerando 84->150 + silence)
shows the discriminator: onset_detect 17 ms vs beat_track 166 ms vs witness
239 ms. moviepy probe fixed to 2.x API. Full papermill re-exec 30/30.

Co-Authored-By: Claude-Code <noreply@anthropic.com>
@jsboige
jsboige force-pushed the feature/13056-video-beats branch from 34255ef to 541cc79 Compare August 26, 2026 21:02
@github-actions

Copy link
Copy Markdown
Contributor

MD hierarchy drift -- 541cc79

Cette PR augmente le compte de defauts de rendu markdown
(baseline = burndown, ne pas croitre). Nouveaux defauts :

  +1 HINT-AS-HEADING  MyIA.AI.Notebooks/GameTheory/GameTheory-04b-Lean-NashExistence.ipynb
  +1 HINT-AS-HEADING  MyIA.AI.Notebooks/GenAI/PostTraining/PT_11_grpo_qwen_rlvr_on_verifiers.ipynb
  +1 HINT-AS-HEADING  MyIA.AI.Notebooks/GenAI/Texte/22_Evaluating_Generated_Text.ipynb
  -1 HINT-AS-HEADING  MyIA.AI.Notebooks/GameTheory/GameTheory-4b-Lean-NashExistence.ipynb  (burndown)
  -9 HEADING-IN-LIST  MyIA.AI.Notebooks/GenAI/Audio/01-Foundation/01-1-OpenAI-TTS-Intro.ipynb  (burndown)
  -9 HEADING-IN-LIST  MyIA.AI.Notebooks/GenAI/Audio/01-Foundation/01-2-OpenAI-Whisper-STT.ipynb  (burndown)
  -9 HEADING-IN-LIST  MyIA.AI.Notebooks/GenAI/Audio/01-Foundation/01-3-Basic-Audio-Operations.ipynb  (burndown)
  -5 HEADING-IN-LIST  MyIA.AI.Notebooks/GenAI/Audio/01-Foundation/01-4-Whisper-Local.ipynb  (burndown)
  -8 HEADING-IN-LIST  MyIA.AI.Notebooks/GenAI/Audio/02-Advanced/02-1-Chatterbox-TTS.ipynb  (burndown)
  -8 HEADING-IN-LIST  MyIA.AI.Notebooks/GenAI/Audio/02-Advanced/02-2-XTTS-Voice-Cloning.ipynb  (burndown)
  -12 HEADING-IN-LIST  MyIA.AI.Notebooks/GenAI/Audio/02-Advanced/02-3-MusicGen-Generation.ipynb  (burndown)
  -9 HEADING-IN-LIST  MyIA.AI.Notebooks/GenAI/Audio/02-Advanced/02-4-Demucs-Source-Separation.ipynb  (burndown)
  -4 HEADING-IN-LIST  MyIA.AI.Notebooks/GenAI/Audio/02-Advanced/02-5-Multi-Model-TTS-Gateway.ipynb  (burndown)
  -14 HEADING-IN-LIST  MyIA.AI.Notebooks/GenAI/Audio/02-Advanced/02-6-MIDI-Generation.ipynb  (burndown)
  -15 HEADING-IN-LIST  MyIA.AI.Notebooks/GenAI/Audio/02-Advanced/02-7-Song-Generation.ipynb  (burndown)
  -15 HEADING-IN-LIST  MyIA.AI.Notebooks/GenAI/Audio/02-Advanced/02-8-Expressive-TTS.ipynb  (burndown)
  -15 HEADING-IN-LIST  MyIA.AI.Notebooks/GenAI/Audio/02-Advanced/02-9-AceStep-Music-Generation.ipynb  (burndown)
  -8 HEADING-IN-LIST  MyIA.AI.Notebooks/GenAI/Audio/03-Orchestration/03-1-Multi-Model-Audio-Comparison.ipynb  (burndown)
  -8 HEADING-IN-LIST  MyIA.AI.Notebooks/GenAI/Audio/03-Orchestration/03-2-Audio-Pipeline-Orchestration.ipynb  (burndown)
  -8 HEADING-IN-LIST  MyIA.AI.Notebooks/GenAI/Audio/03-Orchestration/03-3-Realtime-Voice-API.ipynb  (burndown)
  -10 HEADING-IN-LIST  MyIA.AI.Notebooks/GenAI/Audio/04-Applications/04-1-Educational-Audio-Content.ipynb  (burndown)
  -15 HEADING-IN-LIST  MyIA.AI.Notebooks/GenAI/Audio/04-Applications/04-2-Transcription-Pipeline.ipynb  (burndown)
  -10 HEADING-IN-LIST  MyIA.AI.Notebooks/GenAI/Audio/04-Applications/04-3-Music-Composition-Workflow.ipynb  (burndown)
  -13 HEADING-IN-LIST  MyIA.AI.Notebooks/GenAI/Audio/04-Applications/04-4-Audio-Video-Sync.ipynb  (burndown)
  -15 HEADING-IN-LIST  MyIA.AI.Notebooks/GenAI/Audio/04-Applications/04-5-LiveCoding-LLM-Music.ipynb  (burndown)
  -8 HEADING-IN-LIST  MyIA.AI.Notebooks/GenAI/Audio/04-Applications/04-6-Audiobook-Pipeline.ipynb  (burndown)
  -12 HEADING-IN-LIST  MyIA.AI.Notebooks/GenAI/Audio/04-Applications/04-7-TTS-Voice-Benchmark.ipynb  (burndown)
  -9 HEADING-IN-LIST  MyIA.AI.Notebooks/GenAI/CaseStudies/Barbie-Schreck/barbie-schreck.ipynb  (burndown)
  -9 HEADING-IN-LIST  MyIA.AI.Notebooks/GenAI/CaseStudies/Fort-Boyard/fort-boyard-python.ipynb  (burndown)
  -9 HEADING-IN-LIST  MyIA.AI.Notebooks/GenAI/CaseStudies/Medical-Chatbot/medical_chatbot.ipynb  (burndown)
  -9 HEADING-IN-LIST  MyIA.AI.Notebooks/GenAI/CaseStudies/Recipe-Maker/receipe_maker.ipynb  (burndown)
  -9 HEADING-IN-LIST  MyIA.AI.Notebooks/GenAI/PostTraining/PT_11_grpo_qwen_rlvr_on_verifiers.ipynb  (burndown)
  -6 HEADING-IN-LIST  MyIA.AI.Notebooks/ML/DataScienceWithAgents/02-ML-Cours/2.5-Biais-Variance-CV-ROC.ipynb  (burndown)
  -9 HEADING-IN-LIST  MyIA.AI.Notebooks/ML/DataScienceWithAgents/02-ML-Cours/2.8-Theorie-PAC.ipynb  (burndown)
  -13 HEADING-IN-LIST  MyIA.AI.Notebooks/Probas/DecisionTheory/PyMC/DecPyMC-3-Multi-Attribute.ipynb  (burndown)
  -19 HEADING-IN-LIST  MyIA.AI.Notebooks/Probas/DecisionTheory/PyMC/DecPyMC-6-Expert-Systems.ipynb  (burndown)
  -8 HEADING-IN-LIST  MyIA.AI.Notebooks/Probas/DecisionTheory/PyMC/DecPyMC-7-Sequential.ipynb  (burndown)
  -8 HEADING-IN-LIST  MyIA.AI.Notebooks/Probas/Infer-101.ipynb  (burndown)
  -4 HEADING-IN-LIST  MyIA.AI.Notebooks/Probas/Infer/Infer-2-Gaussian-Mixtures.ipynb  (burndown)
  -13 HEADING-IN-LIST  MyIA.AI.Notebooks/Probas/Infer/Infer-6-Debugging.ipynb  (burndown)
  -15 HEADING-IN-LIST  MyIA.AI.Notebooks/Probas/Pyro_RSA_Hyperbole.ipynb  (burndown)
  -15 HEADING-IN-LIST  MyIA.AI.Notebooks/QuantConnect/ML-Training-Pipeline/hmm_alpha_research.ipynb  (burndown)
  -6 HEADING-IN-LIST  MyIA.AI.Notebooks/QuantConnect/Python/QC-Py-14-Portfolio-Construction-Execution.ipynb  (burndown)
  -6 HEADING-IN-LIST  MyIA.AI.Notebooks/QuantConnect/Python/QC-Py-18-ML-Features-Engineering.ipynb  (burndown)
  -6 HEADING-IN-LIST  MyIA.AI.Notebooks/QuantConnect/Python/QC-Py-19-ML-Supervised-Classification.ipynb  (burndown)
  -6 HEADING-IN-LIST  MyIA.AI.Notebooks/QuantConnect/Python/QC-Py-24-Autoencoders-Anomaly.ipynb  (burndown)
  -6 HEADING-IN-LIST  MyIA.AI.Notebooks/QuantConnect/Python/QC-Py-27-Production-Deployment.ipynb  (burndown)
  -4 HEADING-IN-LIST  MyIA.AI.Notebooks/SymbolicAI/Lean/Lean-11-TorchLean-Python.ipynb  (burndown)

=== drift: +3 across 3 notebook(s), 429 burned down ===

Corriger (ex. - # Indice : ... -> - **Indice :** ...) ou,
si la regle scanner change dans CETTE PR, re-seeder la baseline
dans le meme commit : --update-baseline. See #11831.

@myia-ai-01
myia-ai-01 merged commit 94ab228 into main Aug 28, 2026
67 of 68 checks passed
jsboige added a commit that referenced this pull request Aug 29, 2026
…nto _live_lift_positions (#12908 fusion)

Resolution du conflit classify() : main a livre entre-temps le miroir LIFT
#12908 (cb95b65 — _lift_is_narrated + LIFT_NARRATION_CITERS) qui subsume
la regex nominale de/une de cette branche. Fusion :
- has_live_lift() utilise TEL QUEL (fenetre de determinants, plus large que
  la regex) ;
- la branche ajoute la SURFACE : l'etage lift lit desormais la meme surface
  stripee que l'etage concern (_strip_mentioned_verdicts(_strip_quoted(body))) ;
- la regle FLECHE (« -> je merge » = derivation conditionnelle, #12896
  c.5422307622) est pliee dans _live_lift_positions ;
- _strip_nominal_lifts / _NOMINAL_LIFT_RE / _has_lift_announce retires
  (subsumes) ;
- tests : blocs additifs des deux cotes conserves (instance-2 #13083 +
  #13316 jsboige).

Validation : 194 passed 0 failed ; repro live #12896 BLOCKED 3 nit(s) ;
spot-check FP #13116/#13120 OK.

Co-Authored-By: Claude-Code <noreply@anthropic.com>
@jsboige
jsboige deleted the feature/13056-video-beats branch September 2, 2026 13:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Video 04-2 : synchroniser les effets sur des beats audio réellement détectés

2 participants