Skip to content

Ircam-Partiels/Partiels

Repository files navigation

Partiels

CI Codacy

Release Downloads License

Partiels is a software suite for analysing and exploring the content and characteristics of sounds.

Features

Partiels allows analysis of one or several audio files using Vamp plug-ins loading data files, visualizing, editingorganizing, and exporting the results as images or text files that can be used in other applications such as Max, Pure Data, Open Music, etc.

  • Windows, Mac & Linux support
  • Multiformat support
  • Multichannel support
  • Multiaudiofile support
  • Analyzing audio with Vamp plug-ins
  • Visualizing results as spectrogram, lines, and markers
  • Textual and graphical editing of results 
  • Organizing and ordering analyses in groups
  • Exporting results to PNG, JPEG, CSV, LAB, JSON, CUE, REAPER & SDIF formats
  • Loading results from CSV, LAB, JSON, CUE & SDIF formats
  • Batch processing
  • Command line interface to analyze, export, and convert results
  • Consolidating documents for sharing

Alongside Partiels, a wide range of analyses based on audio engines developed at IRCAM and outside are ported to Vamp plug-ins. These plug-ins allow you to perform FFT, LPC, transient, fundamental, formant, tempo, TTS and many other analyses. You can also find a large number of analysis plug-ins on the Vamp plug-ins website.

👉 Download Partiels and the plugin suite

For bug reports or feature requests, you can create an issue on this Github repository. For more general feedback and questions, you can create a discussion on this Github repository or on the IRCAM forum.

Compatibility

Partiels is compatible on MacOS 10.13 and higher (Universal 2 - Intel/Silicon), Windows 10 & 11, and Linux.

⚠️ Some Vamp plugins may not support the same configurations and may have other restrictions.

Compilation

The compilation system is based on CMake. On macOS, you can use the XCode generator with the command cmake -G Xcode. On Windows, you can use the Visual Studio generator with the command cmake -G "Visual Studio 17 2022". On Linux, you can use the Makefile or Ninja generators with the commands cmake -G "Unix Makefiles" or cmake -G Ninja, using Clang or GCC as the compiler.

Here is an example:

git clone --recursive https://github.com/Ircam-Partiels/Partiels.git
cd partiels
cmake . -B build -G Ninja -DCMAKE_BUILD_TYPE=Debug # Example using Ninja generator; use XCode on macOS or Visual Studio on Windows.
cmake --build build
ctest -C Debug -VV --test-dir build # Note: The `-VV` flag is optional and provides verbose output for debugging purposes.

⚠️ For Linux, JUCE dependencies must be installed: Refer to the file JUCE/docs/Linux Dependencies.md.

💡 You can refer to the GitHub Actions workflow for compilation instructions.

Releases

Partiels uses GitHub Actions for continuous integration and automated releases. Releases can be created in two ways:

Automatic Release (Tag-based)

The release is created when a new tag is pushed (e.g., 2.1.0). This is the preferred approach for final stable releases. The CI workflow automatically:

  • Builds the project in Release mode
  • Creates a draft release with the tag name
  • Uploads all platform-specific installers and documentation
git tag 2.1.0
git push origin 2.1.0

Manual Release (Workflow Dispatch)

You can also manually trigger a release build from the GitHub Actions UI. This is the preferred approach for testing releases, allowing you to create releases without pushing tags and providing flexibility for testing builds.

  1. Go to the Actions tab
  2. Click "Run workflow"
  3. Configure the workflow inputs:
    • Create a release: Enable to create a GitHub release
    • Version name: Specify the version (e.g., 2.1.0-rc1)
    • Build type: Choose Release or Debug

💡 The CI workflow also automatically detects [debug] in commit messages to build in Debug mode for regular commits.

Credits

Partiels: Design, architecture and development by Pierre Guillot at IRCAM IMR department.
Contributions to development by Thomas Barbé and Nolan Dupont.
Copyright 2025 IRCAM. All rights reserved.

Dependencies:

  • Vamp SDK by Chris Cannam, copyright (c) 2005-2024 Chris Cannam and Centre for Digital Music, Queen Mary, University of London.
  • Ircam Vamp Extension by Pierre Guillot at IRCAM IMR department.
  • JUCE by Raw Material Software Limited.
  • tinycolormap by Yuki Koyama.
  • JSON C++ by Niels Lohmann.
  • Magic Enum by Daniil Goncharov.
  • ASIO SDK by Steinberg Media Technologies GmbH.

Publications and Video Presentations

Video recordings of Partiels presentations are available in this discussion on our GitHub organization page. These recordings include software demonstrations, feature walkthroughs, and academic presentations that complement the written publications.

The following academic publications present the Partiels software:

DAFx 2025 Conference Paper

Partiels : Exploring, Analyzing and Understanding Sounds
Pierre Guillot
Proceedings of the 28-th Int. Conf. on Digital Audio Effects (DAFx25)
Ancona, Italy, September 2025, pp. 298-303
📄 PDF

@inproceedings{DAFx25_paper_66,
    author = "Guillot, Pierre",
    title = "{Partiels - Exploring, Analyzing and Understanding Sounds}",
    booktitle = "Proceedings of the 28-th Int. Conf. on Digital Audio Effects (DAFx25)",
    editor = "Gabrielli, L. and Cecchi, S.",
    location = "Ancona, Italy",
    eventdate = "2025-09-02/2025-09-05",
    year = "2025",
    month = "Sept",
    publisher = "",
    issn = "2413-6689",
    doi = "",
    pages = ""
}

JIM 2025 Conference Paper

Partiels : un logiciel pour analyser et explorer le son
Pierre Guillot
Proceedings of the 32nd Journées d'Informatique Musicale
Lyon, France, June 2025
📄 PDF | 🔗 HAL

@inproceedings{guillot:hal-05102365,
  TITLE = {{Partiels : un logiciel pour analyser et explorer le son}},
  AUTHOR = {Guillot, Pierre},
  URL = {https://hal.science/hal-05102365},
  BOOKTITLE = {{Proceedings of the 32nd Journ{\'e}es d'Informatique Musicale}},
  ADDRESS = {Lyon, France},
  ORGANIZATION = {{GRAME and Inria}},
  YEAR = {2025},
  MONTH = Jun,
  PDF = {https://hal.science/hal-05102365v2/file/18.pdf},
  HAL_ID = {hal-05102365},
  HAL_VERSION = {v2},
}