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

一、引入

主要思路如下:

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

1.春联

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

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

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

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

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

2.虎年来历

虎在十二生肖中位居第三,在十二地支配属“寅”,故一天十二时辰中之“寅时”清晨三点至五点又称“虎时”。
在远古时候,属相中有狮子,没有老虎。由于狮子太凶残,名声不好,主管封属相的玉皇大帝想把狮子除名,但是又必须补进一位镇管山林的动物。这时,玉帝想到殿前的虎卫士。

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

在狮子的恶名传来天宫后,玉帝便决定除去狮子的属相头衔,补进了兽王虎。从此,虎成为了属相,狮子则被贬到遥远的南方去了。当然,老虎也从玉帝的殿前卫士下凡间,永保下界安宁。今天也还有虎符、虎环、虎雕等除灾免祸的镇邪物。在农村,不少人家也喜欢给孩子戴虎头帽、穿虎头鞋,这是图个趋吉避邪,吉祥平安。
凌晨3-5时(即“寅时”)。据古书载。这时候,老虎是最活跃、最凶猛、伤人最多,因此寅时同虎搭配。

3.一键对联生成的示例

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

对联输入:

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

对联输出:

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

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 hubmodule = 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 workingfrom 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 workingfrom 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 workingfrom collections import SizedDownload 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%|██████████| 392507/392507 [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.683709   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.688863   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.0PITCH: 1.0ENERGY: 1.0SAVEPATH: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相关推荐

  1. 2011年兔年新年贺词大全/2011年兔年贺词/2011年新年公司贺词

    2011年兔年新年贺词大全/2011年兔年贺词/2011年新年公司贺词 2010/10/23 12:13 2010春节新年短信祝福语 祝大家新年快乐,万事如意! 新年短信祝福:祝您在新的一年里,开劳斯 ...

  2. 2010春节新年短信祝福语 祝大家新年快乐,万事如意!

    新年短信祝福:虎年有虎来守护,祝您全家都幸福.虎背驮来福寿禄,虎嘴衔来金满屋.虎腿迈着青云步,虎头顶着好仕途.虎爪劈开生财路,虎尾展开大鸿图. 新年短信祝福:思念是归乡的船,牵挂是扬起的帆,收获是走过 ...

  3. 康华医疗旗下康华医院道歉:生命不该用钱衡量,还曾是中植系

    "虎虎生威迎新年,手术室里全是钱!" 近日,一张来自与东莞康华医院有关的图片在网络流传.图片中落款为"2022康华医院手术室总结大会"的横幅引人瞩目,并引发网友 ...

  4. 2022年京东春节有活动吗?春节期间京东有什么活动?

    2022年京东春节有活动吗?春节期间京东有什么活动? 京东快递因为时间快且送货上门,可以说是时下大家买东西的首选,这不马上就春节了,很多要去走亲访友的朋友都好奇京东2022年春节有活动吗,下面小编赵一 ...

  5. 已有一万名快手用户集齐好运卡获得六六六早鸟红包,还可再分一亿

    "谁要来沾幸运的吗!我已经集齐了!" "天呐,马上就要到一万人!谁能让我沾一沾幸运!" 伴随着超话里网友们热火朝天的讨论,快手「集好运中国福」活动也终于迎来了第 ...

  6. 我用js写了一个,除夕烟花秀和春节随机祝福语

    项目截图 进入后的界面 点击按钮 点击之后的动画 烟花结束后的界面 代码实现 涉及的技术:HTML5多媒体,CSS定位,动画,js面向对象,Jquery动画.事件 首先来看HTML代码 <!DO ...

  7. 虎年,用Python画一个小老虎,祝大家新年虎虎生威,大吉大利

    虎年到了,祝大家新年快乐!虎虎生威!大吉大利! 前几天有朋友问我,听说学习了Python,万物皆可爬,还可以画画,今年是虎年,可不可以画一只可爱的小脑虎呀- 当然可以的呀 我们先在百度图片里下载一张虎 ...

  8. 代码画年兽,虎年祝大家虎虎生威

    代码画年兽,不依赖图片,纯CSS33代码教会你画可爱的小老虎,可以动起来的小老虎: 实现效果: HTML代码: <!--* @Author: --> <!DOCTYPE html&g ...

  9. 我们祝你虎虎生威! 百条春节短信奉送

    泡泡网 手机 频道2月13日 欢歌笑语迎新春,今天就是大年三十了.在此,小编祝福各位读者虎年,身体健康.事业有成.财 源滚滚,我们的祖国欣欣向荣,昌盛富强虎虎生威.祝福过后,小编也不绕弯子了.在春节这 ...

最新文章

  1. 破解简单的Android签名检查
  2. java: command not found_/bin/bash: java: command not found 问题解决
  3. [luogu4389]付公主的背包
  4. telnet/ftp/netstat/ping命令詳細介紹
  5. 创建一个Java :: Geci生成器
  6. (进阶)LeetCode(9)——回文数(JavaScript)
  7. Java程序员必读——领悟Java编程思想
  8. 2017年美国大学生数学建模竞赛F题优秀论文解读
  9. 各地区工业化学需氧量排放量(1992-2017年)
  10. 免费预约!百度全面开放北京地区自动驾驶出租车服务
  11. 量化交易策略研发的三个层次
  12. 利用msf 对靶机metasploittable2 进行信息收集
  13. 初识云计算————云计算概念
  14. k8s - Service ExternalName
  15. AngularJS 控制器中处理DOM事件
  16. uni-app swiper实现公告栏上下循环滚动(整理)
  17. 项目4.1 -- 广义表的原子统计
  18. 人工智能未来前景怎么样 初学者能学python人工智能吗
  19. 红帽 rhcs 组件实现 nginx 高可用负载均衡
  20. 几款简约而且华丽丽的桌面应用

热门文章

  1. 迈克尔逊干涉仪仿真程序_如何使用迈克尔逊编程语言在Tezos上编写智能合约
  2. 苹果电脑怎么连接有线网络?
  3. 船舶电子电气工程专业出来的交响_科普下船舶电子电气工程专业属于工学类吗...
  4. python科赫曲线的代码_python – 实现Koch曲线?
  5. <POSTGRESQL修炼之道:从小工到专家>之PostgreSQL中执行计划(1-3结)
  6. 本地项目上传到git
  7. ACM_总论_杂文_测试你的智力有多高
  8. 14.K8S+KubeSphere+DevOps
  9. java的arraylist_Java ArrayList排序的3种方法
  10. 如何查询期刊名称的英文缩写