This tool builds off doesdev's song structure tool adding new weights for calculating sections, new section parts, cleaned up CLI output, and various other improvements.
The Dance Structure CLI tool is a command-line tool for electronic music producers that allows you to quickly and easily generate a suggested song structure. By inputting your desired song duration, BPM (beats per minute), and beats per measure, the tool will suggest a possible structure for your song, taking into account standard electronic music song structure elements such as intro, verse, build, drop, break, and outro.
This tool can help you experiment with different song structures and give you a starting point for your production. Whether you're a seasoned producer or just starting out, this tool can help spark your creativity and streamline your workflow.
index.js: This is the core file that contains the logic for generating the song structure. It exports a
suggestedStructurefunction that takes in the desired song parts, total beats, and beats per measure, and outputs a suggested structure. It also exports a
partsDefinitionobject that defines the different song parts and their attributes.
cli.js: This file contains the code for the command-line interface (CLI) of the tool. It uses the
promptslibrary to ask the user for input, calls the
index.jsto generate the song structure, and prints the results to the console.
Install the required dependencies:
- You will need to have Node.js installed on your machine.
cli.jsfile in your terminal:
When prompted, input your desired song duration (in either
mmm:ss, or decimal minutes format), BPM, and beats per measure.
The tool will then prompt you to select the different parts of your song structure. You can choose from Intro, Verse, Build, Drop, Break, and Outro. You can select as many parts as you like, and the tool will balance them based on their defined weights.
Once you're done selecting parts, choose '(done)' to complete the process.
The tool will print the suggested song structure to the console. Each line will include a part of the song, the suggested number of bars for that part, and the total beats for that part.
For more details and to access the source code, visit the Dance Structure CLI GitHub repository.