Amphion:开源的音频生成工具包

B站影视 欧美电影 2025-03-23 08:00 1

摘要:音频生成技术正以前所未有的速度改变着我们的生活,从智能语音助手到虚拟音乐创作,包括音乐生产和语音生成在内,这些技术的应用场景越来越广泛。Amphion 作为一个开源的音频生成工具包,为研究人员和开发者提供了一个强大而便捷的平台。

音频生成技术正以前所未有的速度改变着我们的生活,从智能语音助手到虚拟音乐创作,包括音乐生产和语音生成在内,这些技术的应用场景越来越广泛。Amphion 作为一个开源的音频生成工具包,为研究人员和开发者提供了一个强大而便捷的平台。

Amphion 是一个用于音频、音乐和语音生成的工具包,其代码仓库位于https://github.com/open-mmlab/Amphion 。该项目旨在为音频研究成果的复现提供支持,并帮助研究人员和工程师快速入门音频、音乐和语音生成领域的研究与开发。

Amphion 的核心目标是提供一个用于研究把任意输入转化为音频的平台,能支持各类音频生成任务,包括:TTS 文本转语音,SVS 歌声合成,VC 语音转换,AC 口音转换,SVC 歌声转换,TTA 文本转音频,TTM 文本转音乐等。

Amphion 还提供了多种声码器和评估指标,声码器是生成高质量音频信号的重要模块,而评估指标对于确保生成任务中指标的一致性至关重要。此外,Amphion 还致力于推动音频生成技术在实际应用中的发展,例如构建用于语音合成的大规模数据集等。

Amphion 是一个 Python 工具包,可以通过拉取代码仓库进行安装:

git clone https://github.com/open-mmlab/Amphion.gitcd Amphion# Install Python Environmentconda create --name amphion python=3.9.15conda activate amphion# Install Python Packages Dependenciessh env.sh

也可以通过 Docker 安装部署使用,拉取最新的镜像并运行:

git clone https://github.com/open-mmlab/Amphion.gitcd Amphiondocker pull realamphion/amphiondocker run --runtime=nvidia --gpus all -it -v .:/app realamphion/amphion

Amphion 支持多种音频生成功能,且提供了多种模型和架构,如 TTS 文本转语音,支持包括 FastSpeech2, VITS, VALL-E, NaturalSpeech2, Jets, MaskGCT, Vevo-TTS 在内的 TTS 模型或架构。以 VALL-E 为例,在 Python 脚本中引用该模型:

from models.tts.valle_v2.valle_inference import ValleInference

然后提供进行转换的语音音频样本:

# prepare inference dataimport librosaimport torchwav, _ = librosa.load('./egs/tts/VALLE_V2/example.wav', sr=16000)wav = torch.tensor(wav, dtype=torch.float32)from IPython.display import AudioAudio(wav, rate = 16000)

然后给出需要进行转换的输入文本,并使用 G2pProcessor 进行转写:

# The transcript of the prompt partprompt_transcript_text = 'and keeping eternity before the eyes'# Here are the words you want the model to outputtarget_transcript_text = 'It presents a unified framework that is inclusive of diverse generation tasks and models with the added bonus of being easily extendable for new applications'from models.tts.valle_v2.g2p_processor import G2pProcessorg2p = G2pProcessorprompt_transcript = g2p(prompt_transcript_text, 'en')[1]target_transcript = g2p(target_transcript_text, 'en')[1]

在给模型提供必须的运行参数之后,就能得到转换后生成的语音 ouput_wav 了:

configs = [dict( top_p=0.9, top_k=5, temperature=0.95, repeat_penalty=1.0, max_length=2000, num_beams=1,)] # model inference hyperparametersoutput_wav = model(batch, configs)

Amphion 作为一个开源的音频、音乐和语音生成工具包,为音频领域的研究和开发提供了丰富且便捷的工具。其能涵盖大部分音频生成场景,集成了行业领先的模型和架构,大大简化了研究人员和开发者的开发流程。

除了能帮助领域科研提效,Amphion 也拥有广泛的应用场景, 包括智能语音助手、有声读物制作、虚拟音乐创作、语音交互系统等领域。随着人工智能技术的不断发展,音频、音乐和语音生成技术的需求也将不断增加,Amphion 高质高效的音频生成能力,将能更好地助力相关需求转化为产品。

来源:每日开源代码

相关推荐