https://github.com/valeriorlandini/sonus
A Max/MSP package for sound experimentation and algorithmic composition
https://github.com/valeriorlandini/sonus
artificial-intelligence audio-synthesis maxmsp music sound-processing
Last synced: 3 months ago
JSON representation
A Max/MSP package for sound experimentation and algorithmic composition
- Host: GitHub
- URL: https://github.com/valeriorlandini/sonus
- Owner: valeriorlandini
- License: mit
- Created: 2023-03-14T20:41:55.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2026-01-24T10:48:48.000Z (3 months ago)
- Last Synced: 2026-01-24T21:35:36.836Z (3 months ago)
- Topics: artificial-intelligence, audio-synthesis, maxmsp, music, sound-processing
- Language: C++
- Homepage: https://valeriorlandini.github.io/sonus/
- Size: 24.4 MB
- Stars: 15
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: ReadMe.md
- License: License.txt
Awesome Lists containing this project
README
# sonus
An open source Max/MSP package for sound experimentation and algorithmic composition.
A collection of externals coded in C++ and dealing with math, autonomous systems and experimental sound design.
Currently finished externals are:
### Generators
* `sonus.bytebeat~` A bytebeat parser and generator
* `sonus.byteplay~` An efficient player of many bytebeat formulas
* `sonus.collatz~` Collatz conjecture based wavetable oscillator
* `sonus.ecaosc~` Elementary cellular automata oscillator
* `sonus.harmosc~` Harmonic additive oscillator
* `sonus.lorenz~` Lorenz attractor based generator
* `sonus.neurosc~` Neural network based oscillator
* `sonus.nwosc~` User defined wavetable oscillator
* `sonus.nowave~` Scrambled wavetable oscillator
* `sonus.pdosc~` Phase distorted oscillator
* `sonus.pulsar~` Pulsar oscillator
* `sonus.roessler~` Rössler attractor based generator
* `sonus.rsosc~` Oscillator with random shapes
* `sonus.vaosc~` Multishape bandlimited oscillator
* `sonus.window~` Window functions generator
### Effects and Sample Manipulation
* `sonus.bitinv~` Bitcrusher and bit inverter
* `sonus.bitman~` Bit manipulator
* `sonus.biquads~` Parallel biquad filters
* `sonus.buffx` Apply effects to buffers
* `sonus.bufsnap` Save snapshots of a buffer
* `sonus.cheby~` Chebyshev waveshaper
* `sonus.crossloop~` Buffer loop player with crossfade
* `sonus.cryptoverb~` Eerie stereo reverberator
* `sonus.fselector~` Continuous selector/mixer
* `sonus.halaphon~` Circular panner across multiple speakers
* `sonus.quadpan~` Quadraphonic panner
* `sonus.summer~` Simple signal mixer
* `sonus.wavesets` Wavesets based sample manipulation
### Neural Networks and AI
* `sonus.acti` Activation functions
* `sonus.acti~` Activation functions (signal rate)
* `sonus.ca` Cellular automata system
* `sonus.dnn` Deep neural network implementation
* `sonus.ga` Genetic algorithm implementation
* `sonus.ga.num` Genetic algorithm implementation (numbers version)
* `sonus.linden` Lindenmayer generative system
* `sonus.neuron` Artificial neuron implementation
* `sonus.perceptron~` Classic perceptron implementation
### Math and Utilities
* `sonus.blist` Output different items from a list
* `sonus.bozo` Output a 1 and then a 0 when a bang is received
* `sonus.edist` Euclidean distance between two points
* `sonus.ftomel` Frequency to mel converter
* `sonus.hop` Hot inlets operations
* `sonus.lline` Similar to line, but for list of numbers
* `sonus.logistic` Logistic map calculator
* `sonus.lrandom` Random items from a list
* `sonus.lurn` Non repeating random sequences
* `sonus.mathc` Mathematical constants
* `sonus.mbox` Pop up dialogs generator
* `sonus.meltof` Mel to frequency converter
* `sonus.mima~` Signal extremes analyzer
* `sonus.multirandom` Multi-outlet version of random object
* `sonus.mumul` Multiply numbers for the same factor
* `sonus.mumul~` Multiply signals for the same factor
* `sonus.quadpanner` Quadraphonic panner coefficients
* `sonus.summer` Numbers summator
* `sonus.tent` Tent map calculator
* `sonus.wtp` "The Well-Tuned Piano" tuner
The collection also features six Max for Live devices that use some sonus externals to create synths, effects and modulators.
## Compiled binaries
Compiled binaries for both Windows and macOS can be found in the [Releases section](https://github.com/valeriorlandini/sonus/releases). Please note that some of the listed externals may not yet be available in the latest compiled version.
## How to build
Grab the source inside your `Documents/Max 9/Packages` (or `Max 8`, according to your Max/MSP version) folder with `git clone https://github.com/valeriorlandini/sonus.git --recursive`
`cd sonus` and then `mkdir build` to create a folder with your various build files.
`cd build` to put yourself into that folder.
### Mac
Run `cmake -G Xcode ..`
Next run `cmake --build . --config Release` or open the Xcode project from this "build" folder and use the GUI.
Note: you can add the `-jX` option where X is the number of cores to use (e.g. `-j4`). This can help speed up your builds, though it may sometimes interleave the error output, making troubleshooting more challenging.
If you are running on a Mac M1+ machine, you will likely see an error `cannot be loaded due to system security policy` when loading your externals in Max. To resolve this, you can ad-hoc codesign your external with `codesign --force --deep -s - myobject.mxo`.
### Windows
You can run `cmake --help` to get a list of the options available.
Visual Studio 2022:
`cmake -G "Visual Studio 17 2022" ..`
Visual Studio 2019:
`cmake -G "Visual Studio 16 2019" ..`
Visual Studio 2017:
`cmake -G "Visual Studio 15 2017 Win64" ..`
Having generated the projects, you can now build by opening the .sln file in the build folder with the Visual Studio app (just double-click the .sln file) or you can build on the command line like this:
`cmake --build . --config Release`
Note: you can add the `-jX` option where X is the number of cores to use (e.g. `-j4`). This can help speed up your builds, though it may sometimes interleave the error output, making troubleshooting more challenging.