diff --git a/README.md b/README.md index a797619..fab3e63 100644 --- a/README.md +++ b/README.md @@ -1,23 +1,72 @@ # DICE -## ML Model for Musical Pattern Generation in Max/MSP/Jitter + -**DICE** is a Max external that uses a custom-trained model to generate musical patterns based on real-time suggestions from the user. Built with a focus on ethical machine learning, DICE does not utilize any external music datasets, ensuring an original approach to music generation. +[Download Page](https://github.com/eilseq/Dice/releases) -## Overview +## Diffusion Network for MIDI Transformation -- **Dynamic Pattern Generation**: Adapts to the musician's input to create responsive musical patterns. -- **Ethical Data Use**: DICE is trained on a custom dataset designed specifically for this tool, avoiding the use of other musicians’ data. -- **Seamless Max/MSP and Max for Live Integration**: Developed as a Max external for use in Max/MSP patches and Max for Live devices, compatible with Mac OS. +**DICE** is a tool designed for advanced manipulation of musical patterns using a custom-trained machine learning model based on diffusion architectures. + +Rather than focusing on outright generation, DICE refines, transforms, and reinterprets existing patterns in real time while preserving the original musical features. + +Built specifically for the Max/MSP environment as a max external, and embedded into a MIDI Transformation Tool for Ableton, it enables seamless integration into both live performance and studio workflows. + +### Functionalities + +Focusing on a minimal user experience, the goal of this tool is to bridge the gap between deterministic pattern manipulation and stochastic processes, allowing for a controlled but flexible approach to reshaping musical materials while limiting any form of bias related to style and genre. + +- **Pattern Manipulation through Diffusion** + DICE employs a diffusion-based architecture to iteratively refine and reshape input patterns. This approach ensures that transformations retain musical coherence while introducing new structural possibilities. + +- **Real-Time Interaction** + Designed for Ableton users, DICE responds instantly to user adjustments, enabling dynamic manipulation of musical sequences within a Max patch. Parameters like `threshold`, `noiseLevel`, and `seed` provide granular control over the transformation process. + +- **Matrix-Based Input** + The system operates on a 16x16 matrix input, allowing users to define initial states that DICE can then expand upon, invert, or alter based on diffusion steps and user-defined parameters. + +- **Integration with Max/MSP and Max for Live** + Fully compatible with Max/MSP and Max for Live, DICE can be embedded into existing workflows or used as a standalone tool. + +### Ethical Considerations + +- **Custom Dataset Use** + DICE is trained on a purpose-built synthetic dataset, ensuring that it does not rely on copyrighted or external musical material. + +- **Transparency in Manipulation** + The diffusion-based architecture allows users to trace how patterns evolve through each manipulation stage, offering clarity in how changes occur. Every transformation depends only from the current set of parameters and input notes, so that generations on same states will give consistent results. + +- **User-Driven Control** + Emphasizing the musician's role as the primary creative agent, DICE ensures that its manipulations serve the artist’s intent, rather than imposing algorithmic biases, while offering a minimal user interface. + +--- ## Getting Started -Download DICE from the [Releases](./releases) section and add it to your Max setup to begin using the object in your patches. +### Installation -## License +1. **Download DICE** + Access the [Releases](https://github.com/eilseq/Dice/releases) section to download the external. + +2. **Open Ableton Project and Follow Lesson** + The bundle comes with an Ableton Live project containing examples of DICE use and accurate documentation on how to generate clips and install the tool globally. + +### Basic Usage -DICE is provided under an **All Rights Reserved** license, with allowances for musicians to create commercial music and audio assets. For details, see the [license](./LICENSE.md). +1. **Input a 16x16 Matrix** + Like any other Ableton Live's MIDI Transformation Tool, create clip and select notes to provide structured input data to the model. This release is designed specifically for drum patterns, so it will act upon the first bar of notes in the conventionla drum rack range (additional info in Ableton Lesson). + +2. **Adjust Parameters** + + - `threshold`: Controls the cutoff for pattern retention or alteration. + - `noiseLevel`: Determines the intensity of stochastic perturbations during diffusion. + - `seed`: Sets the random seed for consistent results across sessions. + +3. **Trigger Pattern Manipulation** + The tool provides a minimal user interface provided under clip view. Every control will trigger a MIDI transformation based on selected notes. Observe how the input pattern is transformed based on the configured diffusion settings. --- -DICE supports creativity in music without compromising data integrity or artistic respect. +## License + +DICE is provided under an **All Rights Reserved** license. While musicians are free to use it for commercial music and audio asset creation, redistribution or modification of the source code requires explicit permission. Full license details can be found in the [LICENSE](./LICENSE.md). diff --git a/docs/_config.yaml b/docs/_config.yaml new file mode 100644 index 0000000..ac622b6 --- /dev/null +++ b/docs/_config.yaml @@ -0,0 +1,13 @@ +remote_theme: b2a3e8/jekyll-theme-console + +title: DICE +description: Diffusion Network for MIDI Transformation + +favicon: /assets/images/github-favicon.png +style: dark + +header_pages: + - index.md + - getting-started.md + - license.md + - github.md diff --git a/docs/assets/images/github-banner-black-600.png b/docs/assets/images/github-banner-black-600.png new file mode 100644 index 0000000..a437450 Binary files /dev/null and b/docs/assets/images/github-banner-black-600.png differ diff --git a/docs/assets/images/github-banner.png b/docs/assets/images/github-banner.png new file mode 100644 index 0000000..23d69e7 Binary files /dev/null and b/docs/assets/images/github-banner.png differ diff --git a/docs/assets/images/github-favicon.png b/docs/assets/images/github-favicon.png new file mode 100644 index 0000000..61a3a2c Binary files /dev/null and b/docs/assets/images/github-favicon.png differ diff --git a/docs/getting-started.md b/docs/getting-started.md new file mode 100644 index 0000000..c9f4c4f --- /dev/null +++ b/docs/getting-started.md @@ -0,0 +1,36 @@ +--- +layout: page +title: /getting-started +--- + +# Getting Started + +--- + +## Installation + +### **Download DICE** + +Access the [Releases](https://github.com/eilseq/Dice/releases) section to download DICE. + +### **Open Ableton Project and Follow Lesson** + +The bundle includes an Ableton Live project with examples and further documentation. It requires Ableton Live 12. + +--- + +## Basic Usage + +### **Input a 16x16 Matrix** + +Like any other Ableton Live's MIDI Transformation Tool, create clip and select notes to provide structured input data to the model. This release is designed specifically for drum patterns, so it will act upon the first bar of notes in the conventionla drum rack range (additional info in Ableton Lesson). + +### **Adjust Parameters** + +- `threshold`: Controls the cutoff for pattern retention or alteration. +- `noiseLevel`: Intensity of stochastic perturbations during diffusion. +- `seed`: Sets the random seed for consistent results across sessions. + +### **Trigger Pattern Manipulation** + +The tool provides a minimal user interface provided under clip view. Every control will trigger a MIDI transformation based on selected notes. Observe how the input pattern is transformed based on the configured diffusion settings. diff --git a/docs/github.md b/docs/github.md new file mode 100644 index 0000000..0976339 --- /dev/null +++ b/docs/github.md @@ -0,0 +1,11 @@ +--- +layout: page +title: /github +permalink: /github/ +--- + + + +
For feature requests and contribution, check out the GitHub repo here.
diff --git a/docs/index.md b/docs/index.md new file mode 100644 index 0000000..25a5f26 --- /dev/null +++ b/docs/index.md @@ -0,0 +1,50 @@ +--- +layout: home +title: /dice +--- + + + +**DICE** is a tool designed for advanced manipulation of musical patterns using a custom-trained machine learning model based on diffusion architectures. + +Rather than focusing on outright generation, DICE refines, transforms, and reinterprets existing patterns in real time while preserving the original musical features. + +Built specifically for the Max/MSP environment as a max external, and embedded into a MIDI Transformation Tool for Ableton, it enables seamless integration into both live performance and studio workflows. + +--- + +# Functionalities + +Focusing on a minimal user experience, the goal of this tool is to bridge the gap between deterministic pattern manipulation and stochastic processes, allowing for a controlled but flexible approach to reshaping musical materials while limiting any form of bias related to style and genre. + +## **Pattern Manipulation through Diffusion** + +DICE employs a diffusion-based architecture to iteratively refine and reshape input patterns. This approach ensures that transformations retain musical coherence while introducing new structural possibilities. + +## **Real-Time Interaction** + +Designed for Ableton users, DICE responds instantly to user adjustments, enabling dynamic manipulation of musical sequences within a Max patch. Parameters like `threshold`, `noiseLevel`, and `seed` provide granular control over the transformation process. + +## **Matrix-Based Input** + +The system operates on a 16x16 matrix input, allowing users to define initial states that DICE can then expand upon, invert, or alter based on diffusion steps and user-defined parameters. + +## **Integration with Max/MSP and Max for Live** + +Fully compatible with Max/MSP and Max for Live, DICE can be embedded into existing workflows or used as a standalone tool. + +--- + +# Ethical Considerations + +# **Custom Dataset Use** + +DICE is trained on a purpose-built synthetic dataset, ensuring that it does not rely on copyrighted or external musical material. + +# **Transparency in Manipulation** + +The diffusion-based architecture allows users to trace how patterns evolve through each manipulation stage, offering clarity in how changes occur. Every transformation depends only from the current set of parameters and input notes, so that generations on same states will give consistent results. + +# **User-Driven Control** + +Emphasizing the musician's role as the primary creative agent, DICE ensures that its manipulations serve the artist’s intent, rather than imposing algorithmic biases, while offering a minimal user interface. diff --git a/docs/license.md b/docs/license.md new file mode 100644 index 0000000..46bf0ff --- /dev/null +++ b/docs/license.md @@ -0,0 +1,36 @@ +--- +layout: page +title: /license +--- + +# License + +## All Rights Reserved with Music and Audio Derivatives Exception + +**Copyright 2024, EILSEQ** + +**All Rights Reserved** + +## Permission for Music and Audio Asset Creation + +Permission is hereby granted to musicians, producers, and individual creators (the "Licensee") to use, modify, and incorporate this software (the "Software") solely for creating musical compositions, audio recordings, soundscapes, and other audio-related assets ("Audio Assets") for personal or commercial purposes. This permission includes the use of the Software within personal plugins or digital tools exclusively for generating such Audio Assets. + +## Limitations and Prohibited Uses + +1. **Prohibition of Software Redistribution**: The Software, in whole or in part, may **not** be reproduced, distributed, sublicensed, or used as part of any software application, library, framework, or tool intended for distribution, sale, or licensing to any third parties. Redistribution of the Software itself or any derivative software applications incorporating the Software is strictly prohibited. + +2. **No Derivative Software Works**: Modifications or derivative works of the Software that incorporate it into other software applications, libraries, or frameworks are not permitted, except as specifically allowed for the creation of Audio Assets. + +3. **Commercial Use of Audio Assets Only**: The commercial use of the Software is strictly limited to the production and sale of Audio Assets derived from it. Licensee may not incorporate the Software into any other software products or technology to be sold, licensed, or otherwise distributed. + +4. **Personal Use Only**: Use of the Software in plugins, digital tools, or environments beyond the Licensee's personal creation of Audio Assets is prohibited. + +## Global Applicability + +This license is intended to be legally binding in all jurisdictions and is subject to and governed by the applicable laws of the Licensee’s country of residence. Any violation of this license will be pursued under international copyright and intellectual property laws to the fullest extent permitted by law. + +## Disclaimer of Liability and Warranty + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES, OR OTHER LIABILITY ARISING FROM OR IN CONNECTION WITH THE SOFTWARE OR THE USE OF THE SOFTWARE FOR CREATING AUDIO ASSETS. + +This license ensures that all rights are reserved while allowing musicians limited rights to create commercial Audio Assets from the Software.