Skip to content

Musicoll/Kiwi

Repository files navigation

Kiwi

A real-time collaborative audio patching software

Travis Appveyor CI

Website Documentation Download

Presentation

Kiwi is a graphical programming environment dedicated to music and sound creation, such as Max or Pure Data softwares, but offering a real-time collaborative approach: Kiwi allows several distant users to work simultaneously on the same patch hosted online.

Kiwi Screenshot

Kiwi is part of the French ANR-funded MUSICOLL project that unites the CICM and OhmForce. The main goal of this project is to study how collaboration can enhance the way digital audio music composition is taught and more generally how it can renew music creation practices and improve its workflow.


Compilation

The compilation of Kiwi uses CMake. Most of the dependencies are included as git submodules, the others will be installed during automatically during the CMake configuration phase. Thus, the compilation requires the default git and CMake steps such as:

git clone https://github.com/Musicoll/Kiwi.git
cd Kiwi
git submodule update --init --recursive
mkdir Build && cd Build
cmake ..
cmake --build .

This default CMake approach downloads and compiles all the dependencies Flip, Boost and LLVM but the CMake approach also allows to use the personal/systems libraries.

  • Flip
    Enables or disable the personal/system library for Flip with the option USE_SYSTEM_FLIP ON/OFF (default OFF). Flip must be compiled as a static library compatible with the commit c47e41da05. Use the variable FLIP_INCLUDE_DIRS PATHS to define the Flip include directories and the variable FLIP_LIBRARY_DIRS PATHS to define the Flip library directories.

  • Boost
    Enables or disable the personal/system library for Boost with the option USE_SYSTEM_BOOST ON/OFF (default OFF). Boost must be compiled as a static library with the system component and compatible with the version 1.69.0. See this documentation for more options.

  • LLVM
    Enables or disable the personal/system library for LLVM with the option USE_SYSTEM_LLVM ON/OFF (default OFF). LLVM must be compiled as a static library (with the dynamic runtime on Windows) and compatible with the version 5.0.0. See this documentation for more options.

Documentation

The documentation of Kiwi is available online and with the distribution. Generating the documentation requires to install github-wikito-converter:

npm install -g github-wikito-converter

Then, from the Kiwi root folder, run:

python ./Scripts/gendoc.py

Authors

Eliott Paris Pierre Guillot Jean Millot
Eliott Paris Pierre Guillot Jean Millot

Papers

  • E. Paris, Une Approche du patching audio collaboratif : Enjeux et développement du collecticiel Kiwi, thèse de doctorat, sous la direction d'A. Sèdes et A. Bonardi, Université de Paris 8, 2018 - URL (fr).
  • P. Galleron, E. Maestri, J. Millot, A. Bonardi, E. Paris, Enseigner le patching de manière collective avec le logiciel collaboratif Kiwi, Journées d’Informatique Musicale (JIM 2018), 2018, Amiens, France, pp.105-114. URL (fr).
  • E. Paris, J. Millot, P. Guillot, A. Bonardi, A. Sèdes, Kiwi : Vers un environnement de creation musicale temps reel collaboratif, Journées d’Informatique Musicale (JIM 2017), 2017, Paris, France. URL (fr).
  • A. Sèdes, A. Bonardi, E. Paris, J. Millot, P. Guillot, Teaching, investigating, creating: MUSICOLL. Innovative Tools and Methods for Teaching Music and Signal Processing, 2017. URL (en).

Organizations

Credits

License

The Kiwi application is licensed under the terms of the GNU GPL-3.0 license. However, Kiwi also depends on the Flip library which is NOT open-source.