Meta开源AI音频和音乐生成模型

在过去的几年里,我们看到了AI在图像、视频和文本生成方面的巨大进步。然而,音频生成领域的进展却相对滞后。MetaAI这次再为开源贡献重磅产品:AudioCraft,一个支持多个音频生成模型的音频生成开发框架。

图片

AudioCraft开源地址

开源地址:https://github.com/facebookresearch/audiocraft

注意,该框架开源,但是三个模型开源不可商用哦~~

AudioGen模型地址:

https://www.datalearner.com/ai-models/pretrained-models/AudioGen


MusicGen模型地址:

https://www.datalearner.com/ai-models/pretrained-models/MusicGen

AudioCraft简介

产生高保真音频任何类型的音频都需要对不同尺度的复杂信号和模式进行建模。音乐可能是最具挑战性的音频类型,因为它由局部和长程模式组成,从一系列音符到具有多种乐器的全局音乐结构。利用AI生成连贯的音乐通常通过使用类似MIDI或钢琴卷的符号表示来实现。然而,这些方法无法完全捕捉到音乐中的表现细微差异和风格元素。

为此MetaAI开源了AudioCraft,一个可以用来生成音频的框架。它支持一系列的模型,能够产生高质量的音频,并具有长期的一致性,用户可以通过自然界面轻松地与其进行交互。

AudioCraft适用于音乐和声音生成以及压缩,所有这些都在同一个平台上进行。由于易于构建和重复使用,希望构建更好的声音生成器、压缩算法或音乐生成器的人可以在同一个代码库中完成所有操作,并在其他人已有基础上进一步发展。

AudioCraft支持的模型

AudioCraft由三个模型组成:MusicGen、AudioGen和EnCodec。MusicGen使用Meta拥有和特别许可的音乐进行训练,从文本输入生成音乐,而AudioGen则使用公开的音效进行训练,从文本输入生成音频。此外,还有改进版的EnCodec解码器,它可以生成更高质量的音乐,减少了人工制作的痕迹。

简单来说,MusicGen就是文本生成音乐的模型:

https://www.datalearner.com/ai-models/pretrained-models/MusicGen


AudioGen就是文本生成任意音频的模型:

https://www.datalearner.com/ai-models/pretrained-models/AudioGen


另外的EnCodec是指利用神经网络的实时、高保真音频编解码器。

下图是官方演示的AudioGen和MusicGen的实际案例:

图片

可以看到,对于AudioGen模型,只需要给一段文字即可生成音乐,第一个例子是让模型生成一段带有风声的口哨,结果很好。
注意,我这里是图片不能实际测试,大家可以去官方看真实效果。

而MusicGen模型则是一个描述即可生成音乐,虽然我不懂的,但是我觉得还挺好听的。

AudioCraft使用

AudioCraft依赖Python3.9和PyTorch2.0,所以需要先确保你的系统环境满足,可以通过如下命令安装升级:

# Best to make sure you have torch installed first, in particular before installing xformers.# Don't run this if you already have PyTorch installed.pip install 'torch>=2.0'# Then proceed to one of the followingpip install -U audiocraft  # stable releasepip install -U git+https://git@github.com/facebookresearch/audiocraft#egg=audiocraft  # bleeding edgepip install -e .# or if you cloned the repo locally (mandatory if you want to train).

官方也推荐在系统中安装ffmpeg

sudo apt-get install ffmpeg

如果你有anaconda,也可以如下命令安装:

conda install 'ffmpeg<5'-c  conda-forge

安装完之后使用很简单:

import torchaudiofrom audiocraft.models importAudioGenfrom audiocraft.data.audio import audio_writemodel =AudioGen.get_pretrained('facebook/audiogen-medium')model.set_generation_params(duration=5)# generate 8 seconds.wav = model.generate_unconditional(4)# generates 4 unconditional audio samplesdescriptions =['dog barking','sirene of an emergency vehicule','footsteps in a corridor']wav = model.generate(descriptions)# generates 3 samples.for idx, one_wav in enumerate(wav):# Will save under {idx}.wav, with loudness normalization at -14 db LUFS.audio_write(f'{idx}', one_wav.cpu(), model.sample_rate, strategy="loudness", loudness_compressor=True)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/53243.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ai图片合成软件帮你创造个性绚丽

嘿&#xff01;悄悄告诉你一个小秘密&#xff0c;现在有一款超酷的软件&#xff0c;它能让你的图片变得活灵活现&#xff0c;就像跳出了屏幕一样&#xff01;没错&#xff0c;这就是ai图片制作软件&#xff01;想象一下&#xff0c;你拍摄了一张美丽的风景照片&#xff0c;但总…

Python接口自动化-requests模块之post请求

一、源码解析 def post(url, dataNone, jsonNone, **kwargs):r"""Sends a POST request.:param url: URL for the new :class:Request object.:param data: (optional) Dictionary, list of tuples, bytes, or file-likeobject to send in the body of the :cla…

mongodb-win32-x86_64-2008plus-ssl-3.6.23-signed.msi

Microsoft Windows [版本 6.1.7601] 版权所有 (c) 2009 Microsoft Corporation。保留所有权利。C:\Users\Administrator>cd C:\MongoDB\Server\3.6\binC:\MongoDB\Server\3.6\bin> C:\MongoDB\Server\3.6\bin> C:\MongoDB\Server\3.6\bin>mongod --dbpath C:\Mongo…

高并发与性能优化的神奇之旅

作为公司的架构师或者程序员&#xff0c;你是否曾经为公司的系统在面对高并发和性能瓶颈时感到手足无措或者焦头烂额呢&#xff1f;笔者在出道那会为此是吃尽了苦头的&#xff0c;不过也得感谢这段苦&#xff0c;让笔者从头到尾去探索&#xff0c;找寻解决之法。 目录 第一站…

动手学深度学习(二)线性神经网络

推荐课程&#xff1a;跟李沐学AI的个人空间-跟李沐学AI个人主页-哔哩哔哩视频 回归任务是指对连续变量进行预测的任务。 一、线性回归 线性回归模型是一种常用的统计学习方法&#xff0c;用于分析自变量与因变量之间的关系。它通过建立一个关于自变量和因变量的线性方程&…

Toyota Programming Contest 2023#4(AtCoder Beginner Contest 311)D题题解

文章目录 [Grid Ice Floor](https://atcoder.jp/contests/abc311/tasks/abc311_d)问题建模问题分析1.分析移动时前后两个点之间的联系2.方法1通过BFS将所有按照给定运动方式可以到达的点都标记代码 3.方法2采用DFS来标记路径上的点的运动状态代码 Grid Ice Floor 问题建模 给定…

高并发负载均衡---LVS

目录 前言 一&#xff1a;负载均衡概述 二&#xff1a;为啥负载均衡服务器这么快呢&#xff1f; ​编辑 2.1 七层应用程序慢的原因 2.2 四层负载均衡器LVS快的原因 三&#xff1a;LVS负载均衡器的三种模式 3.1 NAT模式 3.1.1 什么是NAT模式 3.1.2 NAT模式实现LVS的缺点…

springboot+vue网红酒店客房预定系统的设计与实现_ui9bt

随着计算机技术发展&#xff0c;计算机系统的应用已延伸到社会的各个领域&#xff0c;大量基于网络的广泛应用给生活带来了十分的便利。所以把网红酒店预定管理与现在网络相结合&#xff0c;利用计算机搭建网红酒店预定系统&#xff0c;实现网红酒店预定的信息化。则对于进一步…

供水管网漏损监测,24小时保障城市供水安全

供水管网作为城市生命线重要组成部分&#xff0c;其安全运行是城市建设和人民生活的基本保障。随着我国社会经济的快速发展和城市化进程的加快&#xff0c;城市供水管网的建设规模日益增长。然而&#xff0c;由于管网老化、外力破坏和不当维护等因素导致的供水管网漏损&#xf…

电脑连接KONICA MINOLTA(柯尼卡美能达) 打印机及驱动安装

电脑系统&#xff1a;Windows 7 安装的打印机型号&#xff1a;Konica minolta bizhub 363 驱动下载&#xff1a;https://www.konicaminolta.com.cn/support/drivers/index.html 打印机配置好网络 1.打开控制面板&#xff0c;或点击桌面开始&#xff08;WIN&#xff09;&#x…

Webpack5新手入门简单配置

1.初始化项目 yarn init -y 2.安装依赖 yarn add -D webpack5.75.0 webpack-cli5.0.0 3.新建index.js 说明&#xff1a;写入下面的一句话 console.log("hello webpack"); 4.执行命令 说明&#xff1a;如果没有安装webpack脚手架就不能执行yarn webpack&#xff08…

47.Linux学习day01 基础命令详解1(很全面)

目录 一、Linux和Windows的区别 二、Linux系统目录结构 常见目录说明 三、Linux常见的基础命令 1.pwd 2.cd 3.ls 4.man 5. touch 6.mkdir 7. rmdir 今天正式学习了linux的一些基础操作和基础知识&#xff0c;以及linux和windows的区别。 一、Linux和Windows的区…