Sound installation (part of "Imperfect Reconstruction").
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Hanns Holger Rutz f025070430 v1.14.0 1 month ago
.github/workflows ... 2 years ago
app up deps, dates; custom GE readers <> 1 year ago
core/src v1.14.0 1 month ago
notes ok, plan in place for the roots problem 3 years ago
project v1.13.0 5 months ago
scripts v1.3.0 2 years ago
views/src/main/scala/de/sciss/negatum/gui v1.12.0 6 months ago
.gitignore up deps 2 years ago master -> main 2 years ago
LICENSE master -> main 2 years ago v1.14.0 1 month ago
build.sbt v1.14.0 1 month ago


Build Status Maven Central


Negatum started as a genetic programming experiment for SoundProcesses, and eventually became entangled with the particular sound installation of the same name that was part of the exhibition "Imperfect Reconstruction". Now it is part of SoundProcesses/Mellite, with the original sound installation remaining in a dedicated app project.

This project is (C)opyright 2016–2022 by Hanns Holger Rutz. All rights reserved. It is released under the GNU Affero General Public License v3+ and comes with absolutely no warranties. To contact the author, send an e-mail to contact at

requirements / installation

This project builds against Scala 2.13, 2.12 using sbt (the last version to support Scala 2.11 was 0.8.1).

To build the application:

cd app
sbt assembly

Then to run:

java -jar Negatum.jar

project structure

The project is a hybrid between Mellite "extensions" and the original sound piece, with the following sbt modules in place:

  • negatum-core: contains the SoundProcesses based objects for genetic programming (Negatum)
  • negatum-views: contains the Mellite views for core (e.g. NegatumView)
  • negatum-app: (in separate directory app) contains a standalone application with the original sound piece

In the future, more abstractions (SOM, SVM) will be moved to the core module. The dependency structure is now a bit tricky:

  • negatum-core depends on SoundProcesses
  • negatum-views depends on negatum-core and mellite-core
  • mellite (full) depends on negatum-views
  • negatum (full) depends on mellite (full)

So when building with locally published artifacts, the build/publish order is:

  1. mellite-core
  2. negatum-views
  3. mellite (full)
  4. negatum (full)


To use this project as a library, use the following artifact:

libraryDependencies += "de.sciss" %% "negatum-core"  % v
libraryDependencies += "de.sciss" %% "negatum-views" % v

The current version v is "1.14.0"


Please see the file