当前所在位置: 首页 > 生活常识 > 正文

写歌词软件有哪些(歌词制作软件app)

2023-01-18 canyinms.com 【 字体:

写歌词软件有哪些,歌词制作软件app。小编来告诉你更多相关信息。

写歌词软件有哪些(歌词制作软件app)写歌词软件有哪些(歌词制作软件app)

作者 | 李秋键 责编 | Carol

出品 | AI科技大本营(ID:rgznai100)

自然语言处理作为人工智能的一个重要分支,在我们的生活中得到了广泛应用。其中RNN算法作为自然语言处理的经典算法之一,是文本生成的重要手段。而今天我们就将利用RNN算法建立一个写歌词的软件。其中的界面如下:

写歌词软件有哪些(歌词制作软件app)

RNN指的是循环神经网络,Recurrent Neural Network。不同于前馈神经网络的是,RNN可以利用它内部的记忆来处理任意时序的输入序列,这让它可以更容易处理如不分段的手写识别、语音识别等。

RNN模型有比较多的变种,这里介绍最主流的RNN模型结构如下:

写歌词软件有哪些(歌词制作软件app)

上图中左边是RNN模型没有按时间展开的图,如果按时间序列展开,则是上图中的右边部分。我们重点观察右边部分的图。

这幅图描述了在序列索引号tt附近RNN的模型。其中:

x(t)x(t)代表在序列索引号tt时训练样本的输入。同样的,x(t?1)x(t?1)和x(t+1)x(t+1)代表在序列索引号t?1t?1和t+1t+1时训练样本的输入。

h(t)h(t)代表在序列索引号tt时模型的隐藏状态。h(t)h(t)由x(t)x(t)和h(t?1)h(t?1)共同决定。

o(t)o(t)代表在序列索引号tt时模型的输出。o(t)o(t)只由模型当前的隐藏状态h(t)h(t)决定。

L(t)L(t)代表在序列索引号tt时模型的损失函数。

y(t)y(t)代表在序列索引号tt时训练样本序列的真实输出。

U,W,VU,W,V这三个矩阵是我们的模型的线性关系参数,它在整个RNN网络中是共享的,这点和DNN很不相同。也正因为是共享了,它体现了RNN的模型的“循环反馈”的思想。

基于以上认知,我们开始搭建我们的软件。

写歌词软件有哪些(歌词制作软件app)

实验前的准备

首先我们使用的python版本是3.6.5所用到的库有TensorFlow,是用来训练和加载神经网络常见的框架,常常用于数值计算的开源软件库。节点表示数学操作,线则表示在节点间相互联系的多维数据数组,即张量(tensor);tkinter用来绘制GUI界面的库;

Pillow库在此项目中用来处理图片和字体等问题。因为我们的软件不是空白背景的。需要借助Image函数添加背景。

写歌词软件有哪些(歌词制作软件app)

RNN算法搭建

1、数据集处理和准备:

我们训练的数据集使用各种歌手的歌词本作为训练集。其中数据集放在date.txt里,其中部分数据集如下:

写歌词软件有哪些(歌词制作软件app)

2、模型的训练:

模型训练的代码直接运行train.py即可训练。其中流程如下:

首先要读取数据集 设定训练批次、步数等等

数据载入RNN进行训练即可

其中代码如下:

def train:

filename = \'date.txt\'

with open(filename, \'r\', encoding=\'utf-8\') as f:

text = f.read

reader = TxtReader(text=text, maxVocab=3500)

reader.save(\'voc.data\')

array = reader.text2array(text)

generator = GetBatch(array, n_seqs=100, n_steps=100)

model = CharRNN(

numClasses = reader.vocabLen,

mode =\'train\',

numSeqs = 100,

numSteps = 100,

lstmSize = 128,

numLayers = 2,

lr = 0.001,

Trainprob = 0.5,

useEmbedding = True,

numEmbedding = 128

model.train(

generator,

logStep = 10,

saveStep = 1000,

maxStep = 100000

3、RNN网络搭建:

RNN算法的搭建,我们定义整个神经网络类,然后分别定义初始化、输入、神经元定义等函数。损失函数和优化器使用均方差和AdamOptimizer优化器即可。

部分代码如下: 4、歌词的生成:

设置关键词变量,读取模型文件,输出结果即可。

代码如下:

def main(_):

reader = TxtReader(filename=\'voc.data\')

model = CharRNN(

numClasses = reader.vocabLen,

mode = \'test\',

lstmSize = 128,

numLayers = 2,

useEmbedding = True,

numEmbedding = 128

checkpoint = tf.train.latest_checkpoint(\'./models/\')

model.load(checkpoint)

key=\"雪花\"

prime = reader.text2array(key)

array = model.test(prime, size=reader.vocabLen, n_samples=300)

print(\"《\"+key+\"》\")

print(reader.array2text(array))

写歌词软件有哪些(歌词制作软件app)

界面的定义和调用

界面中我们的布局是文本框、编辑框和按钮控件。程序的调用使用批处理文件调用以达到显示运行过程的效果。因为如果没有运行过程,难免会导致用户不清楚程序流程而强制运行容易导致卡死的情况。

其中Bat里直接写入:

python song.py

其中过程效果如下:

写歌词软件有哪些(歌词制作软件app)

1、界面布局:

界面布局使用canvas画布以达到添加背景图片的效果。背景图片设置为1.jpg,按钮背景图片设置为3.jpg。图片也可以自己更换掉。然后文本框作为提示的效果,分别定义字体,大小等等即可

代码如下:

2、功能调用:

我们使用按钮中的command参数调用已设置好的函数即可。其中函数部分我们通过生成文本和删除文本的方式读入数据和写入数据。为了防止数据重叠故在要时刻监测重复软件。定义的函数内容如下:

def song:

ss=entry.get

f=open(\"1.txt\",\"w\")

f.write(ss)

f.close

os.startfile(\"1.bat\")

while True:

if os.path.exists(\"2.txt\"):

f=open(\"2.txt\")

ws=f.read

f.close

entry1.insert(\"0.0\", ws)

break

try:

os.remove(\"1.txt\")

os.remove(\"2.txt\")

except:

pass

3、GUI代码: 整个GUI界面代码如下:

到这里,我们整体的程序就搭建完成,下面为我们程序的运行过程和结果:

写歌词软件有哪些(歌词制作软件app)写歌词软件有哪些(歌词制作软件app)

源码地址:

链接:https://pan.baidu.com/s/1EJsHIXbKUmRG-MdHcqkdFg

提取码:iz5m 作者简介 :

李秋键,CSDN 博客专家,CSDN达人课作者。硕士在读于中国矿业大学,开发有taptap安卓武侠游戏一部,vip视频解析,文意转换工具,写作机器人等项目,发表论文若干,多次高数竞赛获奖等等。

写歌词软件有哪些(歌词制作软件app)

AI修复100年前晚清影像喜提热搜,这两大算法立功了

CycleGan人脸转为漫画脸,牛掰的知识又增加了 | 附代码

一次对语音技术的彻底批判

用大白话彻底搞懂 HBase RowKey 详细设计

为什么黑客无法攻击公开的区块链?

再见 Python,Hello Julia!

百万人学AI 万人在线大会, 15+场直播抢先看!

阅读全文
相关推荐

如何自制蛋挞

如何自制蛋挞
1、倒入低筋面、黄油和水,揉成面团状,藏一小时后取出,抹上黄油卷起,包上保鲜膜冷藏半小时。2、取出,将面团切成一厘米的面团,放入模具内,用力按压,中间稍薄,外缘要比模具高,将蛋挞液倒入蛋挞皮中,放入烤箱里烤30分钟即可。

肉火烧面怎么和面

肉火烧面怎么和面
1、首先用温水把酵母融开,加入面粉,用手把面粉揉成非常软的面团,可以放一点熬好的猪油在面团里面。2、然后放在温暖的地方,盖上保鲜膜发酵至2倍大,发好的面团用手插入不回缩,就说明面团发酵好了。

奶茶几分糖好喝

奶茶几分糖好喝
1、不同的人对奶茶的口感要求是不一样的,一般来说,奶茶有三分糖、五分糖、七分糖三种不同的口味。2、女生一般都喜欢喝甜一点的,而男生则喜欢喝不那么甜的,七分糖的奶茶最好喝。

过桥米线是哪里的?

过桥米线是哪里的?
过桥米线是来自云南省滇南地区的一种有名特色小吃。过桥米线最早是在清朝就已经出现,距离现在至少有一百多年的历史啦!起源于建水县东城外锁龙桥西侧的鸡市街头处,有建水的特产草芽、地椒作配料,风味独特而远近闻名。深受广大美食爱好者的喜欢,不少人为此专门长途跋涉,只为尝

面霜和乳液的区别

面霜和乳液的区别
面霜和乳液的区别,相较而言乳液的水分含量要比面霜高,乳液质地要轻薄一些,乳液主要作用是保湿,滋润可以隔离外界干燥的气候,面霜既可保湿,又可美白,还能抗衰老,乳液的吸收快一些,而面霜吸收比较慢一些,因为液体的吸收速度都比较快。

怎么摘隐形眼镜

怎么摘隐形眼镜
在摘隐形眼镜之前,先用洗手液将手清洗干净,以免将细菌带入眼睛内,对着镜子,用右手中指轻拉眼睛下眼睑,左手中指轻拉眼睛上眼睑,让黑色眼球暴露在空气中,用右手食指和拇指轻触镜片的两边缘部分,向中间推使镜片拱起,再用两手指轻轻捏出镜片即可。

粉饼和散粉的区别

粉饼和散粉的区别
粉饼是呈压缩固体状态,多呈圆形或者方形,散粉则是细腻的粉末状,粉饼遮瑕力会比较强一些,可以湿用做粉底,或者用来补妆,而散粉则是定妆的效果,粉饼通常用在底妆的第一步,而散粉通常用在底妆最后一步。

冷烫和热烫的区别

冷烫和热烫的区别
冷烫和热烫的区别:冷烫对头发的要求是要在保温状态下才能给卷有个好的效果,而热烫是在干和湿的情况下都行,热烫烫出来的头发比较自然明显而有弹力,冷烫的头发风干后基本看不出来,并且发质会有点干。

高品质香水如何鉴别?用三步就可以解决

高品质香水如何鉴别?用三步就可以解决
1、看色泽以天然香料调制而成的高级香水,都有它本来的颜色,且大都是琥珀色或褐色,看起来很像宝石,比如,从茉莉、玫瑰或水仙等天然鲜花中所萃取的精油都呈黄色、褐白或绿褐色;此外,香水中所添加的魅惑香气物性香料也是褐色,苔类中的橡树苔是绿色,从树根或树根脂类中萃取的

如何去除黑眼圈

如何去除黑眼圈
去除黑眼圈首先可以用热毛巾敷眼,然后再用冷毛巾敷,十分钟就能让黑眼圈淡化的不那么严重,其次将去壳后的鸡蛋用无菌纱布包裹住,敷于眼部轻轻转动,可以急救去除黑眼圈,另外抹完眼霜后,用双手顺时针按摩,可以促进血液循环消除黑眼圈。
本文Tag