Generate short video game music, automatically, endlessly. It is powered by machine learning with Magenta.js

Source code and demo page are available at https://github.com/abagames/short-vgm-generator

If you want to use the generated music in your game, consider using this tool as well: https://github.com/abagames/good-old-game-sound-generator

HOW TO PLAY

Press the 'Generate' button. (For the first time, please wait until the initialization of the model for generation is finished.) It will generate countless pieces of music.

INSTRUCTIONS

[Generate]

Generate new music based on the music on the left of the screen. The generated music will be displayed on the right of the screen.

[Copy]

Copy the generated music and use it as the basis for the next music to be generated.

[Temperature][Repeat Count]

The larger the number, the more random the music will be generated.

[Correcting for dissonance]

Correct dissonance to consonance.

[Select music]

Select the music that will be the source of the generation.

[Load]

Load the data for the music in the 'state' text box. The 'state' text represents the current music information. Paste this text into the 'state' text box and press the 'load' button to load the music.

[Play][Stop]

Play/Stop music. Music is described in MML (Music Macro Language)

StatusReleased
CategoryTool
PlatformsHTML5
Rating
Rated 5.0 out of 5 stars
(4)
AuthorABA Games
TagsMusic Production, Procedural Generation, Retro

Comments

Log in with itch.io to leave a comment.

(2 edits)

This program churns out catchy riffs. I don't know if I'm seeing all the program's buttons in Vivaldi, but I was able to quickly make a tune with this program. I only had to write the bass and drum parts. 

["l2o3>dc<ba4g4","l4o5r8.d8ag<b4.b8>agg8.","l2o3g+g+g+2.g+4","l4o5r16d+16r16g+d+<g+4.r8g+8>d+d+d+8.",1,0,true]

["l2o3ra1a","l8o4r16g>d<g>e<a>e<a>e<aaaaaaaa16","l8o4r4a1","l8o4r16a>e<a>e<a>e<a>e<a>d<a>d<a>d<a>d16",0,1,true]

["l8o4d2d4d2defedc","l16o5r<ar>drd8<gr>d8dr<ar4gr>>dr<brb8br>dr<<g","l2o3g+g+g+2.g+4","l4o5r16d+16r16g+d+<g+4.r8g+8>d+d+d+8.",2,0,true]

["l8o3rfe>f<g2gd>g<f2","l8o4r16fbeggggggag>c<f>c<f>c16","l8o4r4a1","l8o4r16a>e<a>e<a>e<a>e<a>d<a>d<a>d<a>d16",1,1,true]

(+1)

Very cool and interesting tool. i think part of the UI is cut off in my browser, even when i zoom in or out. the lowest thing i can see is the Repeat Count, which only shows up to 3.