Skip to content

The DYCI2 library contains a collection of generative agents and tools for human-machine co-improvisation and interactive composition, combining the "free", "planned" (scenario-based), and "reactive" approaches to generation from a corpus.

master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 

DYCI2_library

The DYCI2 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.

Some videos of artistic productions using DYCI2 or its previous versions: https://www.youtube.com/channel/UCAKZIW0mMWCrX80yS96ZxAw.

If using the library, please quote: Nika, J., Déguernel, K., Chemla, A., Vincent, E., & Assayag, G. (2017, October). Dyci2 agents: merging the" free"," reactive", and" scenario-based" music generation paradigms. In International Computer Music Conference. (Article).

A recent presentation about the DYCI2 library (20 min in english): https://youtu.be/RXKJbpJb8w4?t=1530

Author: Jérôme Nika (IRCAM STMS LAB) Contributors: Joakim Borg (IRCAM STMS LAB), Ken Déguernel (IRCAM STMS LAB / Inria Nancy - Grand Est), Axel Chemla--Romeu-Santos (IRCAM STMS LAB), Georges Bloch (UniStra), Diemo Schwarz (IRCAM STMS LAB); DYCI2 research project : Gérard Assayag (Ircam, PI), Emmanuel Vincent (Inria Nancy, WP leader), Jérôme Nika (Ircam, WP coordinator), Marc Chemillier (EHESS, associate researcher).

Also check om-dyci2, the "offline" compositional declination of this project, a framework for interactive generation of musical sequences combining generative agents and computer-assisted composition tools.


To use DYCI2 applications in Max directly, please go to the Release page that contains a release version of DYCI2lib ready to be used as a Max library. The following sections of this document are intended for developers wishing to craft the Python core of the DYCI2 agents.


Repository

This repository contains:

  • Tutorials with complete standard DYCI2 functionalities. These self-contained Max applications and can be used as such by users who are not interested in building new patches.

  • The Max DYCI2 library of musical agents interfacing with the generation engine developped in Python.

  • 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.

Advanced users and developpers can use the Python library autonomously. See the tutorials corresponding to the different modulesHtml doc: http://repmus.ircam.fr/downloads/docs/DYCI2_library/. PDF doc: in DYCI2lib/Python_library. NB: When launching the DYCI2 core using the python library and not the compiled app, the default command is "python3". Expert users can modify this command in the script located here: Dyci2Lib/Max_library/app/launch_dyci2_agents.sh


Requirements

  • Mac OS
  • Max 8
  • Python 3.9 and >

Externals

  • Mubu for Max: Open Max, File / Show Package Manager, Search "Mubu for Max", Install.
  • Catart by Mubu:
    • DYCI2 Release: already included in DYCI2lib/Max_Library/external (but check the repository https://forum.ircam.fr/projects/detail/catart-mubu/ !)
    • DYCI2 Repository: 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 !
  • Max shell object: already included in DYCI2lib/Max_Library/external (but check the repository https://github.com/jeremybernstein/shell/releases !)

Installation

  • Drag the DYCI2lib directory wherever you want (but not in Max packages / libraries !) and add its path into Max's search path (in Max: Options/File preferences... then add the path WITH THE SUBFOLDERS). /!\ The path of this folder must not contain any whitespace.
  • Insert the media files downloaded at http://repmus.ircam.fr/nika/dyci2_library in "MaxPatches/Tutorials/_ExamplesCorpus_"
  • /!\ The sampling rate of Max MUST be the same as that of the audio file(s) used in the memory(/ies).

Python configuration

  • Download and install the last version of Python 3 (https://www.python.org/downloads).
  • Open Terminal to install the dependencies: cd [DRAG_AND_DROP_THE_DIRECTORY_Dyci2lib], enter, pip3 install -r requirements.txt --user, enter.

See also: om-dyci2, C wrapper and OM/OM# library for compositional worflows

  • 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.

Troubleshooting

Please write to jerome.nika@ircam.fr for any question, or to share with us your projects using DYCI2 !

License

GPL v3

About

The DYCI2 library contains a collection of generative agents and tools for human-machine co-improvisation and interactive composition, combining the "free", "planned" (scenario-based), and "reactive" approaches to generation from a corpus.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •