先上我们要学习的小姐姐
的美照。。
一、配置环境
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=
四、生成旋律
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= \
--num_steps= \
--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
。。。。。
有没有很难听。。。?!可能跟训练数据集太少,训练循环次数太少,音乐格式转换失真等诸多因素有关。。。
唱许巍的女歌手很少,感觉对了,人就对了。