Spaces:
Running on CPU Upgrade
Running on CPU Upgrade
add rename demo sample
Browse files
state.py
CHANGED
|
@@ -567,9 +567,64 @@ def load_demo_multi(demo_paths):
|
|
| 567 |
st.session_state.analyzeAllToggle = True
|
| 568 |
|
| 569 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 570 |
def _setup_demo_roles_population(fname):
|
| 571 |
"""Assign SPEAKER_001 to Instructor, all others to Students, and set
|
| 572 |
-
a
|
| 573 |
if fname not in st.session_state.results:
|
| 574 |
return
|
| 575 |
annotation, _ = st.session_state.results[fname]
|
|
@@ -594,7 +649,9 @@ def _setup_demo_roles_population(fname):
|
|
| 594 |
st.session_state.unusedSpeakers[fname] = [
|
| 595 |
sp for sp in labels if f"{fname}: {sp}" not in all_assigned
|
| 596 |
]
|
| 597 |
-
|
|
|
|
|
|
|
| 598 |
|
| 599 |
|
| 600 |
def run_analysis_loop(file_names, file_paths_dict):
|
|
|
|
| 567 |
st.session_state.analyzeAllToggle = True
|
| 568 |
|
| 569 |
|
| 570 |
+
# Fixed population values for each demo file — randomized once at design time,
|
| 571 |
+
# then hardcoded so repeated demo loads always show the same number.
|
| 572 |
+
_DEMO_POPULATIONS = {
|
| 573 |
+
"sample.rttm": 26,
|
| 574 |
+
"sample_short.rttm": 27,
|
| 575 |
+
"class01.rttm": 28,
|
| 576 |
+
"class02.rttm": 28,
|
| 577 |
+
"class03.rttm": 28,
|
| 578 |
+
"class04.rttm": 26,
|
| 579 |
+
"class05.rttm": 26,
|
| 580 |
+
"class06.rttm": 28,
|
| 581 |
+
"class07.rttm": 28,
|
| 582 |
+
"class08.rttm": 28,
|
| 583 |
+
"class09.rttm": 27,
|
| 584 |
+
"class10.rttm": 28,
|
| 585 |
+
}
|
| 586 |
+
|
| 587 |
+
|
| 588 |
+
# Fixed rename list for the Single File Demo (Sample) — used by the
|
| 589 |
+
# "Rename Sample Speakers" button. Index 0 maps to SPEAKER_001, etc.
|
| 590 |
+
_SAMPLE_DEMO_RENAMES = [
|
| 591 |
+
"Tannin no sensei",
|
| 592 |
+
"Tadano Hitohito",
|
| 593 |
+
"Osana Najimi",
|
| 594 |
+
"Yamai Ren",
|
| 595 |
+
"Agari Himiko",
|
| 596 |
+
"Nakanaka Omoharu",
|
| 597 |
+
"Yadano Makeru",
|
| 598 |
+
"Kishi Himeko",
|
| 599 |
+
"Onigashima Akako",
|
| 600 |
+
"Chiarai Shigeo",
|
| 601 |
+
"Sonoda Taisei",
|
| 602 |
+
"Shinobino Mono",
|
| 603 |
+
"Inaka Nokoko",
|
| 604 |
+
"Onemine Nene",
|
| 605 |
+
"Otori Kaede",
|
| 606 |
+
"Katai Makoto",
|
| 607 |
+
"Naruse Shisuto",
|
| 608 |
+
"Kometani Chushaku",
|
| 609 |
+
]
|
| 610 |
+
|
| 611 |
+
|
| 612 |
+
def rename_sample_demo_speakers(fname):
|
| 613 |
+
"""Rename every speaker in the Single File Demo (Sample) file to the
|
| 614 |
+
fixed name list, in SPEAKER_001, SPEAKER_002... order."""
|
| 615 |
+
if fname not in st.session_state.results:
|
| 616 |
+
return
|
| 617 |
+
annotation, _ = st.session_state.results[fname]
|
| 618 |
+
labels = sorted(annotation.labels()) # SPEAKER_001, SPEAKER_002, ...
|
| 619 |
+
|
| 620 |
+
st.session_state.speakerRenames.setdefault(fname, {})
|
| 621 |
+
for sp, name in zip(labels, _SAMPLE_DEMO_RENAMES):
|
| 622 |
+
st.session_state.speakerRenames[fname][sp] = name
|
| 623 |
+
|
| 624 |
+
|
| 625 |
def _setup_demo_roles_population(fname):
|
| 626 |
"""Assign SPEAKER_001 to Instructor, all others to Students, and set
|
| 627 |
+
a fixed population for the given demo file (from _DEMO_POPULATIONS)."""
|
| 628 |
if fname not in st.session_state.results:
|
| 629 |
return
|
| 630 |
annotation, _ = st.session_state.results[fname]
|
|
|
|
| 649 |
st.session_state.unusedSpeakers[fname] = [
|
| 650 |
sp for sp in labels if f"{fname}: {sp}" not in all_assigned
|
| 651 |
]
|
| 652 |
+
# Look up the base filename (without any path prefix) for the fixed value
|
| 653 |
+
base_name = fname.split("/")[-1]
|
| 654 |
+
st.session_state.studentPopulations[fname] = _DEMO_POPULATIONS.get(base_name, 27)
|
| 655 |
|
| 656 |
|
| 657 |
def run_analysis_loop(file_names, file_paths_dict):
|