Update transcriber test cases for whisper, whisperx. Add device catch to whisperx.

This commit is contained in:
Marko Henning
2024-05-16 13:01:55 +02:00
parent da3dbffba1
commit ff6c0123b9
2 changed files with 49 additions and 12 deletions
+37 -8
View File
@@ -1,5 +1,5 @@
import pytest
from scraibe import Transcriber
from scraibe import Transcriber, WhisperTranscriber, WhisperXTranscriber
import torch
@@ -19,7 +19,7 @@ def test_transcriber(mock_load_model, audio_file, expected_transcription):
expected_transcription (_type_): _description_
mock_model = mock_load_model.return_value
mock_model.transcribe.return_value ={"text": expected_transcription}
mock_model.transcribe.return_value ={"text": expected_transcription}
transcriber = Transcriber.load_model(model="medium")
@@ -29,12 +29,34 @@ def test_transcriber(mock_load_model, audio_file, expected_transcription):
@pytest.fixture
def transcriber_instance():
return Transcriber.load_model('medium')
def whisper_instance():
return Transcriber.load_model('medium', whisper_type='whisper')
def test_transcriber_initialization(transcriber_instance):
assert isinstance(transcriber_instance, Transcriber)
@pytest.fixture
def whisperx_instance():
return Transcriber.load_model('medium', whisper_type='whisperx')
def test_whisper_base_initialization(whisper_instance):
assert isinstance(whisper_instance, Transcriber)
def test_whisperx_base_initialization(whisperx_instance):
assert isinstance(whisperx_instance, Transcriber)
def test_whisper_transcriber_initialization(whisper_instance):
assert isinstance(whisper_instance, WhisperTranscriber)
def test_whisperx_transcriber_initialization(whisperx_instance):
assert isinstance(whisperx_instance, WhisperXTranscriber)
def test_wrong_transcriber_initialization():
with pytest.raises(ValueError):
Transcriber.load_model('medium', whisper_type='wrong_whisper')
def test_get_whisper_kwargs():
@@ -43,8 +65,15 @@ def test_get_whisper_kwargs():
assert not valid_kwargs == {"arg1": 1, "arg3": 3}
def test_transcribe(transcriber_instance):
model = transcriber_instance
def test_whisper_transcribe(whisper_instance):
model = whisper_instance
# mocker.patch.object(transcriber_instance.model, 'transcribe', return_value={'Hello, World !'} )
transcript = model.transcribe('test/audio_test_2.mp4')
assert isinstance(transcript, str)
def test_whisperx_transcribe(whisperx_instance):
model = whisperx_instance
# mocker.patch.object(transcriber_instance.model, 'transcribe', return_value={'Hello, World !'} )
transcript = model.transcribe('test/audio_test_2.mp4')
assert isinstance(transcript, str)