偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

讓GAN隨音樂(lè)律動(dòng)的Python工具,網(wǎng)友:GAN的建議用法

新聞 開(kāi)發(fā)工具
一位外國(guó)小哥開(kāi)發(fā)的Python工具,能讓GAN生成的圖像隨音樂(lè)律動(dòng),幾個(gè)小時(shí)內(nèi)就在reddit上收獲了1.5k個(gè)贊。

本文經(jīng)AI新媒體量子位(公眾號(hào)ID:QbitAI)授權(quán)轉(zhuǎn)載,轉(zhuǎn)載請(qǐng)聯(lián)系出處。

 用GAN生成畫(huà)作已經(jīng)不是新鮮事了,不過(guò)你見(jiàn)過(guò)“懂音樂(lè)”的GAN嗎?

一位外國(guó)小哥開(kāi)發(fā)的Python工具,能讓GAN生成的圖像隨音樂(lè)律動(dòng),幾個(gè)小時(shí)內(nèi)就在reddit上收獲了1.5k個(gè)贊。

讓GAN隨音樂(lè)律動(dòng)的Python工具,網(wǎng)友:GAN的<span><span><span><i style=最佳用法">

從它的名字清晰的聲波夢(mèng)就能感受到一種夢(mèng)幻色彩,正如網(wǎng)友所說(shuō):

這就像海市蜃樓,好像能看出描繪的物體或場(chǎng)景,但是下一分鐘,你又會(huì)意識(shí)到它們并不存在。

讓GAN隨音樂(lè)律動(dòng)的Python工具,網(wǎng)友:GAN的<span><span><span><i style=最佳用法">

而這樣的音樂(lè)視效,只需幾行代碼就可以實(shí)現(xiàn),還支持各種自定義,一起來(lái)了解一下吧~

在輸入向量中加入音樂(lè)特征

Lucid Sonic Dreams默認(rèn)使用StyleGAN2-ADA架構(gòu),并且使用Justin Pinkney的存儲(chǔ)庫(kù)awesome-pretrained-stylegan2中的預(yù)訓(xùn)練模型。

根據(jù)指定風(fēng)格的圖像數(shù)據(jù)集進(jìn)行訓(xùn)練,得到與其風(fēng)格相似的大量圖像。

讓GAN隨音樂(lè)律動(dòng)的Python工具,網(wǎng)友:GAN的<span><span><span><i style=最佳用法">

模型首先從向量生成圖像,圖像再通過(guò)動(dòng)態(tài)效果來(lái)展現(xiàn)音樂(lè)。

在圖像生成過(guò)程中,向模型中輸入包含512個(gè)數(shù)值的向量來(lái)決定輸出圖像,而向量的細(xì)微變化,在輸出圖像中也會(huì)產(chǎn)生相應(yīng)地細(xì)微的變化。

因此,Lucid Sonic Dreams將從音樂(lè)的聲波中提取的數(shù)值(例如:振幅),添加到輸入向量中。對(duì)視頻中的每一幀都執(zhí)行此操作,創(chuàng)造出隨音樂(lè)跳動(dòng)和變化的藝術(shù)效果。

作者開(kāi)發(fā)這一工具的靈感,來(lái)自Matt Siegelman的Deep Music Visualizer項(xiàng)目——BigGAN,它能夠使其生成的圖像與音樂(lè)同步變化。

讓GAN隨音樂(lè)律動(dòng)的Python工具,網(wǎng)友:GAN的<span><span><span><i style=最佳用法">

圖源:Matt Siegelman

雖然以前也有一些類似的項(xiàng)目,但Lucid Sonic Dreams與眾不同的地方在于,它是能夠實(shí)現(xiàn)自定義Python軟件包

可簡(jiǎn)可繁,滿足不同需求

Lucid Sonic Dreams的安裝十分簡(jiǎn)單,只需要運(yùn)行pip install lucidsonicdreams進(jìn)行安裝就可以了。

首先要實(shí)現(xiàn)基本可視化,代碼是這樣的:

  1. from lucidsonicdreams import LucidSonicDream 
  2. L = LucidSonicDream(song = 'song.mp3'
  3.                     style = 'abstract photos'
  4. L.hallucinate(file_name = 'song.mp4'

由此就可以生成抽象風(fēng)格的視頻:

讓GAN隨音樂(lè)律動(dòng)的Python工具,網(wǎng)友:GAN的<span><span><span><i style=最佳用法">

如果想要改變風(fēng)格、查看可用風(fēng)格的列表,可以運(yùn)行命令:

  1. from lucidsonicdreams import show_styles 
  2. show_styles() 

此外,也可以使用其他風(fēng)格,只需要將參數(shù)值style設(shè)為相應(yīng)的pkl文件路徑,就像這樣:

  1. L = LucidSonicDream(song = 'raspberry.mp3', style = 'VisionaryArt.pkl'
  2.   L.hallucinate(file_name = 'raspberry.mp4',  
  3.                 pulse_react = 1.2,  
  4.                 motion_react = 0.7,  
  5.                 contrast_strength = 0.5,  
  6.                 flash_strength = 0.5

例如,使用Jeremy Torman訓(xùn)練的模型生成的效果:

讓GAN隨音樂(lè)律動(dòng)的Python工具,網(wǎng)友:GAN的<span><span><span><i style=最佳用法">

Lucid Sonic Dreams的默認(rèn)設(shè)置使它用起來(lái)十分容易,但除此在外,它也有很多可調(diào)的參數(shù),作者在Colab上詳細(xì)地羅列了這些參數(shù)。

例如,參數(shù)pulse_react、motion_react和class_react,分別控制著3個(gè)主要視覺(jué)組件:Pulse(脈沖)、Motion(運(yùn)動(dòng))和Class(種類)。

Pulse組件,是指視音樂(lè)中打擊樂(lè)元素的視覺(jué)效果。從數(shù)學(xué)上講,脈沖是聲波振幅臨時(shí)添加到輸入向量的結(jié)果,而在下一幀視頻中,向量則恢復(fù)正常。

讓GAN隨音樂(lè)律動(dòng)的Python工具,網(wǎng)友:GAN的<span><span><span><i style=最佳用法">

Motion,指的是視覺(jué)效果變形的速度,是將振幅累加到輸入向量中的結(jié)果。

讓GAN隨音樂(lè)律動(dòng)的Python工具,網(wǎng)友:GAN的<span><span><span><i style=最佳用法">

Class,則是指生成的圖像中對(duì)象的標(biāo)簽。例如,利用WikiArt圖像訓(xùn)練的樣式,共有167個(gè)種類,包括:梵高、達(dá)芬奇、抽象繪畫(huà)等。

讓GAN隨音樂(lè)律動(dòng)的Python工具,網(wǎng)友:GAN的<span><span><span><i style=最佳用法">

這些類別由音調(diào)控制,具體來(lái)說(shuō),就是將12個(gè)音高映射到12個(gè)類別。而這些音高的不同振幅,會(huì)影響第二輸入向量(類向量)的數(shù)值,該向量則決定了模型生成的對(duì)象。

此外,參數(shù)speed_fpm控制該運(yùn)動(dòng)的速度,該參數(shù)為0時(shí),則使圖像在歌曲的無(wú)聲的部分靜止。FPM代表每分鐘幀數(shù),也就是每分鐘初始化的向量數(shù)。

在默認(rèn)情況下,程序還帶有與音頻中打擊樂(lè)元素同步的“對(duì)比”和“閃光”效果,分別通過(guò)contrast_strength和flash_strength參數(shù)進(jìn)行設(shè)置。

調(diào)整參數(shù)的代碼就像這樣:

  1. L = LucidSonicDream('pancake_feet.mp3', style = 'modern art'
  2.   L.hallucinate(file_name = 'pancake_feet.mp4',  
  3.                 speed_fpm = 0,  
  4.                 motion_react = 0.8,  
  5.                 contrast_strength = 0.5,  
  6.                 flash_strength = 0.7

除了這些內(nèi)置的效果外,Lucid Sonic Dreams還支持創(chuàng)建自定義效果。只需創(chuàng)建一個(gè)函數(shù),其中至少包含3個(gè)參數(shù):

array用來(lái)指示應(yīng)用效果的圖像;strength決定對(duì)音樂(lè)的反應(yīng)程度;amplitude則是指音樂(lè)在任何給定時(shí)間點(diǎn)的音量。

然后,將此自定義函數(shù)傳遞給EffectsGenerator對(duì)象。比如,利用scikit-image生成旋流效果的代碼:

  1. import numpy as np  
  2.   from skimage.transform import swirl 
  3.   from lucidsonicdreams import EffectsGenerator   
  4.   def swirl_func(array, strength, amplitude): 
  5.     swirled_image = swirl(array,  
  6.                           rotation = 0,  
  7.                           strength = 100 * strength * amplitude, 
  8.                           radius=650
  9.     return (swirled_image*255).astype(np.uint8)   
  10.   swirl_effect = EffectsGenerator(swirl_func, 
  11.                                   audio = 'unfaith.mp3',  
  12.                                   strength = 0.2,  
  13.                                   percussive = False) 

生成的旋流效果示例:

讓GAN隨音樂(lè)律動(dòng)的Python工具,網(wǎng)友:GAN的<span><span><span><i style=最佳用法">

如果想要使用其他的GAN架構(gòu),只需定義一個(gè)函數(shù),將噪聲向量和類向量(NumPy數(shù)組)作為輸入,從而輸出圖像。

實(shí)際上,這個(gè)函數(shù)可以是將輸入向量轉(zhuǎn)換為圖像的任何函數(shù),甚至不需要使用GAN。

除此之外,Lucid Sonic Dreams支持上傳分離后的音軌來(lái)控制參數(shù),音樂(lè)制作者可以用它作為音樂(lè)可視化程序。

例如,使用分離后的打擊樂(lè)音軌來(lái)控制Pulse,同時(shí)用一個(gè)分離后的“合成和弦”音軌來(lái)控制Class:

  1. L = LucidSonicDream(song = 'lucidsonicdreams_main.mp3'
  2.                       pulse_audio = 'lucidsonicdreams_pulse.mp3'
  3.                       class_audio = 'lucidsonicdreams_class.mp3'
  4.                       style = 'wikiart'

既有簡(jiǎn)便易用的默認(rèn)模式,又支持各種自定義素材,難怪網(wǎng)友們對(duì)它大加贊賞。

OMG,我認(rèn)為這是我見(jiàn)過(guò)的GAN的最佳用法。

讓GAN隨音樂(lè)律動(dòng)的Python工具,網(wǎng)友:GAN的<span><span><span><i style=最佳用法">

還有網(wǎng)友想體驗(yàn)一下VR版本:

讓GAN隨音樂(lè)律動(dòng)的Python工具,網(wǎng)友:GAN的<span><span><span><i style=最佳用法">

也有部分“密恐”患者表示:對(duì)它又愛(ài)又恨!

讓GAN隨音樂(lè)律動(dòng)的Python工具,網(wǎng)友:GAN的<span><span><span><i style=最佳用法">

Lucid Sonic Dreams在GitHub上開(kāi)源,感興趣的小伙伴,快去聽(tīng)個(gè)音樂(lè)感受一下吧~

責(zé)任編輯:張燕妮 來(lái)源: 量子位
相關(guān)推薦

2019-04-13 14:33:29

2021-09-26 18:52:14

AI 數(shù)據(jù)人工智能

2020-10-22 09:13:14

NVIDIA

2021-09-10 10:01:34

神經(jīng)網(wǎng)絡(luò)AI算法

2023-12-18 08:57:22

GAN網(wǎng)絡(luò)

2020-12-21 11:00:33

AI 數(shù)據(jù)人工智能

2019-02-19 09:07:42

GAN生成對(duì)抗網(wǎng)絡(luò)神經(jīng)網(wǎng)絡(luò)

2021-08-25 17:03:09

模型人工智能PyTorch

2017-03-28 08:53:22

2017-07-13 17:33:18

生成對(duì)抗網(wǎng)絡(luò)GANIan Goodfel

2023-08-06 12:42:02

AI模型

2017-10-09 16:29:44

KerasWassertein 生成對(duì)抗網(wǎng)絡(luò)

2025-01-13 08:20:00

AI模型訓(xùn)練

2022-10-09 15:26:45

人工智能ML機(jī)器學(xué)習(xí)

2017-08-07 17:09:46

GAN信息檢索 IR

2024-12-04 07:59:48

2017-07-12 10:58:31

醫(yī)療大數(shù)據(jù)電子化服務(wù)

2021-12-06 09:35:38

英偉達(dá)人工智能軟件

2020-05-28 10:45:36

機(jī)器學(xué)習(xí)人工智能 PyTorch

2019-09-03 10:55:20

Python函數(shù)lambad
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)