fixed a bug
This commit is contained in:
@@ -22,48 +22,61 @@ def _silence(seconds: float) -> np.ndarray:
|
||||
return np.zeros(int(seconds * SAMPLE_RATE))
|
||||
|
||||
|
||||
def test_document_from_transcript_splits_sentences_at_periods(tmp_path):
|
||||
def test_document_from_transcript_splits_sentences_at_punctuation(tmp_path):
|
||||
samples = np.concatenate(
|
||||
[
|
||||
_speech(2.0),
|
||||
_silence(0.2),
|
||||
_speech(2.0),
|
||||
_silence(0.2),
|
||||
_speech(1.6),
|
||||
_speech(8.0),
|
||||
_speech(1.5),
|
||||
_speech(10.5),
|
||||
_speech(4.0),
|
||||
]
|
||||
).astype(np.float32)
|
||||
wav = tmp_path / "audio.wav"
|
||||
wav.write_bytes(_wav_bytes(samples, SAMPLE_RATE))
|
||||
transcript = Transcript(
|
||||
text="Hello world. Good day everyone. Nice to meet you.",
|
||||
text=(
|
||||
"So I've been single for about four years now and I find it hard to meet "
|
||||
"a guy especially in California. I've tried dating apps, I've met friends "
|
||||
"through friends, I've done online dating and I just feel like most of the "
|
||||
"guys that I meet aren't serious about a relationship."
|
||||
),
|
||||
segments=[
|
||||
TranscriptionSegment(
|
||||
start_seconds=0.0,
|
||||
end_seconds=2.0,
|
||||
text="Hello world.",
|
||||
words=[
|
||||
WordTimestamp(0.0, 0.6, "Hello"),
|
||||
WordTimestamp(0.7, 1.5, "world."),
|
||||
],
|
||||
end_seconds=8.0,
|
||||
text=(
|
||||
"So I've been single for about four years now and I find it hard "
|
||||
"to meet a guy especially in"
|
||||
),
|
||||
),
|
||||
TranscriptionSegment(
|
||||
start_seconds=2.2,
|
||||
end_seconds=5.5,
|
||||
text="Good day everyone. Nice to meet you.",
|
||||
words=[
|
||||
WordTimestamp(2.2, 2.8, "Good"),
|
||||
WordTimestamp(2.9, 3.5, "day"),
|
||||
WordTimestamp(3.6, 4.2, "everyone."),
|
||||
WordTimestamp(4.4, 4.9, "Nice"),
|
||||
WordTimestamp(5.0, 5.5, "you."),
|
||||
],
|
||||
start_seconds=8.0,
|
||||
end_seconds=9.5,
|
||||
text="California.",
|
||||
words=[WordTimestamp(8.0, 9.5, "California.")],
|
||||
),
|
||||
TranscriptionSegment(
|
||||
start_seconds=9.5,
|
||||
end_seconds=20.0,
|
||||
text=(
|
||||
"I've tried dating apps, I've met friends through friends, "
|
||||
"I've done online dating"
|
||||
),
|
||||
),
|
||||
TranscriptionSegment(
|
||||
start_seconds=20.0,
|
||||
end_seconds=24.0,
|
||||
text=(
|
||||
"and I just feel like most of the guys that I meet aren't serious "
|
||||
"about a relationship."
|
||||
),
|
||||
),
|
||||
],
|
||||
)
|
||||
|
||||
document = document_from_transcript(
|
||||
video_hash=VIDEO_HASH,
|
||||
duration_ms=6000,
|
||||
duration_ms=24000,
|
||||
transcript=transcript,
|
||||
language="en",
|
||||
audio_path=wav,
|
||||
@@ -71,14 +84,18 @@ def test_document_from_transcript_splits_sentences_at_periods(tmp_path):
|
||||
|
||||
assert document.algorithm_version == MOSS_ALGORITHM_VERSION
|
||||
assert [sentence.text for sentence in document.sentences] == [
|
||||
"Hello world.",
|
||||
"Good day everyone.",
|
||||
"Nice to meet you.",
|
||||
(
|
||||
"So I've been single for about four years now and I find it hard to meet "
|
||||
"a guy especially in California."
|
||||
),
|
||||
(
|
||||
"I've tried dating apps, I've met friends through friends, I've done "
|
||||
"online dating and I just feel like most of the guys that I meet aren't "
|
||||
"serious about a relationship."
|
||||
),
|
||||
]
|
||||
assert document.sentences[0].start_ms == 0
|
||||
assert document.sentences[0].end_ms == 1500
|
||||
assert document.sentences[1].start_ms == 2200
|
||||
assert document.sentences[1].end_ms == 4200
|
||||
assert document.sentences[2].start_ms == 4200
|
||||
assert document.sentences[2].end_ms == 5500
|
||||
assert document.sentences[0].end_ms == 9500
|
||||
assert document.sentences[1].start_ms == 9500
|
||||
assert document.sentences[1].end_ms == 24000
|
||||
assert all(sentence.reference_speech_duration_ms > 0 for sentence in document.sentences)
|
||||
|
||||
Reference in New Issue
Block a user