標籤:

深度學習小實驗3:AI作曲家(待更新)

大寫的注意:這篇文章是半年前寫的,RussellCloud已經更新很多個版本了,所以在更新這篇教程之前請勿按文中描述操作。

之前看到Google的項目Magenta,用於研究自動生成音樂、繪畫或視頻,還是挺炫酷的,然後在github上找到了一個基於Theano的輕量級例子:biaxial-rnn-music-composition,在這個基礎之上改成TensorFlow的實例,邏輯基本一樣。

本文原理和前面的詩詞生成差不多,都是RNN,因此就不講太多原理了,直接上試驗。

第一步:在官網創建項目

點擊 項目創建頁 創建名為music_artist項目,默認環境不變。

分為下面兩個部分:

1. 數據集獲取

2. 訓練音樂生成模型

數據集獲取

數據集來源:freemidi.org

我在這次實例中使用了183首搖滾樂,希望能夠訓練出一首新的搖滾樂,於是我寫了個爬蟲爬取freemidi.org,爬蟲默認會爬取該站所有搖滾樂,大概10000首左右。爬蟲沒有寫成隊列下載的樣子所以比較慢,順便也扔到RussellCloud上運行了,這樣剛好把下載的歌曲作為數據集保存下來。

項目準備:

#clone代碼ngit clone https://github.com/RussellCloud/music_artistnn#打開文件夾ncd music_artistnn#創建項目(RussellCloud安裝見前面的實驗)nrussell init --name music_artistn

獲取數據集:

實驗可跳過這個步驟,直接使用我爬取的數據集:6e38ca5dc759415488eae5ddb41c4893

#運行爬蟲(挑一個python2環境下運行)nrussell run "python crawler.py" --env tensorflow:py2nn#查看日誌nrussell logs <run_id>nn#大概兩個小時左右下載完畢(10000多首音樂)nn#查看輸出數據集ID,output_id 即 data_idnrussell info <run_id>n

模型訓練

#運行訓練模型(data_id可替換)nrussell run "python music_generator.py" --data 6e38ca5dc759415488eae5ddb41c4893:data --env tensorflow:py2n

下面是自動生成的音樂:

auto_gen_music.mid

好吧,我承認,這個結果很失敗(哭臉

推薦閱讀:

人工嗅覺的圖靈測試已誕生,如何精準再現氣味
谷歌人工智慧把全世界都變成了眼睛和狗
Build 2017 首日匯總:一系列全新工具、智能雲、應用程序更加人性化
目前國內的語音識別技術是什麼水準?
人工智慧想要真正誕生智慧最可能的路徑會是怎樣的?在怎樣的問題上有突破能極大地助力於人工智慧的發展?

TAG:人工智能 |