OpenMontage/tests/tools
0xDevNinja 4c10481011 fix(audio_mixer): stop segmented_music from halving narration volume
`_segmented_music` mixed the video's audio with the shaped music via
`amix=inputs=2`, whose default `normalize=1` scales every input by 1/inputs
(x0.5, -6 dB). Unlike `_mix` and `_full_mix`, this path has no `loudnorm` stage
afterward to re-normalize, so the narration was permanently attenuated across
the entire timeline — including the stretches where the music volume expression
evaluates to 0. A one-second music segment quietly dropped the narration by
~6 dB for the whole video.

Add `normalize=0` to the amix: the music is already scaled to `music_volume`
by the `volume` expression, so speech passes at unity. Verified with ffmpeg —
narration in a no-music region tracks the stereo/aac conversion baseline
instead of sitting 6 dB below it.
2026-07-06 13:12:33 +05:30
..
__init__.py Initial release — OpenMontage: the first open-source agentic video production system 2026-03-29 08:25:17 -07:00
test_audio_mixer_ducking.py fix(audio_mixer): drop dangling speech_dup pad in full_mix ducking 2026-07-02 16:41:58 +05:30
test_audio_mixer_segmented_music.py fix(audio_mixer): stop segmented_music from halving narration volume 2026-07-06 13:12:33 +05:30
test_clip_cache.py docmontage: corpus builder hardening from P1 + P2 audit observations 2026-04-11 00:46:06 -07:00
test_delivery_promise.py fix(delivery): recompute motion requirement after source-led override 2026-07-04 19:37:33 +05:30
test_documentary_governance.py Ship Backlot living storyboard release hardening 2026-07-02 12:19:06 -07:00
test_export_bundle.py fix(publish): validate optional assets and default export inside project 2026-06-30 12:05:23 +05:30
test_hyperframes_compose.py Ship Backlot living storyboard release hardening 2026-07-02 12:19:06 -07:00
test_math_animate_safety.py fix(math_animate): block all reflection dunders, not an enumerated set 2026-07-03 13:04:33 +05:30
test_mps_device.py test(gpu): add tests for Apple Silicon MPS device resolution and fallback 2026-06-24 16:30:29 -05:00
test_music_library.py feat(audio): add music_library tool so user tracks surface at preflight 2026-06-29 13:24:48 +05:30
test_openai_image_multi_output.py fix(openai_image): return all n generated images, not just the first 2026-07-06 13:12:33 +05:30
test_provider_model_defaults.py fix(video): runway/higgsfield model defaults diverge from schema 2026-06-26 15:30:22 +08:00
test_remotion_diagnostics.py fix(video_compose): forward remotion_timeout_ms through high-level render path 2026-07-02 11:59:53 +05:30
test_scoring.py fix(scoring): strip trailing punctuation from tokens 2026-07-03 20:15:17 +05:30
test_sora_video.py Add first-class Sora video provider 2026-07-01 10:51:48 -07:00
test_stock_source_adapters.py docmontage: corpus builder hardening from P1 + P2 audit observations 2026-04-11 00:46:06 -07:00
test_video_compose_vertical.py fix(video_compose): honor target resolution in FFmpeg compose (vertical/9:16) 2026-06-27 11:56:49 +08:00