Welcome to my software download area. If you really found these tools useful for you... why not considering a donation?

The sadam Library

Starting from Version 2020-03-07, The sadam Library is directly accessible from the Max Package Manager (look for the package entitled "Sadam Library"). Please use the Max Package Manager to download the most recent version of the library. You may find download links for previous versions at the bottom of this page.

The sadam Library is a set of free externals that I programmed for Max/MSP. These are the currently available objects:

Complex Data Management
Name Description
[sadam.base64] Base64 encoder & unencoder object.
[sadam.lzo] Loseless data compression and decompression using the LZO library.
[sadam.rapidXML] A RapidXML wrapper for Max.
[sadam.dom] A Document Object Model (DOM) interface for Max.
[sadam.sax] A Simple API for XML (SAX) interface for Max.
[sadam.dom] and [sadam.sax] run with MXJ.
Name Description
[sadam.gcd] Compute the Greatest Common Divisor of two integers.
[sadam.interpol] A generic interpolation/extrapolation tool.
[sadam.lcm] Compute the Least Common Multiple of two integers.
[] Compute the closest prime numbers and the prime factorization of a positive integer.
[sadam.stat] Get mean and standard deviation of a number sequence.
Name Description
[sadam.empty] Detect/output empty strings.
[sadam.envelopeGenerator] [expr]-based envelope generator for [function] objects.
[sadam.float] Detect/output special floating point values.
[sadam.limits] Get minimum and maximum finite values of Max data types.
[sadam.mutex] Mutual exclusion (semaphore) object.
[sadam.onebang] Traffic control for bang messages.
[sadam.sortLists] Sort a set of lists simultaneously.
[sadam.split] Split incoming number sequence.
Name Description
[sadam.normalize~] An object that sets the gain of a source to the level of a reference signal.
[sadam.phasor~] Phasor object with maximal resting state.
[sadam.rand~] Band-limited random signal.
[sadam.sgn~] Sign of a signal.
[sadam.standardMap~] A chaotic oscillator based on Chirikov's Standard Map.
Streaming & Networking
Name Description
[sadam.fromBytes] Convert a sequence of bytes into numbers.
[] Read and write binary streams.
[sadam.tcpClient] Bidirectional TCP client.
[sadam.tcpReceiver] Receive data from the network using the TCP protocol.
[sadam.tcpSender] Send data through the network using the TCP protocol.
[sadam.tcpServer] Bidirectional TCP server.
[sadam.toBytes] Convert numbers into a sequence of bytes.
[sadam.udpClient] UDP Sender/Receiver object with fixed source port.
[sadam.udpReceiver] Receive data from the network using the UDP protocol.
[sadam.udpSender] Send data through the network using the UDP protocol.
User Interface
Name Description
[sadam.canvas] An alternative canvas for Max.
The KlangPilot-related externals are solely available as part of KlangPilot. Visit the KlangPilot download site at
Name Description
[sadam.addSynth~] Additive synthesizer with time-dependent parameters.
[sadam.subSynth~] Subtractive synthesizer with time-dependent parameters.
[sadam.fofSynth~] Formant synthesizer with time-dependent parameters.
[sadam.peakExtractor~] Extract spectral peaks from a signal in real-time.
[sadam.getSoundDescriptors~] Extract sound descriptors from an arbitrary sound.

Some of these externals were originally commissioned by other projects, but I was kindly allowed to include them in my library:

  • The KlangPilot externals by the Zentrum für innovative Musik-Technologie, Vienna.
  • [sadam.rapidXML], [sadam.dom] and [sadam.sax] by the MaxScore Project.
  • [], [sadam.tcpReceiver], [sadam.tcpSender], [sadam.udpReceiver] and [sadam.udpSender] by the Hungarian Computer Music Foundation.
  • [sadam.base64] and [sadam.lzo] by Georg Hajdu for the platform.

The Library uses the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License, except for [sadam.lzo], which is a GPLv2 project. Available versions:


Get it at

KlangPilot is a real-time score language for sound synthesis which is being developed by Johannes Kretz since 1992. It consists of an extended toolset of analysis and synthesis objects combined with a powerful user interface where one can combine different synthesis methods into instruments and create scores (both in real-time and non-real-time) using those instruments. The current version requires Max/MSP to run and is hosted at the Zentrum für innovative Musik-Technologie (ZiMT), Vienna. KlangPilot uses the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.


Get it at

MaxScore is a Max object which provides the Max/MSP or Ableton Live user with standard music notation and performance tools. It is strongly related with the JMSL language, written by Phil Burk and Nick Didkovsky. Although MaxScore is free software, it requires a paid JMSL license to run.