audio-explorers-visualization / tests /validate_outputs.py
hedrekao
HF deploy: clean snapshot without local artifacts
a361db3
import json
import sys
files = [
"output/analysis_example_frankenstein/results.json",
"output/analysis_frankenstein/results.json"
]
required_keys = {
"input_file", "approach", "n_speakers", "talker_of_interest",
"sources", "duration_seconds"
}
all_valid = True
for file in files:
try:
with open(file) as f:
data = json.load(f)
missing = required_keys - set(data.keys())
if missing:
print(f"βœ— {file}: Missing keys: {missing}")
all_valid = False
continue
if len(data["sources"]) != 4:
print(f"βœ— {file}: Expected 4 sources, got {len(data['sources'])}")
all_valid = False
continue
print(f"βœ“ {file}")
print(f" - Speakers: {data['n_speakers']}")
print(f" - TOI: Speaker {data['talker_of_interest']}")
except Exception as e:
print(f"βœ— {file}: {e}")
all_valid = False
if all_valid:
print("\nβœ… All JSON files valid")
sys.exit(0)
else:
print("\n❌ Validation failed")
sys.exit(1)