最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

幾句話就能寫歌,一招搞定文本生成音頻

2023-08-08 16:13 作者:AI研習(xí)所  | 我要投稿

相較于AI在生成圖像、視頻、文本的應(yīng)用,AI生成音樂領(lǐng)域的發(fā)展相對落后。這是由于生成高質(zhì)量的音頻需要對不同類型的信號、模塊進行不同層級的建模,加上該領(lǐng)域開源的代碼較少,可以說是AI生成內(nèi)容中最具挑戰(zhàn)性的領(lǐng)域。近日Meta 開源了一個能夠生成各種音頻的 PyTorch 庫 ——AudioCraft


Demo:https://huggingface.co/spaces/facebook/MusicGen

與Llama一樣,AudioCraft也是以開源的形式進行發(fā)布,目的也是為了能夠讓“研究人員和從業(yè)人員能夠使用自己的數(shù)據(jù)集訓(xùn)練自己的模型,減少由于訓(xùn)練數(shù)據(jù)的局限性帶來的偏誤,推動AI生成音樂或音頻的發(fā)展。


Audiocraft 是一個PyTorch庫,用于音頻生成的深度學(xué)習(xí)研究,包括AudioGen、EnCodec(改進版)和MusicGen三個部件。其中,MusicGen 使用 Meta 具有版權(quán)的音樂數(shù)據(jù)進行訓(xùn)練,基于用戶輸入的文本生成音樂;AudioGen 使用公共音效數(shù)據(jù)進行訓(xùn)練,基于用戶輸入的文本生成音頻;EnCodec 用于壓縮音頻并以高保真度重建原始信號,保證生成的音樂是高質(zhì)量的.


AudioGen基于10個公開的音效數(shù)據(jù)集訓(xùn)練,里面包括狗吠、汽車鳴喇叭或木地板的腳步聲等各種音效。
然后是MusicGen模型,一共包含300M、1.5B、3.3B三個不同參數(shù)量的自回歸Transformer。


MusicGen使用了20000小時的音樂來訓(xùn)練,包含10000條內(nèi)部搜集的高質(zhì)量音軌,以及ShutterStock和Pond5素材庫中的數(shù)據(jù),后兩者的數(shù)據(jù)量分別為2.5萬和36.5萬.這些音樂數(shù)據(jù)在32kHz下被重新采樣,都配有流派、BPM等基本信息和復(fù)雜一些的文字說明。
最后是EnCodec神經(jīng)音頻編解碼器(neural audio codec)。編碼器能從要壓縮的音頻信號中學(xué)習(xí)離散的音頻token;隨后,基于一個自回歸語言模型,將音頻信號壓縮到目標(biāo)大??;最后,基于解碼器,就能將壓縮的信號高保真重建回音頻?;谶@種壓縮效果,音頻能被壓縮到比MP3格式還要小10倍。



安裝使用
需要Python 3.9,PyTorch 2.0.0,至少16 GB內(nèi)存的GPU


環(huán)境搭建
conda create -n musicgen python=3.9
pip install 'torch>=2.0'
# Then proceed to one of the following
pip install -U audiocraft # stable release
pip install -U git+https://git@github.com/facebookresearch/audiocraft#egg=audiocraft # bleeding edge
pip install -e . # or if you cloned the repo locally

使用api生成音樂

import torchaudio
from audiocraft.models import MusicGen
from audiocraft.data.audio import audio_write

model = MusicGen.get_pretrained('melody')
model.set_generation_params(duration=8) # generate 8 seconds.
wav = model.generate_unconditional(4) # generates 4 unconditional audio samples
descriptions = ['happy rock', 'energetic EDM', 'sad jazz']
wav = model.generate(descriptions) # generates 3 samples.

melody, sr = torchaudio.load('./assets/bach.mp3')
# generates using the melody from the given audio and the provided descriptions.
wav = model.generate_with_chroma(descriptions, melody[None].expand(3, -1, -1), sr)

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)

幾句話就能寫歌,一招搞定文本生成音頻的評論 (共 條)

分享到微博請遵守國家法律
湖州市| 内乡县| 通海县| 沧州市| 中方县| 定边县| 噶尔县| 廊坊市| 铅山县| 邯郸县| 明溪县| 临海市| 射阳县| 喀喇沁旗| 汨罗市| 久治县| 左云县| 芦山县| 崇仁县| 宣城市| 库尔勒市| 巴林右旗| 酒泉市| 嘉义县| 剑阁县| 莱州市| 达日县| 郓城县| 白沙| 青岛市| 永和县| 西乡县| 专栏| 西青区| 那坡县| 黄浦区| 临漳县| 牙克石市| 台安县| 宽城| 鄯善县|