VincentCusson / Dyci2Lib

DYCI2 Python & Max libraries

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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. A conference paper about the DYCI2 library can be downloaded here.

This repository contains:

  • Tutorials that are actual 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 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: Joakim Borg (IRCAM STMS LAB), 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.


Installation

**This document is about the source code, so if you want to use DYCI2 in a creative project, please download the latest release HERE rather than cloning the repository or downloading DYCI2 from this page ! Otherwise, if you are a developper, keep following this document. **

Get Python and download the Python requirements

  1. Download and install the last version of Python 2 (https://www.python.org/downloads).

  2. Open Terminal to install the dependencies:

    cd [DRAG_AND_DROP_THE_DIRECTORY_Dyci2lib]

    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)

Get Max and Download the Max externals

  1. Get Max from https://cycling74.com/downloads.

  2. Install Mubu for Max, in Max:

    • File / Show Package Manager
    • Search "Mubu for Max"
    • Install
  3. 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 !]

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 (in Max: Options/File preferences... then add the path WITH THE SUBFOLDERS). Then explore the tutorials!


DYCI2 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_"

_/!\ If you already have a python distribution installed and that the shell command "python" calls Python 3, please replace the "DYCI2_Python_lib" objects in the patches by "DYCI2_Python2_lib" objects./!_

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


Notes

  • Mac OS
  • Max 8
  • Python2 (>=2.7, Python3 coming soon !)

Development

Check the repository DYCI2_library


Troubleshooting

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


License

GPL v3

About

DYCI2 Python & Max libraries

License:GNU General Public License v3.0


Languages

Language:Max 96.8%Language:Python 3.2%Language:JavaScript 0.0%