歌詞制作軟件app 寫歌詞軟件有哪些

寫歌詞軟件有哪些,歌詞制作軟件app 。小編來告訴你更多相關信息 。

歌詞制作軟件app 寫歌詞軟件有哪些

文章插圖
歌詞制作軟件app 寫歌詞軟件有哪些

文章插圖
歌詞制作軟件app 寫歌詞軟件有哪些

文章插圖
歌詞制作軟件app 寫歌詞軟件有哪些

文章插圖
作者 | 李秋鍵 責編 | Carol
出品 | AI科技大本營(ID:rgznai100)
自然語言處理作為人工智能的一個重要分支 , 在我們的生活中得到了廣泛應用 。其中RNN算法作為自然語言處理的經典算法之一 , 是文本生成的重要手段 。而今天我們就將利用RNN算法建立一個寫歌詞的軟件 。其中的界面如下:
歌詞制作軟件app 寫歌詞軟件有哪些

文章插圖
歌詞制作軟件app 寫歌詞軟件有哪些

文章插圖
RNN指的是循環神經網絡 , Recurrent Neural Network 。不同于前饋神經網絡的是 , RNN可以利用它內部的記憶來處理任意時序的輸入序列 , 這讓它可以更容易處理如不分段的手寫識別、語音識別等 。
RNN模型有比較多的變種 , 這里介紹最主流的RNN模型結構如下:
歌詞制作軟件app 寫歌詞軟件有哪些

文章插圖
歌詞制作軟件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 寫歌詞軟件有哪些

文章插圖
歌詞制作軟件app 寫歌詞軟件有哪些

文章插圖
實驗前的準備首先我們使用的python版本是3.6.5所用到的庫有TensorFlow , 是用來訓練和加載神經網絡常見的框架 , 常常用于數值計算的開源軟件庫 。節點表示數學操作 , 線則表示在節點間相互聯系的多維數據數組 , 即張量(tensor);tkinter用來繪制GUI界面的庫;
Pillow庫在此項目中用來處理圖片和字體等問題 。因為我們的軟件不是空白背景的 。需要借助Image函數添加背景 。
歌詞制作軟件app 寫歌詞軟件有哪些

文章插圖
歌詞制作軟件app 寫歌詞軟件有哪些

文章插圖
RNN算法搭建1、數據集處理和準備:我們訓練的數據集使用各種歌手的歌詞本作為訓練集 。其中數據集放在date.txt里 , 其中部分數據集如下:
歌詞制作軟件app 寫歌詞軟件有哪些

文章插圖
歌詞制作軟件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(

推薦閱讀