Freeze independent English German speech and boundary validation inputs
This commit is contained in:
1 parent
62dd3cc5bb
commit
bc9459785d
9 files changed
+590
No files matched your search
@@ -0,0 +1,45 @@
|
||||
import tempfile
|
||||
import unittest
|
||||
import wave
|
||||
from pathlib import Path
|
||||
|
||||
from prepare_validation import write_wav
|
||||
|
||||
|
||||
class PreparationTests(unittest.TestCase):
|
||||
def test_known_padding_does_not_change_source_samples(self):
|
||||
with tempfile.TemporaryDirectory() as directory:
|
||||
path = Path(directory) / "clip.wav"
|
||||
samples = b"\x01\x00" * 16000
|
||||
write_wav(path, samples, 5000)
|
||||
with wave.open(str(path), "rb") as clip:
|
||||
self.assertEqual(clip.getnframes(), 96000)
|
||||
self.assertEqual(clip.readframes(80000), bytes(160000))
|
||||
self.assertEqual(clip.readframes(16000), samples)
|
||||
|
||||
def test_full_source_over_budget_is_rejected(self):
|
||||
with tempfile.TemporaryDirectory() as directory:
|
||||
with self.assertRaises(ValueError):
|
||||
write_wav(Path(directory) / "clip.wav", bytes(960000), 5000)
|
||||
|
||||
def test_existing_preparation_cannot_be_overwritten(self):
|
||||
with tempfile.TemporaryDirectory() as directory:
|
||||
path = Path(directory) / "clip.wav"
|
||||
path.write_bytes(b"original")
|
||||
with self.assertRaises(ValueError):
|
||||
write_wav(path, bytes(32000))
|
||||
self.assertEqual(path.read_bytes(), b"original")
|
||||
|
||||
def test_odd_pcm_is_rejected(self):
|
||||
with tempfile.TemporaryDirectory() as directory:
|
||||
with self.assertRaises(ValueError):
|
||||
write_wav(Path(directory) / "clip.wav", b"\x00")
|
||||
|
||||
def test_explicit_seam_budget_is_bounded(self):
|
||||
with tempfile.TemporaryDirectory() as directory:
|
||||
path = Path(directory) / "seam.wav"
|
||||
write_wav(path, bytes(32000 * 35), maximum_ms=45000)
|
||||
with wave.open(str(path), "rb") as clip:
|
||||
self.assertEqual(clip.getnframes(), 16000 * 35)
|
||||
with self.assertRaises(ValueError):
|
||||
write_wav(Path(directory) / "oversized.wav", bytes(32000), maximum_ms=45001)
|
||||
Reference in new issue
Block a user