【虎虎生威迎虎年】对穿肠之PaddleBoBo

【虎虎生威迎虎年】对穿肠之PaddleBoBo使用 PaddleHub 的 ernie gen couplet 模 PaddleBoBo 来对对联 zimeng mp4

【虎虎生威迎虎年】对穿肠之PaddleBoBo

一、引入

主要思路如下:

  • 使用PaddleHub的ernie_gen_couplet模型生成虎年相关的对联
  • 使用PaddleBoBo把虚拟主播图片和对联生成视频

1.春联

春联是过年时所贴的红色喜庆素“年红”中一个种类,它以对仗工整、简洁精巧的文字描绘美好形象,抒发美好愿望,是中国特有的文学形式,是华人们过年的重要习俗。当人们在自己的家门口贴年红(春联、福字、窗花等)的时候,意味着过春节正式拉开序幕。

一说春联来源于桃符。据《后汉书·礼仪志》说,桃符长六寸,宽三寸,桃木板上书“神荼”、“郁垒”二神。“正月一日,造桃符著户,名仙木,百鬼所畏。”五代时,西蜀的宫廷里,有人在桃符上题写联语。清代《燕京时岁记》上说:“春联者,即桃符也。”

春联的另一来源是春贴,古人在立春日多贴“宜春”二字,后渐渐发展为春联,表达了中国劳动人民一种辟邪除灾、迎祥纳福的美好愿望。

在东汉以后,形成与门神配套的文化仪规,强化门神驱邪辟鬼,卫家宅,保平安,助功利,降吉祥等功能。古代对于贴年画和贴春联,有个专用名词叫“封印”,不论是挂桃符、贴年画和春联,皆有操作的规矩。“封印”,是指封闭已经扫除干净,清理整洁的内在场态,让邪气妖氛不能再进入家中。 “封”,是封闭、阻隔之义; “印”,则是标示于显隐两境,我已经封起来了。

据说这一习俗起于宋代,在明代开始盛行,到了清代,春联的思想性和艺术性都有了很大的提高。现在贴春联已成风俗,红色的对联贴在大门上,房子顿时生辉。正如诗云:“喜气临门红色妍,家家户户贴春联;旧年辞别迎新岁,时序车轮总向前。”

2.虎年来历

天宫的虎卫士从前也只是地上的一种不出名的动物。它从猫师傅那里学得抓、扑、咬、剪、冲、跃、折等十八般武艺后,成为山林中的勇士。凡是和它较量的,不死即伤。从此,老虎雄霸山林。后来,玉帝听说老虎勇猛无比,便下旨传老虎上天。老虎上天之后,同玉帝的卫士较量,赢得胜利。从此,老虎便成了天宫的殿前卫士。
谁知不久之后,地上的飞禽走兽见无人镇管,开始胡作非为起来。给人间造成了灾难,这事惊动了土地神,土地神连忙上报天庭,请玉帝派统天神镇住百兽。玉帝便派老虎下凡,老虎要求每胜一次,便给它记一功。玉帝只求人间安宁,当然满口答应老虎的要求。
来了凡间,老虎了解到狮子、熊、马是当时最厉害的三种动物。它就专门向这三种动物挑战。凭着老虎的勇猛和高超的武艺连接击败了狮子、熊、马。其他恶兽闻风而逃,藏进了无人居住的森林荒野。人间欢声动地,感谢老虎为人世间立了功。
回到天上,玉帝因老虎连胜三兽,便在它的前额刻下了三条横线。后来,人间又受到东海龟怪的骚扰,大地一片汪洋。虾兵蟹将作恶人间,老虎又来到凡间,咬死了龟怪。玉帝一高兴,又给老虎记一大功,在额头的三横之中又添了一竖。一个醒目的“王”字在老虎前额。从此,老虎便为百兽之王,总管百兽。时至今天,虎额上也还可见到威风的“王”字。

3.一键对联生成的示例

引用: [PaddleHub一键对联生成(例:上海自来水来自海上,山东落叶松叶落东山)](https://aistudio.baidu.com/aistudio/projectdetail/]

对联输入:

'上海自来水来自海上' '人增福寿年增岁', '风吹云乱天垂泪', '眉目传情无眉目', '一城花雨山河壮', '龙凤呈祥火树银花引来五洲比翼鸟' '世事少从容将满腹怨尤向她倾诉', '早点起来吃早点', '举杯接月色', '跃马扬鞭一路春风追国梦', '夜总空空月圆是我月缺还是我', '昆明黑龙潭两树梅花一潭水' 

对联输出:

['山东落花生花落东山', '山东飞机场机飞东山', '中山藏经楼经藏山中', '山东落叶松叶落东山', '长春鲜花开花鲜春长'] ['春满乾坤喜满门', '竹报平安梅报春', '春满乾坤福满门', '春满乾坤酒满樽', '春满乾坤喜满家'] ['雨打花残地痛心', '雨打花残地皱眉', '雨打花残地动容', '雨打霜欺地动容', '雨打花残地洒愁'] ['舌头费力有舌头', '口头许愿有口头', '口头打架有口头', '口头打架止口头', '手足失措有手足'] ['万里春风气象新', '万里春风岁月新', '满苑春风草木荣', '满苑春风岁月新', '满苑春风天地新'] ['山川毓秀欢声笑语迎进四海连理枝', '山川毓秀欢声笑语招得四海连理枝', '山川毓秀欢声笑语迎接四海同心人', '山川毓秀欢声笑语招入万国来宾商', '山川毓秀欢声笑语迎进四海连心桥'] ['人生多坎坷有一腔热血待我耕耘', '人生多坎坷有一腔热血对我敞开', '人生多坎坷却一腔心血对我敞开', '人生多坎坷有一腔热血对我敞怀', '人生多坎坷有一腔心事对我说明'] ['先生坐下拜先生', '宵宵里吃宵', '夜宵坐下想夜宵', '宵宵里乐宵', '宵宵里品宵'] ['把酒问青天', '提笔赋秋风', '提笔赋梅花', '提笔赋秋香', '提笔赋春光'] ['闻鸡起舞九州豪杰绘宏图', '闻鸡起舞九天曙色耀人寰', '闻鸡起舞九州豪杰绘鸿图', '闻鸡起舞九天曙色耀中华', '闻鸡起舞九天曙色焕人文'] ['情犹切切云卷随风云舒又随风', '情犹切切云卷随风云舒亦随风', '情犹切切云卷如风云舒复如风', '情难了了人去随风人来又随风', '情犹切切云卷随风云舒复随风'] ['杭州西子湖四时风月半湖莲', '杭州西子湖四时烟雨半湖云', '杭州西子湖四时风光半湖莲', '杭州西子湖四围山色半湖光', '杭州西子湖四时风景半湖莲'] 

4.PaddleBoBo主播

参考: PaddleHub宇宙直通车:手把手教你造个虚拟数字人! - 飞桨AI Studio - 人工智能学习实训社区

宇宙时代已经来临,当你看到网络新闻上形形色色的虚拟人的时候,是不是有些心动?
你是否跟以前的我一样会想创造虚拟人需要很大的成本和技术投入,普通开发者单枪匹马根本无法办得到?
现在这些都不再是问题,PaddleHub助你快速实现!

二、前要

1.写对联的要求

对联文字长短不一,短的仅一、两个字;长的可达几百字。对联形式多样,有正对、反对、流水对、联球对、集句对等。但不管何类对联,使用何种形式,都必须具备以下特点:

  1. 要字数相等,断句一致。除有意空出某字的位置以达到某种效果外,上下联字数必须相同,不多不少。
  2. 要平仄相合,音调和谐。传统习惯是「仄起平落」,即上联末句尾字用仄声,下联末句尾字用平声。
  3. 要词性相对,位置相同。一般称为「虚对虚,实对实」,就是名词对名词,动词对动词,形容词对形容词,数量词对数量词,副词对副词,而且相对的词必须在相同的位置上。
  4. 要内容相关,上下衔接。上下联的含义必须相互衔接,但又不能重复。

此外,张挂的对联,传统作法还必须直写竖贴,自右而左,由上而下,不能颠倒。与对联紧密相关的横批,可以说是对联的题目,也是对联的中心。好的横批在对联中可以起到画龙点睛、相互补充的作用。

2.公开对联数据集介绍

模型所用的公开对联数据集是couplet-clean-dataset。此数据集基于couplet-dataset的70w条数据集,在此基础上利用敏感词词库对数据进行了过滤,删除了低俗或敏感的内容,删除后剩余约74w条对联数据。原有的70多万条数据集中包含了较多的低俗或敏感内容,不太适合商用场景。如有对数据集有更具体的了解诉求,可以前往该数据集repo地址详细了解如何下载数据、数据过滤规则等信息。

3.对联生成模型介绍

  1. ernie_gen_couplet:ERNIE-GEN 是面向生成任务的预训练-微调框架,首次在预训练阶段加入span-by-span 生成任务,让模型每次能够生成一个语义完整的片段。在预训练和微调中通过填充式生成机制和噪声感知机制来缓解曝光偏差问题。此外, ERNIE-GEN 采样多片段-多粒度目标文本采样策略, 增强源文本和目标文本的关联性,加强了编码器和解码器的交互。ernie_gen_couplet采用开源对联数据集进行微调,可用于生成下联。下图是模型结构:

更多详情可以参考论文:ERNIE-GEN:An Enhanced Multi-Flow Pre-training and Fine-tuning Framework for Natural Language Generation

  1. ernie_tiny_couplet:ernie_tiny_couplet是一个对联生成模型,它由ernie_tiny预训练模型经PaddleHub TextGenerationTask微调而来,仅支持预测,如需进一步微调请参考PaddleHub text_generation demo。预训练模型转换成预测module的转换方式请参考Fine-tune保存的模型如何转化为一个PaddleHub Module。下图是模型结构:

4.PaddleBoBo介绍

PaddleBoBo是基于飞桨PaddlePaddle深度学习框架和PaddleSpeech、PaddleGAN等开发套件的虚拟主播快速生成项目。PaddleBoBo致力于简单高效、可复用性强,只需要一张带人像的图片和一段文字,就能快速生成一个虚拟主播的视频;并能通过简单的二次开发更改文字输入,实现视频实时生成和实时直播功能。

  • PaddleBoBo虚拟主播实时直播演示 - Bilibili
  • PaddleBoBo虚拟主播竖版生成演示 - Bilibili
  • PaddleBoBo虚拟主播横版生成演示 - Bilibili

三、生成对联

注:我们的模型可以在CPU和GPU下执行,但由于AI Studio高级版(GPU)十分难以抢到,因此在这里为大家演示在cpu版下实操;如果要用GPU运行,需要切换到AI Studio GPU高级版,并且设置use_cuda=True

1.环境依赖

在完成对联生成前,需要先完成PaddlePaddle的安装和PaddleHub的安装,并且要求paddlepaddle >= 1.8.0,paddlehub >= 1.7.0;AI Studio已经为各位开发者提供好了PaddlePaddle框架以及PaddleHub预训练模型管理工具,因为我们只需要满足版本,就可以使用对联生成模型,完成一键对联生成。PaddleHub为各位开发者准备了两种方式实现对联生成,详情请见3-2(命令行一键生成)和3-3(API调用生成)内容。

注:需要更新paddlehub以达到对联生成模型的环境依赖要求;下图是AI Studio默认的初始版本,其中paddlehub的版本并未达到我们的环境需求,因此需要更新

!pip install paddlehub --upgrade -i https://mirror.baidu.com/pypi/simple #(升级paddlehub) 

2.命令行方式一键生成对联

PaddleHub在设计时,为模型的管理和使用提供了命令行工具,也提供了通过命令行调用PaddleHub模型完成预测的方式。下面是基于命令行的hub run命令完成的对联生成,更多paddlehub命令行操作说明

# 命令行一键对联生成 !hub run ernie_gen_couplet --input_text '虎虎生威迎虎年' --use_gpu False --beam_width 10 

3.API方式一键生成对联

通过预测API,给出上联,程序自动生成下联。

import paddlehub as hub module = hub.Module(name="ernie_gen_couplet") test_texts = [ "虎跃龙腾生紫气"] results = module.generate(texts=test_texts, use_gpu=False, beam_width=50) for result in results: print(result) 
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/matplotlib/__init__.py:107: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated, and in 3.8 it will stop working from collections import MutableMapping /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/matplotlib/rcsetup.py:20: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated, and in 3.8 it will stop working from collections import Iterable, Mapping /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/matplotlib/colors.py:53: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated, and in 3.8 it will stop working from collections import Sized Download https://bj.bcebos.com/paddlehub/paddlehub_dev/ernie_gen_couplet.tar.gz [#] 100.00% Decompress /home/aistudio/.paddlehub/tmp/tmpz3z6aez6/ernie_gen_couplet.tar.gz [#] 100.00% [2022-01-22 22:08:13,694] [ INFO] - Successfully installed ernie_gen_couplet-1.1.0 [2022-01-22 22:08:13,974] [ INFO] - Downloading https://paddlenlp.bj.bcebos.com/models/transformers/ernie/ernie_v1_chn_base.pdparams and saved to /home/aistudio/.paddlenlp/models/ernie-1.0 100%|██████████| / [00:10<00:00, 36929.61it/s] [2022-01-22 22:08:24,680] [ DEBUG] - init ErnieModel with config: {'attention_probs_dropout_prob': 0.1, 'hidden_act': 'relu', 'hidden_dropout_prob': 0.1, 'hidden_size': 768, 'initializer_range': 0.02, 'max_position_embeddings': 513, 'num_attention_heads': 12, 'num_hidden_layers': 12, 'type_vocab_size': 2, 'vocab_size': 18000, 'pad_token_id': 0} W0122 22:08:24. 101 device_context.cc:447] Please NOTE: device: 0, GPU Compute Capability: 7.0, Driver API Version: 10.1, Runtime API Version: 10.1 W0122 22:08:24. 101 device_context.cc:465] device: 0, cuDNN Version: 7.6. [2022-01-22 22:08:29,431] [ INFO] - loading pretrained model from /home/aistudio/.paddlenlp/models/ernie-1.0/ernie_v1_chn_base.pdparams [2022-01-22 22:08:30,104] [ INFO] - param:mlm_bias not set in pretrained model, skip [2022-01-22 22:08:30,106] [ INFO] - param:mlm.weight not set in pretrained model, skip [2022-01-22 22:08:30,108] [ INFO] - param:mlm.bias not set in pretrained model, skip [2022-01-22 22:08:30,109] [ INFO] - param:mlm_ln.weight not set in pretrained model, skip [2022-01-22 22:08:30,111] [ INFO] - param:mlm_ln.bias not set in pretrained model, skip [2022-01-22 22:08:33,631] [ INFO] - Downloading https://paddlenlp.bj.bcebos.com/models/transformers/ernie/vocab.txt and saved to /home/aistudio/.paddlenlp/models/ernie-1.0 [2022-01-22 22:08:33,634] [ INFO] - Downloading vocab.txt from https://paddlenlp.bj.bcebos.com/models/transformers/ernie/vocab.txt 100%|██████████| 90/90 [00:00<00:00, 5352.46it/s] ['莺歌燕舞庆新春', '风调雨顺兆丰年', '莺歌燕舞闹春光', '莺歌燕舞闹春风', '莺歌燕舞贺新春', '莺歌燕舞兆丰年', '莺歌燕舞颂华年', '人欢马叫庆新春', '莺歌燕舞唱春风', '人欢马叫兆丰年', '山欢水笑沐春风', '莺歌燕舞醉春风', '莺歌燕舞笑春风', '莺歌燕舞报佳音', '莺歌燕舞蔚春风', '莺歌燕舞闹新春', '莺歌燕舞涌春潮', '山欢水笑闹新春', '山欢水笑涌春潮', '莺歌燕舞沐春风', '莺歌燕舞贺新年', '莺歌燕舞乐春风', '莺歌燕舞庆阳春', '莺歌燕舞报新春', '人欢马叫闹新春', '山欢水笑兆丰年', '莺歌燕舞颂阳春', '莺歌燕舞唤春风', '莺歌燕舞起祥云', '莺歌燕舞颂春风', '人欢马叫闹春风', '莺歌燕舞庆丰年', '莺歌燕舞送春风', '莺歌燕舞送吉祥', '莺歌燕舞庆祥和', '人欢马叫庆丰年', '莺歌燕舞播春光', '花香鸟语贺新春', '山欢水笑贺新春', '莺歌燕舞庆华年', '山欢水笑庆新春', '莺歌燕舞乐新春', '莺歌燕舞庆新年', '莺歌燕舞迎新春', '莺歌燕舞咏春光', '鸡鸣犬吠报新春', '莺歌燕舞播春晖', '莺歌燕舞颂新春', '莺歌燕舞播春风', '山明水秀沐春风'] 

参数

  • texts (list[str]): 上联文本;
  • use_gpu (bool): 是否使用 GPU;若使用GPU,请先设置CUDA_VISIBLE_DEVICES环境变量
  • beam_width: beam search宽度,决定每个上联输出的下联数量。

返回

  • results (list[list][str]): 下联文本,每个上联会生成beam_width个下联。
%cd ~ test_texts = "虎跃龙腾生紫气" f=open('duilian.txt','w') for result in results[0]: f.writelines(test_texts+","+result+ "。") f.close() 
/home/aistudio 
!cat duilian.txt 
虎跃龙腾生紫气,莺歌燕舞庆新春。虎跃龙腾生紫气,风调雨顺兆丰年。虎跃龙腾生紫气,莺歌燕舞闹春光。虎跃龙腾生紫气,莺歌燕舞闹春风。虎跃龙腾生紫气,莺歌燕舞贺新春。虎跃龙腾生紫气,莺歌燕舞兆丰年。虎跃龙腾生紫气,莺歌燕舞颂华年。虎跃龙腾生紫气,人欢马叫庆新春。虎跃龙腾生紫气,莺歌燕舞唱春风。虎跃龙腾生紫气,人欢马叫兆丰年。虎跃龙腾生紫气,山欢水笑沐春风。虎跃龙腾生紫气,莺歌燕舞醉春风。虎跃龙腾生紫气,莺歌燕舞笑春风。虎跃龙腾生紫气,莺歌燕舞报佳音。虎跃龙腾生紫气,莺歌燕舞蔚春风。虎跃龙腾生紫气,莺歌燕舞闹新春。虎跃龙腾生紫气,莺歌燕舞涌春潮。虎跃龙腾生紫气,山欢水笑闹新春。虎跃龙腾生紫气,山欢水笑涌春潮。虎跃龙腾生紫气,莺歌燕舞沐春风。虎跃龙腾生紫气,莺歌燕舞贺新年。虎跃龙腾生紫气,莺歌燕舞乐春风。虎跃龙腾生紫气,莺歌燕舞庆阳春。虎跃龙腾生紫气,莺歌燕舞报新春。虎跃龙腾生紫气,人欢马叫闹新春。虎跃龙腾生紫气,山欢水笑兆丰年。虎跃龙腾生紫气,莺歌燕舞颂阳春。虎跃龙腾生紫气,莺歌燕舞唤春风。虎跃龙腾生紫气,莺歌燕舞起祥云。虎跃龙腾生紫气,莺歌燕舞颂春风。虎跃龙腾生紫气,人欢马叫闹春风。虎跃龙腾生紫气,莺歌燕舞庆丰年。虎跃龙腾生紫气,莺歌燕舞送春风。虎跃龙腾生紫气,莺歌燕舞送吉祥。虎跃龙腾生紫气,莺歌燕舞庆祥和。虎跃龙腾生紫气,人欢马叫庆丰年。虎跃龙腾生紫气,莺歌燕舞播春光。虎跃龙腾生紫气,花香鸟语贺新春。虎跃龙腾生紫气,山欢水笑贺新春。虎跃龙腾生紫气,莺歌燕舞庆华年。虎跃龙腾生紫气,山欢水笑庆新春。虎跃龙腾生紫气,莺歌燕舞乐新春。虎跃龙腾生紫气,莺歌燕舞庆新年。虎跃龙腾生紫气,莺歌燕舞迎新春。虎跃龙腾生紫气,莺歌燕舞咏春光。虎跃龙腾生紫气,鸡鸣犬吠报新春。虎跃龙腾生紫气,莺歌燕舞播春晖。虎跃龙腾生紫气,莺歌燕舞颂新春。虎跃龙腾生紫气,莺歌燕舞播春风。虎跃龙腾生紫气,山明水秀沐春风。 

四、生成视频

1. 依赖安装

%cd ~ !pip install --upgrade pip # 下载nltk_data !wget https://paddlespeech.bj.bcebos.com/Parakeet/tools/nltk_data.tar.gz !tar zxvf nltk_data.tar.gz !git clone https://gitee.com/livingbody/PaddleBoBo.git --depth=1 !pip install ppgan paddlespeech 

2.配置

GANDRIVING: FOM_INPUT_IMAGE: '../bobo.png' FOM_DRIVING_VIDEO: './file/input/zimeng.mp4' FOM_OUTPUT_VIDEO: './file/input/test.mp4' TTS: SPEED: 1.0 PITCH: 1.0 ENERGY: 1.0 SAVEPATH: VIDEO_SAVE_PATH: './file/output/video/' AUDIO_SAVE_PATH: './file/output/audio/' 

3.让静态人脸动起来

# 覆盖配置 !cp ~/default.yaml ~/PaddleBoBo/default.yaml 
%cd ~/PaddleBoBo/ !python create_virtual_human.py --config default.yaml 

4.通用版本生成

numpy 版本太高不行,需要先卸载,然后安装1.20版本。

!pip uninstall numpy -y 
Found existing installation: numpy 1.19.5 Uninstalling numpy-1.19.5: Successfully uninstalled numpy-1.19.5 
!pip install numpy==1.20 
!python general_demo.py \ --human ./file/input/test.mp4 \ --output output.mp4 \ put output.mp4 \ --text 虎跃龙腾生紫气,莺歌燕舞庆新春。虎跃龙腾生紫气,风调雨顺兆丰年。虎跃龙腾生紫气,莺歌燕舞闹春光。虎跃龙腾生紫气,莺歌燕舞闹春风。虎跃龙腾生紫气,莺歌燕舞贺新春。虎跃龙腾生紫气,莺歌燕舞兆丰年。虎跃龙腾生紫气,莺歌燕舞颂华年。虎跃龙腾生紫气,人欢马叫庆新春。虎跃龙腾生紫气,莺歌燕舞唱春风。虎跃龙腾生紫气,人欢马叫兆丰年。虎跃龙腾生紫气,山欢水笑沐春风。虎跃龙腾生紫气,莺歌燕舞醉春风。虎跃龙腾生紫气,莺歌燕舞笑春风。虎跃龙腾生紫气,莺歌燕舞报佳音。虎跃龙腾生紫气,莺歌燕舞蔚春风。虎跃龙腾生紫气,莺歌燕舞闹新春。虎跃龙腾生紫气,莺歌燕舞涌春潮。虎跃龙腾生紫气,山欢水笑闹新春。虎跃龙腾生紫气,山欢水笑涌春潮。虎跃龙腾生紫气,莺歌燕舞沐春风。虎跃龙腾生紫气,莺歌燕舞贺新年。虎跃龙腾生紫气,莺歌燕舞乐春风。虎跃龙腾生紫气,莺歌燕舞庆阳春。虎跃龙腾生紫气,莺歌燕舞报新春。虎跃龙腾生紫气,人欢马叫闹新春。虎跃龙腾生紫气,山欢水笑兆丰年。虎跃龙腾生紫气,莺歌燕舞颂阳春。虎跃龙腾生紫气,莺歌燕舞唤春风。虎跃龙腾生紫气,莺歌燕舞起祥云。虎跃龙腾生紫气,莺歌燕舞颂春风。虎跃龙腾生紫气,人欢马叫闹春风。虎跃龙腾生紫气,莺歌燕舞庆丰年。虎跃龙腾生紫气,莺歌燕舞送春风。虎跃龙腾生紫气,莺歌燕舞送吉祥。虎跃龙腾生紫气,莺歌燕舞庆祥和。虎跃龙腾生紫气,人欢马叫庆丰年。虎跃龙腾生紫气,莺歌燕舞播春光。虎跃龙腾生紫气,花香鸟语贺新春。虎跃龙腾生紫气,山欢水笑贺新春。虎跃龙腾生紫气,莺歌燕舞庆华年。虎跃龙腾生紫气,山欢水笑庆新春。虎跃龙腾生紫气,莺歌燕舞乐新春。虎跃龙腾生紫气,莺歌燕舞庆新年。虎跃龙腾生紫气,莺歌燕舞迎新春。虎跃龙腾生紫气,莺歌燕舞咏春光。虎跃龙腾生紫气,鸡鸣犬吠报新春。虎跃龙腾生紫气,莺歌燕舞播春晖。虎跃龙腾生紫气,莺歌燕舞颂新春。虎跃龙腾生紫气,莺歌燕舞播春风。虎跃龙腾生紫气,山明水秀沐春风。 

视频生成完毕,输出路径为:output.mp4,下载即可!

今天的文章 【虎虎生威迎虎年】对穿肠之PaddleBoBo分享到此就结束了,感谢您的阅读。
编程小号
上一篇 2024-12-31 09:11
下一篇 2024-12-31 09:06

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ji-chu/97926.html