This library contains a collection of generative agents and tools for smart composition and human-machine co-improvisation. It integrates the results of the DYCI2 project and shapes a next-generation software with regard to OMax. A conference paper about the DYCI2 library can be downloaded here.
This repository contains:
The Max DYCI2 library of musical agents interfacing with the Python library. (See the tutorials in the directory Max_library/_Tutorials_ and the Readme file to download sound examples).
The Python DYCI2 library, defining models and tools for creative generation of sequences (and in particular musical sequences) from models of sequences. It implements several models, generative heuristics, time management strategies, and architectures of interactive agents. Each class is associated with a tutorial (see the tutorials in the Python_library directory).
Author: Jérôme Nika (IRCAM STMS LAB);
Contributors: Ken Déguernel (IRCAM STMS LAB / Inria Nancy - Grand Est), Axel Chemla--Romeu-Santos (IRCAM STMS LAB); DYCI2 supervision : Gérard Assayag (Ircam, PI), Emmanuel Vincent (Inria Nancy, WP leader), Jérôme Nika (Ircam, WP coordinator), Marc Chemillier (EHESS, associate researcher).
Some videos of collaborations with musicians using DYCI2 or its previous versions: https://www.youtube.com/channel/UCAKZIW0mMWCrX80yS96ZxAw.
If you plan to make music, first download the latest release HERE rather than cloning the repository or downloading DYCI2 from this page !
Download the Python requirements
Download and install the last version of Python 2 (https://www.python.org/downloads).
Open Terminal to install the dependencies:
pip install -r requirements.txt
(If pip is not installed:
sudo easy-install pip, or try
curl https://bootstrap.pypa.io/get-pip.py | python)
Download the Max externals
- Mubu for Max, in Max:
- File / Show Package Manager
- Search "Mubu for Max"
- Catart by Mubu
- Nothing to do if you downloaded a DYCI2 release.
- [For developpers: if you cloned the repository or downloaded it from the main page, make sure that you also cloned the Catart submodule or your directory
Dyci2Lib/Max_library/external/catartwill be empty !]
The last external, Antescofo, is already in the repository (please use the version distributed with DYCI2).
Finally move the whole directory wherever you want, and make sure that the path of the directory Dyci2lib/Max_library is set in the file preferences in Max. Then explore the tutorials!
Exploring DYCI2 library
The DYCI2 library offers different processes depending on the way the "musical memory" of your agent is created, and a range of generative strategies adapted to different types of interaction. The tutorials in Dyci2lib/Max_library_/Tutorials_ give an overview that should be sufficient to be able to build new setups. Start with DYCI2_Tutorials_Read_me_first.maxpat to go through the tutorials.
Before using the tutorials, make sure you followed the installation procedure above, and insert the files downloaded at http://repmus.ircam.fr/nika/dyci2_library in "MaxPatches/Tutorials/_ExamplesCorpus_"
[Advanced users: Autonomous use of the Python modules]
Developpers can use the Python library autonomously.
See the tutorials corresponding to the different modules. For example, in the directory Python_library:
python Generator_tutorial.py.Html doc: http://repmus.ircam.fr/downloads/docs/DYCI2_library/. PDF doc: in DYCI2lib/Python_library.
C wrapper and OM/o7 library
- libdyci2: a C wrapper to the DYCI2 Python library allowing to compile libdyci2 as a dynamic library.
- om-dyci2: a library for using DYCI2/libdyci2 in the OM/o7 computer-aided composition environment.
are available at https://github.com/DYCI2/om-dyci2.
- Mac OS
- Python2 (>=2.7, Python3 coming soon !)
- Max 8
Check the repository DYCI2_library
Please write to
email@example.com for any question, or to share with us your projects using DYCI2 !