test_audio.py 1.0 KB

12345678910111213141516171819202122232425262728
  1. import subprocess
  2. import pytest
  3. from facefusion.audio import get_audio_frame, read_static_audio
  4. from facefusion.download import conditional_download
  5. from .helper import get_test_example_file, get_test_examples_directory
  6. @pytest.fixture(scope = 'module', autouse = True)
  7. def before_all() -> None:
  8. conditional_download(get_test_examples_directory(),
  9. [
  10. 'https://github.com/facefusion/facefusion-assets/releases/download/examples-3.0.0/source.mp3'
  11. ])
  12. subprocess.run([ 'ffmpeg', '-i', get_test_example_file('source.mp3'), get_test_example_file('source.wav') ])
  13. def test_get_audio_frame() -> None:
  14. assert get_audio_frame(get_test_example_file('source.mp3'), 25) is not None
  15. assert get_audio_frame(get_test_example_file('source.wav'), 25) is not None
  16. assert get_audio_frame('invalid', 25) is None
  17. def test_read_static_audio() -> None:
  18. assert len(read_static_audio(get_test_example_file('source.mp3'), 25)) == 280
  19. assert len(read_static_audio(get_test_example_file('source.wav'), 25)) == 280
  20. assert read_static_audio('invalid', 25) is None