Spaces:
Sleeping
Sleeping
import pytest | |
from scraibe import (Transcriber, WhisperTranscriber, | |
FasterWhisperTranscriber, load_transcriber) | |
import torch | |
DEVICE = torch.device("cuda" if torch.cuda.is_available() else "cpu") | |
TEST_WAVEFORM = "Hello World" | |
""" | |
@pytest.mark.parametrize("audio_file, expected_transcription",[("path_to_test_audiofile", "test_transcription")] ) | |
@patch("scraibe.Transcriber.load_model") | |
def test_transcriber(mock_load_model, audio_file, expected_transcription): | |
Args: | |
mock_load_model (_type_): _description_ | |
audio_file (_type_): _description_ | |
expected_transcription (_type_): _description_ | |
mock_model = mock_load_model.return_value | |
mock_model.transcribe.return_value ={"text": expected_transcription} | |
transcriber = Transcriber.load_model(model="medium") | |
transcription_result = transcriber.transcribe(audio=audio_file) | |
assert transcription_result == expected_transcription """ | |
def whisper_instance(): | |
return load_transcriber('tiny', whisper_type='whisper') | |
def faster_whisper_instance(): | |
return load_transcriber('tiny', whisper_type='faster-whisper') | |
def test_whisper_base_initialization(whisper_instance): | |
assert isinstance(whisper_instance, Transcriber) | |
def test_faster_whisper_base_initialization(faster_whisper_instance): | |
assert isinstance(faster_whisper_instance, Transcriber) | |
def test_whisper_transcriber_initialization(whisper_instance): | |
assert isinstance(whisper_instance, WhisperTranscriber) | |
def test_faster_whisper_transcriber_initialization(faster_whisper_instance): | |
assert isinstance(faster_whisper_instance, FasterWhisperTranscriber) | |
def test_wrong_transcriber_initialization(): | |
with pytest.raises(ValueError): | |
load_transcriber('tiny', whisper_type='wrong_whisper') | |
def test_get_whisper_kwargs(): | |
kwargs = {"arg1": 1, "arg3": 3} | |
valid_kwargs = Transcriber._get_whisper_kwargs(**kwargs) | |
assert not valid_kwargs == {"arg1": 1, "arg3": 3} | |
def test_whisper_transcribe(whisper_instance): | |
model = whisper_instance | |
# mocker.patch.object(transcriber_instance.model, 'transcribe', return_value={'Hello, World !'} ) | |
transcript = model.transcribe('tests/audio_test_2.mp4') | |
assert isinstance(transcript, str) | |
def test_faster_whisper_transcribe(faster_whisper_instance): | |
model = faster_whisper_instance | |
# mocker.patch.object(transcriber_instance.model, 'transcribe', return_value={'Hello, World !'} ) | |
transcript = model.transcribe('tests/audio_test_2.mp4') | |
assert isinstance(transcript, str) | |