写了个用tensorflow深度学习的osu自动做图器

(Ar3sgice) #1

先发到这里,再测试一下发到论坛和主吧去(……话说现在的人还用贴吧吗,好久不去了)

repo: https://github.com/kotritrona/osumapper

需求:
python3 (我用的是3.5)
tensorflow v1.9.0~1.10.0
node.js v8+
ffmpeg

package:
pip install soundfile
npm install polynomial
↑ 这个是算滑条的曲线用的

使用方法:
先把用来学习的图整理出来,osu文件的路径写到一个maplist.txt文件
然后下载程序

  1. 运行01_osumap_loader.ipynb
  2. 运行02_osurhythm_estimator.ipynb
  3. 运行03_osurhythm_momentum_estimator.ipynb
  4. 给需要做的图做好timing
  5. 运行05_newsong_importer.ipynb (这里面的代码里要填一下需要做的图的路径)
  6. 运行06_osurhythm_evaluator.ipynb
  7. 运行07_osuflow_evaluator_from_rhythm.ipynb

里面内置了训练好的模型,可以直接从第5步开始做图

原理:

  1. 用CNN/LSTM建模,输入音乐和timing信息,计算每个1/4拍的位置上note的存在感,circle的存在感,以及滑条的存在感
  2. 用上面同样的模型,学习每个note的间距
  3. 本来还有个用来学习滑条形状的模型,但是因为没想好怎么给滑条分类,所以用的随机的
  4. 然后给新的图预测存在感和跳跃距离
  5. 用GAN参考已知的图包生成符合上面计算出来的间距的note排列,输出每个note的起点,终点和位于终点的单位方向向量
  6. 把数据用node转换成osu map
1赞
(腊鸭) #2

:024_: 社个星

#3

好 我也射了
有没有生成出来的样品供参考啊

(Ar3sgice) #4

做了一个 https://osu.ppy.sh/beatmapsets/834264

:125_:

(嘛花) #5

射星了

(假熊猫) #6

还是大号厉害啊,我毕业前没事也想到做这个,后来作罢……