AITUS - An atomatic notr maker for CYTUS

Related tags

Deep LearningAITUS
Overview

AITUS

an automatic note maker for CYTUS.

利用AI根据指定乐曲生成CYTUS游戏谱面。

效果展示:https://www.bilibili.com/video/BV1Lf4y1F7aq

这只是作者的一个初次尝试,欢迎感兴趣的小伙伴进行优化或提出新方法!

共享链接

下面的3、4部分介绍了AITUS的使用方法,比较繁琐,且需要安装许多软件。鉴于此,作者在这里设置了一个共享链接,用于分享AITUS创作的游戏谱面。

链接:https://pan.baidu.com/s/1dGaLOuBKdeXBRZt1NuP9WA?pwd=aicy 提取码:aicy

您可以私信给作者您想要创作谱面的乐曲,作者生成谱面后会上传到这个链接里。

前置准备

使用AITUS一共需要以下软件作为辅助:

  • 格式工厂(或其他音频文件格式转化软件)
  • MixMeister BPM Analyzer,用于获取乐曲bpm
  • Cylheim,CYTUS游戏谱面制作器
  • Python3
  • PyTorch2

使用说明

【step 1】

将乐曲转为wav格式。

【step 2】

使用软件【MixMeister BPM Analyzer】测量乐曲的bpm。

【step 3】

使用【Cylheim】创建空谱面,创建空谱面时需要导入乐曲、bpm等信息。创建好的谱面是一个json文件。该json文件的命名应与乐曲文件的命名相同。

【step 4】

将创建好的谱面json文件、乐曲wav文件、model下的四个pt文件、code下的【NoteMake.py】放在同一目录下,并修改【NoteMake.py】中如下图所示的乐曲信息:

image-20220119105537401

然后运行NoteMake.py,约5-10分钟后运行结束,得到生成的json谱面文件(命名与乐曲命名相同)。

【step 5】

用生成的json去替换原【Cylheim】项目下的json文件,然后打开【Cylheim】项目即可看见和演示生成的谱面。

原理简介

训练数据来自CYTUS

训练所用的乐曲和谱面信息来自CYTUS。

从音乐到图像

为了利用CNN,将读入的一段乐曲信号按顺序转化为若干80×80的图片,并根据谱面文件的信息给每张图打tag。

分工训练

为了生成游戏谱面,一共训练了四个模型:

ExistModel:判断一张图是否有key。

PosModel:如果一张图中有key,判断这个key的横坐标。

TypeModel:如果一张图中有key,判断这个key的类型(由于CYTUS1代只有click、hold、chain三种类型的key,因此AITUS目前也只考虑了这三种类型)。

TimeModel:如果一张图中对应的key是hold,判断这个hold的持续的时间。

一些调整

生成的谱面谱面并不那么如意,因此在【NoteMake.py】中还对模型的输出结果做了调整(详情请见代码)。

Owner
GradiusTwinbee
GradiusTwinbee
A self-supervised learning framework for audio-visual speech

AV-HuBERT (Audio-Visual Hidden Unit BERT) Learning Audio-Visual Speech Representation by Masked Multimodal Cluster Prediction Robust Self-Supervised A

Meta Research 431 Jan 07, 2023
It's final year project of Diploma Engineering. This project is based on Computer Vision.

Face-Recognition-Based-Attendance-System It's final year project of Diploma Engineering. This project is based on Computer Vision. Brief idea about ou

Neel 10 Nov 02, 2022
A real-time speech emotion recognition application using Scikit-learn and gradio

Speech-Emotion-Recognition-App A real-time speech emotion recognition application using Scikit-learn and gradio. Requirements librosa==0.6.3 numpy sou

Son Tran 6 Oct 04, 2022
An Unsupervised Graph-based Toolbox for Fraud Detection

An Unsupervised Graph-based Toolbox for Fraud Detection Introduction: UGFraud is an unsupervised graph-based fraud detection toolbox that integrates s

SafeGraph 99 Dec 11, 2022
Code for testing various M1 Chip benchmarks with TensorFlow.

M1, M1 Pro, M1 Max Machine Learning Speed Test Comparison This repo contains some sample code to benchmark the new M1 MacBooks (M1 Pro and M1 Max) aga

Daniel Bourke 348 Jan 04, 2023
Starter Code for VALUE benchmark

StarterCode for VALUE Benchmark This is the starter code for VALUE Benchmark [website], [paper]. This repository currently supports all baseline model

VALUE Benchmark 73 Dec 09, 2022
HashNeRF-pytorch - Pure PyTorch Implementation of NVIDIA paper on Instant Training of Neural Graphics primitives

HashNeRF-pytorch Instant-NGP recently introduced a Multi-resolution Hash Encodin

Yash Sanjay Bhalgat 616 Jan 06, 2023
A Semantic Segmentation Network for Urban-Scale Building Footprint Extraction Using RGB Satellite Imagery

A Semantic Segmentation Network for Urban-Scale Building Footprint Extraction Using RGB Satellite Imagery This repository is the official implementati

Aatif Jiwani 42 Dec 08, 2022
Distributionally robust neural networks for group shifts

Distributionally Robust Neural Networks for Group Shifts: On the Importance of Regularization for Worst-Case Generalization This code implements the g

151 Dec 25, 2022
Video2x - A lossless video/GIF/image upscaler achieved with waifu2x, Anime4K, SRMD and RealSR.

Official Discussion Group (Telegram): https://t.me/video2x A Discord server is also available. Please note that most developers are only on Telegram.

K4YT3X 5.9k Dec 31, 2022
Automatic Number Plate Recognition using Contours and Convolution Neural Networks (CNN)

Cite our paper if you find this project useful https://www.ijariit.com/manuscripts/v7i4/V7I4-1139.pdf Abstract Image processing technology is used in

Adithya M 2 Jun 28, 2022
Examples of using f2py to get high-speed Fortran integrated with Python easily

f2py Examples Simple examples of using f2py to get high-speed Fortran integrated with Python easily. These examples are also useful to troubleshoot pr

Michael 35 Aug 21, 2022
Motion planning environment for Sampling-based Planners

Sampling-Based Motion Planners' Testing Environment Sampling-based motion planners' testing environment (sbp-env) is a full feature framework to quick

Soraxas 23 Aug 23, 2022
Deep Learning pipeline for motor-imagery classification.

BCI-ToolBox 1. Introduction BCI-ToolBox is deep learning pipeline for motor-imagery classification. This repo contains five models: ShallowConvNet, De

DongHee 18 Oct 31, 2022
PyArmadillo: an alternative approach to linear algebra in Python

PyArmadillo is a linear algebra library for the Python language, with an emphasis on ease of use.

Terry Zhuo 58 Oct 11, 2022
MTA:SA Server Configer.

MTAConfiger MTA:SA Server Configer. Hi 👋 , I'm Alireza A Python Developer Boy 🔭 I’m currently working on my C# projects 🌱 I’m currently Learning CS

3 Jun 07, 2022
Learning Continuous Signed Distance Functions for Shape Representation

DeepSDF This is an implementation of the CVPR '19 paper "DeepSDF: Learning Continuous Signed Distance Functions for Shape Representation" by Park et a

Meta Research 1.1k Jan 01, 2023
Out-of-distribution detection using the pNML regret. NeurIPS2021

OOD Detection Load conda environment conda env create -f environment.yml or install requirements: while read requirement; do conda install --yes $requ

Koby Bibas 23 Dec 02, 2022
A lane detection integrated Real-time Instance Segmentation based on YOLACT (You Only Look At CoefficienTs)

Real-time Instance Segmentation and Lane Detection This is a lane detection integrated Real-time Instance Segmentation based on YOLACT (You Only Look

Jin 4 Dec 30, 2022
Portfolio analytics for quants, written in Python

QuantStats: Portfolio analytics for quants QuantStats Python library that performs portfolio profiling, allowing quants and portfolio managers to unde

Ran Aroussi 2.7k Jan 08, 2023