应用办公生活信息教育商业
投稿投诉
商业财经
汽车智能
教育国际
房产环球
信息数码
热点科技
生活手机
晨报新闻
办公软件
科学动态
应用生物
体育时事

音画代码(这个Python包只需几行代码)

  音画代码(这个Python包只需几行代码)
  LucidSonicDreams包可以实现GAN生成图像的音画同步效果,且支持自定义。
  GAN生成图像奇幻诡谲,对此我们早已不陌生。如果它们还可以卡音效呢?最近,有人就创建了一个实现类似效果的Python包LucidSonicDreams,只用几行代码就可以实现AI生成画作与音乐的同步。
  GitHub地址:https:github。commikaelalafrizlucidsonicdreams
  Colab教程地址:https:colab。research。google。comdrive1Y5i50xSFIuN3V4Md8TB30GOAtts7RQD?uspsharing
  在该项目提供的demo视频中,伴随着Saje的歌Raspberry,GAN生成的图像不断变换且呈现出了对应的节奏。
  工作原理
  生成艺术品通常是由GAN网络来完成的。LucidSonicDreams包默认使用StyleGAN2ADA架构,不过GAN架构也可以自定义。将这些模型在特定风格的图像数据集上进行训练,使之能够输出与训练图像风格一致的无穷多张图像。此外,LucidSonicDreams使用JustinPinkney创建库中的StyleGAN2预训练模型(地址:
  https:github。comjustinpinkneyawesomepretrainedstylegan2)。
  那么这些图像到底是如何生成的呢?
  将输入馈送至StyleGAN2模型(输入为有512个数字的向量),输入决定了模型的输出图像,因此对输入向量进行微小更改也将带来输出图像的微小变化。
  现在,有趣的部分到了:如果我们从音乐中获取声波,从声波中提取数值(如振幅)并添加至输入向量,会发生什么?
  LucidSonicDreams对视频每一帧执行这些操作,生成脉冲与变换与音乐一致的图像。
  具体而言,利用LucidSonicDreams包,音乐控制了3个主要视觉组件:脉冲(Pulse)、运动(Motion)和类别(Class):
  脉冲指视觉画面随着音乐的敲击性节奏而跳动。从数学角度来看,脉冲是向输入向量暂时添加声波振幅的结果(即在下一帧中该向量仍是初始向量);
  运动指视觉画面变换的速度。从数学上看,它是向输入向量累积添加振幅(即添加的振幅后续不会被清零);
  类别指生成图像中物体的标签,例如基于WikiArt图像训练的风格中就有167个类别(包括梵高、达芬奇、抽象派等)。而这些由音调进行控制,具体而言,12个音高分别对应12个不同类别。这些音高的振幅对传输至第二个输入向量(类别向量)的数字造成影响,而这由模型生成的对象来决定。
  项目作者表示,这个想法受到MattSiegelman的DeepMusicVisualizer项目的启发。目前网上也有一些类似的项目,但LucidSonicDreams的独特之处在于以Python包形式实现,且允许自定义。
  使用LucidSonicDreams包,你可以做到这些
  LucidSonicDreams具备极强的易用性和灵活性。用户可以使用pip进行安装:
  然后只需输入几行Python代码即可:fromlucidsonicdreamsimportLucidSonicDreamLLucidSonicDream(song39;chemicallove。mp339;,style39;abstractphotos39;)L。hallucinate(filename39;chemicallove。mp439;)
  改变风格
  运行以下代码,我们可以查看默认可用的风格:fromlucidsonicdreamsimportshowstylesshowstyles()
  这样就可以得到一组风格名称,这些风格来自JustinPinkney创建的库。你还可以输入自己的StyleGAN权重,或者使用其他GAN架构。
  调整参数
  LucidSonicDreams包的默认设置很好用,但它实际上有很多参数30多个,不过这些参数是可以调整的(参数详细信息参见Colab教程)。
  哪些参数最重要呢?我们来看整个视频生成pipeline:
  首先,对输入向量进行初始化和插值,作为视频的基础运动(basemotion)。参数speedfpm控制运动的速度,fpm表示每分钟帧数,即每分钟初始化的向量数。对于每个后续帧而言,参数pulsereact,motionreact,andclassreact控制音频操纵每个对应组件的程度。
  模型基于这些向量生成图像后,图像被传输经过一系列特效(也对音乐产生反应)。默认情况下,LucidSonicDreams包具备contrast和flash特效,可以与音频的敲击性节奏同步。通过设置contraststrength和flashstrength参数,即可进行调整。使用者还可以创建自定义特效。
  以下代码展示了调参过程:LLucidSonicDream(39;pancakefeet。mp339;,style39;modernart39;)L。hallucinate(filename39;pancakefeet。mp439;,speedfpm0,motionreact0。8,contraststrength0。5,flashstrength0。7)
  使用自己的StyleGAN权重
  如果你自己训练过StyleGAN,或者在网上获得了一些模型权重,你可以选择将文件路径传输至这些权重,作为风格参数的值。
  例如,文章开头的视频使用的是JeremyTorman训练的模型。生成视频所用代码如下所示:LLucidSonicDream(song39;raspberry。mp339;,style39;VisionaryArt。pkl39;)L。hallucinate(filename39;raspberry。mp439;,pulsereact1。2,motionreact0。7,contraststrength0。5,flashstrength0。5)
  使用单独的音轨
  这个包还可以用作音乐可视化工具,使用者可以上传单独的音轨,进而控制Pulse、Motion、Class、Contrast和Flash。如果你想使这些视觉组件与特定的乐器同步,使用这个包是不错的选择。你还可以利用这些单独的音轨自定义特效。
  以下是示例代码:LLucidSonicDream(song39;lucidsonicdreamsmain。mp339;,pulseaudio39;lucidsonicdreamspulse。mp339;,classaudio39;lucidsonicdreamsclass。mp339;,style39;wikiart39;)L。hallucinate(39;lucidsonicdreams。mp439;,pulsereact0。25,motionreact0,classes〔1,5,9,16,23,27,28,30,50,68,71,89〕,dominantclassesfirstTrue,classshuffleseconds8,classsmoothseconds4,classpitchreact0。2,contraststrength0。3)
  自定义特效
  除了内置的Contrast和Flash特效外,LucidSonicDreams包还允许用户自定义创建特效。用户只需创建一个包含至少以下3个参数的函数即可:array,表示应用特效的图像;strength,决定对音乐的反应强度;amplitude表示在任意给定时间点的音量。之后,将该自定义函数传输至EffectsGenerator对象。
  作者用以下代码进行了试验,其使用的是scikitimage的swirl特效:importnumpyasnpfromskimage。transformimportswirlfromlucidsonicdreamsimportEffectsGeneratordefswirlfunc(array,strength,amplitude):swirledimageswirl(array,rotation0,strength100strengthamplitude,radius650)return(swirledimage255)。astype(np。uint8)swirleffectEffectsGenerator(swirlfunc,audio39;unfaith。mp339;,strength0。2,percussiveFalse)LLucidSonicDream(39;unfaith。mp339;,style39;textures39;)L。hallucinate(39;unfaith。mp439;,motionreact0。15,speedfpm2,pulsereact1。5,contraststrength1,flashstrength1,customeffects〔swirleffect〕)files。download(unfaith。mp4)
  使用其他GAN架构
  你还可以使用其他GAN架构。只需定义一个函数,该函数以一组噪声向量和类别向量(NumPy数组)作为输入,输出一组Pillow图像。事实上,该函数甚至不需要使用GAN,它可以是能够将输入向量转换成图像的任意函数。
  下列代码使用BigGAN的PyTorch实现复现了DeepMusicVisualizer:frompytorchpretrainedbigganimportBigGAN,converttoimagesimporttorchbigganBigGAN。frompretrained(39;biggandeep51239;)biggan。to(39;cuda:039;)defbigganfunc(noisebatch,classbatch):noisetensortorch。fromnumpy(noisebatch)。cuda()classtensortorch。fromnumpy(classbatch)。cuda()withtorch。nograd():outputtensorbiggan(noisetensor。float(),classtensor。float(),truncation1)returnconverttoimages(outputtensor。cpu())LLucidSonicDream(39;seaofvoicesinst。mp339;,stylebigganfunc,inputshape128,numpossibleclasses1000)L。hallucinate(39;seaofvoices。mp439;,outputaudio39;seaofvoices。mp339;,speedfpm3,classes〔13,14,22,24,301,84,99,100,134,143,393,394〕,classshuffleseconds10,classshufflestrength0。1,classcomplexity0。5,classsmoothseconds4,motionreact0。35,flashstrength1,contraststrength1)

上海中级口译官网(上海中级口译报名时间2021)上海中级口译官网(上海中级口译报名时间2021)星标CBDTIMES,随时关注广州CBD新鲜事华为最高档天才少年年薪201万8月4日一条消息冲上微博热搜刚毕业就拿到年薪201万?没查找微信好友以前聊天记录怎么查(怎么恢复删除的微信聊天记录)查找微信好友以前聊天记录怎么查(怎么恢复删除的微信聊天记录)微信现已成为咱们最常用的谈天东西,由于微信的运用率非常高,咱们也常常会拾掇一下微信谈天记载和其他软件的缓存文件来腾出手机电脑微信查微信聊天记录怎么查看器(微信怎样把删除的聊天记录找回来)电脑微信查微信聊天记录怎么查看器(微信怎样把删除的聊天记录找回来)微信现已成为我们最常用的谈天东西,因为微信的运用率十分高,我们也常常会收拾一下微信谈天记载和其他软件的缓存文件来腾如何查已删除的微信聊天记录(苹果手机找以前的聊天记录)如何查已删除的微信聊天记录(苹果手机找以前的聊天记录)微信现已成为咱们最常用的谈天东西,由于微信的运用率非常高,咱们也常常会拾掇一下微信谈天记载和其他软件的缓存文件来腾出手机空间。怎么查两个月前的微信聊天记录(微信能查几个月的聊天记录)怎么查两个月前的微信聊天记录(微信能查几个月的聊天记录)微信现已成为我们最常用的谈天东西,因为微信的运用率十分高,我们也常常会收拾一下微信谈天记载和其他软件的缓存文件来腾出手机空间怎么查很久前微信的聊天记录(找回微信删掉的聊天记录)怎么查很久前微信的聊天记录(找回微信删掉的聊天记录)微信现已成为我们最常用的谈天东西,因为微信的运用率十分高,我们也常常会收拾一下微信谈天记载和其他软件的缓存文件来腾出手机空间。但换机助手微信的聊天记录怎么查(微信怎样把删除的聊天记录找回来)换机助手微信的聊天记录怎么查(微信怎样把删除的聊天记录找回来)微信现已成为我们最常用的谈天东西,因为微信的运用率十分高,我们也常常会收拾一下微信谈天记载和其他软件的缓存文件来腾出手数码知识一加手机微信分身怎么弄怎么开微信分身如今使用IT数码设备的小伙伴们是越来越多了,那么IT数码设备当中是有很多小技巧的,这些技巧很多小伙伴一般都是不知道如何来实用的,就好比最近就有很多小伙伴们想要知道一加手机微信分身怎数码知识一加8t怎么应用分身怎么设置应用双开如今使用IT数码设备的小伙伴们是越来越多了,那么IT数码设备当中是有很多小技巧的,这些技巧很多小伙伴一般都是不知道如何来实用的,就好比最近就有很多小伙伴们想要知道一加8t怎么应用分数码知识一加怎么微信分身微信双开教程如今使用IT数码设备的小伙伴们是越来越多了,那么IT数码设备当中是有很多小技巧的,这些技巧很多小伙伴一般都是不知道如何来实用的,就好比最近就有很多小伙伴们想要知道一加怎么微信分身微数码知识一加8t手机怎么应用分身如何应用分身如今使用IT数码设备的小伙伴们是越来越多了,那么IT数码设备当中是有很多小技巧的,这些技巧很多小伙伴一般都是不知道如何来实用的,就好比最近就有很多小伙伴们想要知道一加8t手机怎么应
数码知识一加8t黑白摄像头怎么用拍摄黑白照片教程如今使用IT数码设备的小伙伴们是越来越多了,那么IT数码设备当中是有很多小技巧的,这些技巧很多小伙伴一般都是不知道如何来实用的,就好比最近就有很多小伙伴们想要知道一加8t黑白摄像头数码知识剪映怎么局部慢动作如何设置局部慢动作如今使用IT数码设备的小伙伴们是越来越多了,那么IT数码设备当中是有很多小技巧的,这些技巧很多小伙伴一般都是不知道如何来实用的,就好比最近就有很多小伙伴们想要知道剪映怎么局部慢动作数码知识mate30怎么设置三指下滑截屏可以三指截屏吗如今使用IT数码设备的小伙伴们是越来越多了,那么IT数码设备当中是有很多小技巧的,这些技巧很多小伙伴一般都是不知道如何来实用的,就好比最近就有很多小伙伴们想要知道mate30怎么设数码知识华为mate40如何设置三指下滑截屏支持三指下滑截屏吗如今使用IT数码设备的小伙伴们是越来越多了,那么IT数码设备当中是有很多小技巧的,这些技巧很多小伙伴一般都是不知道如何来实用的,就好比最近就有很多小伙伴们想要知道华为mate40如数码知识miui12三指截图怎么操作设置三指截屏教程如今使用IT数码设备的小伙伴们是越来越多了,那么IT数码设备当中是有很多小技巧的,这些技巧很多小伙伴一般都是不知道如何来实用的,就好比最近就有很多小伙伴们想要知道miui12三指截数码知识一加8t怎么设置截屏手势设置三指截屏如今使用IT数码设备的小伙伴们是越来越多了,那么IT数码设备当中是有很多小技巧的,这些技巧很多小伙伴一般都是不知道如何来实用的,就好比最近就有很多小伙伴们想要知道一加8t怎么设置截数码知识opporeno5拍照怎么设置比例如何设置比例如今使用IT数码设备的小伙伴们是越来越多了,那么IT数码设备当中是有很多小技巧的,这些技巧很多小伙伴一般都是不知道如何来实用的,就好比最近就有很多小伙伴们想要知道opporeno5数码知识雅马哈RXV283家庭影院怎么更改视频或音频输入插孔组合更改视频或音频输入插孔组合的图文教程如今使用IT数码设备的小伙伴们是越来越多了,那么IT数码设备当中是有很多小技巧的,这些技巧很多小伙伴一般都是不知道如何来实用的,就好比最近就有很多小伙伴们想要知道雅马哈RXV283数码知识华为手机桌面图标怎么自动排列华为手机桌面图标自动排列怎么设置如今使用IT数码设备的小伙伴们是越来越多了,那么IT数码设备当中是有很多小技巧的,这些技巧很多小伙伴一般都是不知道如何来实用的,就好比最近就有很多小伙伴们想要知道华为手机桌面图标怎数码知识华为手机桌面图标不见了怎么恢复原状桌面图标如何还原如今使用IT数码设备的小伙伴们是越来越多了,那么IT数码设备当中是有很多小技巧的,这些技巧很多小伙伴一般都是不知道如何来实用的,就好比最近就有很多小伙伴们想要知道华为手机桌面图标不数码知识opporeno怎么设置桌面图标大小应用图标大小更改方法如今使用IT数码设备的小伙伴们是越来越多了,那么IT数码设备当中是有很多小技巧的,这些技巧很多小伙伴一般都是不知道如何来实用的,就好比最近就有很多小伙伴们想要知道opporeno怎
友情链接:快好找快生活快百科快传网中准网文好找聚热点快软网