Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/itsbrex/dance-structure
https://github.com/itsbrex/dance-structure
Last synced: 9 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/itsbrex/dance-structure
- Owner: itsbrex
- License: other
- Created: 2023-04-19T20:58:59.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-02-20T19:42:38.000Z (9 months ago)
- Last Synced: 2024-02-20T21:56:49.034Z (9 months ago)
- Language: JavaScript
- Size: 19.5 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Dance Structure CLI Tool
> 💡 This project was forked from the [Song Structure](https://github.com/doesdev/song-structure) project by [doesdev](https://github.com/doesdev).
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.
## Included Files
- `index.js`: This is the core file that contains the logic for generating the song structure. It exports a `suggestedStructure` function that takes in the desired song parts, total beats, and beats per measure, and outputs a suggested structure. It also exports a `partsDefinition` object 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 `prompts` library to ask the user for input, calls the `suggestedStructure` function from `index.js` to generate the song structure, and prints the results to the console.
## Usage
1. Install the required dependencies:
- You will need to have Node.js installed on your machine.
2. Run the `cli.js` file in your terminal:
```shell
node cli.js
```3. When prompted, input your desired song duration (in either `mm:ss`, `mmm:ss`, or decimal minutes format), BPM, and beats per measure.
4. 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.
5. Once you're done selecting parts, choose `(done)` to complete the process.
6. 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.
## License
MIT