深度學習小實驗3:AI作曲家(待更新)
大寫的注意:這篇文章是半年前寫的,RussellCloud已經更新很多個版本了,所以在更新這篇教程之前請勿按文中描述操作。
之前看到Google的項目Magenta,用於研究自動生成音樂、繪畫或視頻,還是挺炫酷的,然後在github上找到了一個基於Theano的輕量級例子:biaxial-rnn-music-composition,在這個基礎之上改成TensorFlow的實例,邏輯基本一樣。
本文原理和前面的詩詞生成差不多,都是RNN,因此就不講太多原理了,直接上試驗。
第一步:在官網創建項目
點擊 項目創建頁 創建名為music_artist
項目,默認環境不變。
分為下面兩個部分:
1. 數據集獲取
2. 訓練音樂生成模型
數據集獲取
數據集來源:http://freemidi.org
我在這次實例中使用了183首搖滾樂,希望能夠訓練出一首新的搖滾樂,於是我寫了個爬蟲爬取http://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:人工智能 |