Spaces:
Running
Running
alessandro trinca tornidor
feat: port whisper and faster-whisper support from https://github.com/Thiagohgl/ai-pronunciation-trainer
85b7206
import unittest | |
import epitran | |
import RuleBasedModels | |
words_real = 'Ich habe sehr viel glück, am leben und gesund zu sein' | |
words_transcribed = 'Ic hab zeh viel guck am und gesund tu sein' | |
class TestPhonemConverter(unittest.TestCase): | |
def test_get_phonem_converter_de(self): | |
converter = RuleBasedModels.get_phonem_converter('de') | |
self.assertIsInstance(converter, RuleBasedModels.EpitranPhonemConverter) | |
def test_get_phonem_converter_en(self): | |
converter = RuleBasedModels.get_phonem_converter('en') | |
self.assertIsInstance(converter, RuleBasedModels.EngPhonemConverter) | |
def test_get_phonem_converter_invalid_language(self): | |
with self.assertRaises(ValueError): | |
try: | |
RuleBasedModels.get_phonem_converter('fr') | |
except ValueError as ve: | |
self.assertEqual(str(ve), 'Language not implemented') | |
raise ve | |
def test_converttophonem_de(self): | |
phonem_converter = RuleBasedModels.EngPhonemConverter() | |
output = phonem_converter.convertToPhonem('Hello, this is a test') | |
self.assertEqual(output, 'hɛˈloʊ, ðɪs ɪz ə tɛst') | |
def test_converttophonem_en(self): | |
deu_latn = epitran.Epitran('deu-Latn') | |
phonem_converter = RuleBasedModels.EpitranPhonemConverter(deu_latn) | |
output = phonem_converter.convertToPhonem('Hallo, das ist ein Test') | |
self.assertEqual(output, 'haloː, daːs ɪst aɪ̯n tɛst') | |
if __name__ == '__main__': | |
unittest.main() | |