用Google Brain的機器學習項目:Magenta,教神經網絡學抖音小姐姐作曲。


先上我們要學習的小姐姐

的美照。。

一、配置環境

1、自己配置環境:python,tensorflow,bazel(編譯),java。然后下載magenta(https://github.com/tensorflow/magenta.git,進入magenta目錄)

2、docker集成環境:tensorflow/magenta(我這里用的集成環境,magenta已經下載,進入magenta目錄)

二、創建旋律數據庫

1、下載抖音視頻到本地,通過格式工廠轉換為MP3音頻文件

 

2、通過WIDI把MP3轉換為midi文件(magenta不能直接讀取mp3文件)

3、把MIDI文件轉化為Sequence文件

MIDI_DIRECTORY=/magenta-data 
SEQUENCES_TFRECORD=/magenta-data/notesequences.tfrecord

bazel run //magenta/scripts:convert_dir_to_note_sequences -- \
                --input_dir=$MIDI_DIRECTORY \
                --output_file=$SEQUENCES_TFRECORD \
                --recursive

4、從Sequence文件中提取旋律

# TFRecord file containing NoteSequence protocol buffers from convert_midi_dir_tt
o_note_sequences.py.
SEQUENCES_TFRECORD=/magenta-data/notesequences.tfrecord

# TFRecord file that TensorFlow's SequenceExample protos will be written to. Thii
s is the training dataset.
#TRAIN_DATA=/magenta-data/training_melodies.tfrecord

# Optional evaluation dataset. Also, a TFRecord file containing SequenceExample  
protos.
#EVAL_DATA=/magenta-data/eval_melodies.tfrecord

# Fraction of input data that will be written to the eval dataset (if eval_outpuu
t flag is set).
#EVAL_RATIO=0.10 

#ENCODER=melody_rnn_config_flags

bazel run //magenta/models/melody_rnn:melody_rnn_create_dataset -- \
--input=$SEQUENCES_TFRECORD \
--eval_ratio=0.10 \
--config=basic_rnn \
--output_dir=/magenta-data

生成的訓練文件就在/magenta-data/training_melodies.tfrecord里

三、訓練神經網絡模型

bazel run //magenta/models/melody_rnn:melody_rnn_train -- \
--config=basic_rnn \
--sequence_example_file=/magenta-data/training_melodies.tfrecord \
--run_dir=/tmp/melody_rnn/logdir/run1 \
--eval=false \
--num_training_steps=1000

四、生成旋律

bazel run //magenta/models/melody_rnn:melody_rnn_generate -- \
--config=basic_rnn \
--run_dir=/tmp/melody_rnn/logdir/run1 \
--output_dir=/tmp/melody_rnn/generated \
--num_outputs=10 \
--num_steps=128 \
--primer_melody="[60]" \
--primer_midi=/magenta-data/baga01.mid

五、用MIDI MP3 Converter將MIDI文件轉化成MP3文件

腳本和音樂:

http://vote.yangtzeu.edu.cn/gitlab/Vito-Yan/magenta-bxq1012/tree/master/music

。。。。。

有沒有很難聽。。。?!可能跟訓練數據集太少,訓練循環次數太少,音樂格式轉換失真等諸多因素有關。。。

 唱許巍的女歌手很少,感覺對了,人就對了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM