mirror of
https://github.com/hanzoai/mugen.git
synced 2026-11-03 01:48:40 +00:00
5.3 KiB
5.3 KiB
In [ ]:
from audiocraft.models import AudioGen
model = AudioGen.get_pretrained('facebook/audiogen-medium')In [ ]:
model.set_generation_params(
use_sampling=True,
top_k=250,
duration=5
)In [ ]:
import math
import torchaudio
import torch
from audiocraft.utils.notebook import display_audio
def get_bip_bip(bip_duration=0.125, frequency=440,
duration=0.5, sample_rate=16000, device="cuda"):
"""Generates a series of bip bip at the given frequency."""
t = torch.arange(
int(duration * sample_rate), device="cuda", dtype=torch.float) / sample_rate
wav = torch.cos(2 * math.pi * frequency * t)[None]
tp = (t % (2 * bip_duration)) / (2 * bip_duration)
envelope = (tp >= 0.5).float()
return wav * envelopeIn [ ]:
# Here we use a synthetic signal to prompt the generated audio.
res = model.generate_continuation(
get_bip_bip(0.125).expand(2, -1, -1),
16000, ['Whistling with wind blowing',
'Typing on a typewriter'],
progress=True)
display_audio(res, 16000)In [ ]:
# You can also use any audio from a file. Make sure to trim the file if it is too long!
prompt_waveform, prompt_sr = torchaudio.load("../assets/sirens_and_a_humming_engine_approach_and_pass.mp3")
prompt_duration = 2
prompt_waveform = prompt_waveform[..., :int(prompt_duration * prompt_sr)]
output = model.generate_continuation(prompt_waveform, prompt_sample_rate=prompt_sr, progress=True)
display_audio(output, sample_rate=16000)In [ ]:
from audiocraft.utils.notebook import display_audio
output = model.generate(
descriptions=[
'Subway train blowing its horn',
'A cat meowing',
],
progress=True
)
display_audio(output, sample_rate=16000)In [ ]: