CoolFace
Apppublic

singularity7/Muggier

sourceHugging Facecc-by-nc-4.0updated 3y agoView on Hugging Face
0likes
test_musicgen.py66 linesDownload Raw Back to models
1# Copyright (c) Meta Platforms, Inc. and affiliates.2# All rights reserved.3#4# This source code is licensed under the license found in the5# LICENSE file in the root directory of this source tree.6 7import pytest8import torch9 10from audiocraft.models import MusicGen11 12 13class TestMusicGenModel:14    def get_musicgen(self):15        mg = MusicGen.get_pretrained(name='debug', device='cpu')16        mg.set_generation_params(duration=2.0, extend_stride=2.)17        return mg18 19    def test_base(self):20        mg = self.get_musicgen()21        assert mg.frame_rate == 2522        assert mg.sample_rate == 3200023        assert mg.audio_channels == 124 25    def test_generate_unconditional(self):26        mg = self.get_musicgen()27        wav = mg.generate_unconditional(3)28        assert list(wav.shape) == [3, 1, 64000]29 30    def test_generate_continuation(self):31        mg = self.get_musicgen()32        prompt = torch.randn(3, 1, 32000)33        wav = mg.generate_continuation(prompt, 32000)34        assert list(wav.shape) == [3, 1, 64000]35 36        prompt = torch.randn(2, 1, 32000)37        wav = mg.generate_continuation(38            prompt, 32000, ['youpi', 'lapin dort'])39        assert list(wav.shape) == [2, 1, 64000]40 41        prompt = torch.randn(2, 1, 32000)42        with pytest.raises(AssertionError):43            wav = mg.generate_continuation(44                prompt, 32000, ['youpi', 'lapin dort', 'one too many'])45 46    def test_generate(self):47        mg = self.get_musicgen()48        wav = mg.generate(49            ['youpi', 'lapin dort'])50        assert list(wav.shape) == [2, 1, 64000]51 52    def test_generate_long(self):53        mg = self.get_musicgen()54        mg.max_duration = 3.55        mg.set_generation_params(duration=4., extend_stride=2.)56        wav = mg.generate(57            ['youpi', 'lapin dort'])58        assert list(wav.shape) == [2, 1, 32000 * 4]59 60    def test_generate_two_step_cfg(self):61        mg = self.get_musicgen()62        mg.set_generation_params(duration=2.0, extend_stride=2., two_step_cfg=True)63        wav = mg.generate(64            ['youpi', 'lapin dort'])65        assert list(wav.shape) == [2, 1, 64000]66