34 lines
1.1 KiB
Python
34 lines
1.1 KiB
Python
def test_align_assigns_speaker_by_overlap():
|
|
from alignment import align_segments
|
|
whisper = [
|
|
{"start": 0.0, "end": 2.0, "text": "Hallo"},
|
|
{"start": 2.1, "end": 4.0, "text": "Wie geht es"},
|
|
]
|
|
speakers = [
|
|
(0.0, 2.5, "SPEAKER_00"),
|
|
(2.5, 5.0, "SPEAKER_01"),
|
|
]
|
|
result = align_segments(whisper, speakers)
|
|
assert result[0] == ("SPEAKER_00", "Hallo")
|
|
assert result[1] == ("SPEAKER_01", "Wie geht es")
|
|
|
|
|
|
def test_align_merges_consecutive_same_speaker():
|
|
from alignment import align_segments
|
|
whisper = [
|
|
{"start": 0.0, "end": 1.0, "text": "Hallo"},
|
|
{"start": 1.1, "end": 2.0, "text": "Welt"},
|
|
]
|
|
speakers = [(0.0, 3.0, "SPEAKER_00")]
|
|
result = align_segments(whisper, speakers)
|
|
assert len(result) == 1
|
|
assert result[0] == ("SPEAKER_00", "Hallo Welt")
|
|
|
|
|
|
def test_align_fallback_when_no_speaker_overlap():
|
|
from alignment import align_segments
|
|
whisper = [{"start": 0.0, "end": 1.0, "text": "Hallo"}]
|
|
speakers = []
|
|
result = align_segments(whisper, speakers)
|
|
assert result[0][0] == "SPEAKER_00"
|