SoundProcesses
statement
SoundProcesses is an extension for ScalaCollider to describe, create and manage sound processes in the Scala
programming language. It is (C)opyright 2010–2023 by Hanns Holger Rutz. All rights reserved. SoundProcesses
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 sciss.de
.
Further reading:
- Tutorials on the Mellite website.
- Notes on the Research Catalogue.
- Rutz, H. H., "SoundProcesses: A New Computer Music Framework," in Proceedings of the ICMC|SMC|2014 Joint Conference, Athens 2014.
building
SoundProcesses builds with sbt against Scala 2.12, 2.13, Dotty (JVM), and Scala 2.13 (JS). The last version to support Scala 2.11 was 3.31.0. The dependencies should be downloaded automatically from Maven Central repository.
The Scala.js support it is still in experimental stage. Linker errors and bugs are to be expected here.
linking
The following submodules are available:
"de.sciss" %% "lucre-synth" % v // transactional layer for ScalaCollider
"de.sciss" %% "soundprocesses-core" % v // everything but views and compiler
"de.sciss" %% "soundprocesses-views" % v // common swing views
"de.sciss" %% "soundprocesses-compiler" % v // compiler integration
The current version v
is "4.14.9"
.
contributing
Please see the file CONTRIBUTING.md
usage
Project is still sparse, however there is a graphical front-end Mellite, and the Mellite website contains tutorials on SoundProcesses.
notes
- currently, constant
Expr
object do carry anid
and thus are not identical to each other when created repeatedly even with the same peer constant. This was done in order to satisfyObj
property, e.g. for anyIntObj
including its constants. A future version may go back to 'cheap' constants which must be explicitly lifted if one wants to accessattr
on them.
Scala.js
The following abstractions are currently not supported
Bounce
- (
Ex
)Sys.Process
,Sys.Exit
,AudioFileSpec.Read