先上我们要学习的小姐姐
的美照。。
一、配置环境
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
。。。。。
有没有很难听。。。?!可能跟训练数据集太少,训练循环次数太少,音乐格式转换失真等诸多因素有关。。。
唱许巍的女歌手很少,感觉对了,人就对了。
转载于:https://www.cnblogs.com/Vito-Yan/p/9032789.html