A virtual additive synthesizer for Linux and Windows with MIDI support.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
Release Remove duplicate files already contained in wxAudioControls. Sep 8, 2016
VST Update gitignore. Jul 24, 2016
helpfile Update installer, fix text button sizes. Aug 17, 2016
images Add osx screenshots. Oct 11, 2016
installer Library path fixes for OSX. Oct 28, 2016
.gitignore Sigmatizm 1.1 package for OSX built and uploaded to the Apple store. Oct 11, 2016
HarmonicsCallback.h Get release build working on Windows 10 machine. Aug 16, 2016
LICENSE Update readme with more details. Sep 2, 2017
Makefile Sigmatizm 1.1 package for OSX built and uploaded to the Apple store. Oct 11, 2016
Makefile.linux Changes to Linux build to get app to compile. Sep 2, 2017
README.md Fold changes.txt into README.md file. Sep 2, 2017
SettingsDlg.cpp Changes for OSX build. Oct 9, 2016
SettingsDlg.h Get release build working on Windows 10 machine. Aug 16, 2016
Sigmatizm.kdev4 Remove duplicate files already contained in wxAudioControls. Sep 8, 2016
Sigmatizm.sln Remove reference to unused AudioFile library, remove extra files, upd… Sep 2, 2017
SigmatizmLinuxScreenshot.png Get release build working on Windows 10 machine. Aug 16, 2016
SynthParametersDlg.cpp Change control init parameters, only show one dialog when no midi dev… Oct 10, 2016
SynthParametersDlg.h Remove duplicate files already contained in wxAudioControls. Sep 8, 2016
adsr.xpm Get release build working on Windows 10 machine. Aug 16, 2016
btn1lrg.xpm Get release build working on Windows 10 machine. Aug 16, 2016
btn1sml.xpm Get release build working on Windows 10 machine. Aug 16, 2016
btn2lrg.xpm Get release build working on Windows 10 machine. Aug 16, 2016
btn2sml.xpm Get release build working on Windows 10 machine. Aug 16, 2016
cancel.xpm Get release build working on Windows 10 machine. Aug 16, 2016
darkbtn.xpm Get release build working on Windows 10 machine. Aug 16, 2016
disk.xpm Get release build working on Windows 10 machine. Aug 16, 2016
exclamation.xpm Get release build working on Windows 10 machine. Aug 16, 2016
filter.xpm Get release build working on Windows 10 machine. Aug 16, 2016
graybtn.xpm Get release build working on Windows 10 machine. Aug 16, 2016
greenbtn.xpm Get release build working on Windows 10 machine. Aug 16, 2016
help.xpm Get release build working on Windows 10 machine. Aug 16, 2016
hsliderbk.bmp Get release build working on Windows 10 machine. Aug 16, 2016
hsliderind.bmp Get release build working on Windows 10 machine. Aug 16, 2016
info.bmp Get release build working on Windows 10 machine. Aug 16, 2016
info.xpm Get release build working on Windows 10 machine. Aug 16, 2016
info2.bmp Get release build working on Windows 10 machine. Aug 16, 2016
left.xpm Get release build working on Windows 10 machine. Aug 16, 2016
lfo.xpm Get release build working on Windows 10 machine. Aug 16, 2016
midi.bmp Get release build working on Windows 10 machine. Aug 16, 2016
midi.xpm Get release build working on Windows 10 machine. Aug 16, 2016
midiport.bmp Get release build working on Windows 10 machine. Aug 16, 2016
midiport.xpm Get release build working on Windows 10 machine. Aug 16, 2016
octave.bmp Get release build working on Windows 10 machine. Aug 16, 2016
octave.png Get release build working on Windows 10 machine. Aug 16, 2016
openfolder.xpm Get release build working on Windows 10 machine. Aug 16, 2016
orangebtn.xpm Get release build working on Windows 10 machine. Aug 16, 2016
question.bmp Get release build working on Windows 10 machine. Aug 16, 2016
resource.h Get release build working on Windows 10 machine. Aug 16, 2016
right.xpm Get release build working on Windows 10 machine. Aug 16, 2016
sigmatizm.bmp Get release build working on Windows 10 machine. Aug 16, 2016
sigmatizm.ico Get release build working on Windows 10 machine. Aug 16, 2016
sigmatizm.iconsproj Sigmatizm 1.1 package for OSX built and uploaded to the Apple store. Oct 11, 2016
sigmatizm64.bmp Get release build working on Windows 10 machine. Aug 16, 2016
sigmatizm64.png Get release build working on Windows 10 machine. Aug 16, 2016
sine.xpm Get release build working on Windows 10 machine. Aug 16, 2016
sliderbk.bmp Remove duplicate files already contained in wxAudioControls. Sep 8, 2016
sliderind.bmp Remove duplicate files already contained in wxAudioControls. Sep 8, 2016
spin.xpm Changes for OSX build. Oct 9, 2016
wrench.xpm Get release build working on Windows 10 machine. Aug 16, 2016
wxHarmonicsPanel.cpp Get release build working on Windows 10 machine. Aug 16, 2016
wxHarmonicsPanel.h Get release build working on Windows 10 machine. Aug 16, 2016
wxKeyboard.rc Remove duplicate files already contained in wxAudioControls. Sep 8, 2016
wxKeyboard.vcproj Get release build working on Windows 10 machine. Aug 16, 2016
wxKeyboard.vcxproj Remove reference to unused AudioFile library, remove extra files, upd… Sep 2, 2017
wxMidiSettingsDlg.cpp Get release build working on Windows 10 machine. Aug 16, 2016
wxMiniWavePanel.cpp Get release build working on Windows 10 machine. Aug 16, 2016
wxMiniWavePanel.h Get release build working on Windows 10 machine. Aug 16, 2016
wxOctaveCtrl.cpp Get release build working on Windows 10 machine. Aug 16, 2016
wxVolumeMeter.cpp Get release build working on Windows 10 machine. Aug 16, 2016
wxkeyboard.cpp Remove references to unused effect library, add more detail to readme. Sep 2, 2017
wxkeyboard.h Remove references to unused effect library, add more detail to readme. Sep 2, 2017
wxkeyboardapp.cpp Get release build working on Windows 10 machine. Aug 16, 2016
wxkeyboardapp.h Get release build working on Windows 10 machine. Aug 16, 2016
zoom.bmp Get release build working on Windows 10 machine. Aug 16, 2016

README.md

Sigmatizm

A standalone virtual additive synthesizer for Linux and Windows with MIDI support.

Sigmatizm Screenshot

It is designed for live play and was originally released on http://zetacentauri.com and via the Ubuntu Software Center as a commercial application with a demo version available and was downloaded more than 45,000 times before being open-sourced.

Additive synthesis works by using a large number of sine wave oscillators at different frequencies to create complex musical timbres. It is based on the mathematical theories of Joseph Fourier and has been used in the popular Kawai K5000 series of hardware synthesizers. SigmaTizm has 128 harmonic oscillators, allowing it to create rather complex timbres.

No plugin host or additional software and hardware is required to run it. It should run on any windows or Linux PC created within the last 10 years. Additive synthesis is fairly CPU-intensive, so playing a large number of notes at once or configuring a large number of harmonics (>64) can cause high CPU usage which can result in sound glitches on slower systems.

To get started, click the folder icon to load a predefined "patch" and press keys on your keyboard or click the keyboard keys with your mouse to play sound. For detailed instructions, click the "?" icon.

A prebuilt Windows installer and Linux binaries are in the installer folder:

https://github.com/Xangis/Sigmatizm/blob/master/installer/SigmaTizm1.1Setup.exe

It is licensed under the terms of the MIT license.

Current Features:

  • Notes can be played using the computer keyboard and mouse.
  • Can be used as a controller of external MIDI.
  • Can be controlled via an external MIDI device (keyboard, etc.)
  • Additive synthesis engine with 128 harmonic oscillators.
  • Allows detailed point-and-click editing of harmonics.
  • User-configurable vibrato LFO with multiple waveforms.
  • Adjustable ADSR envelope settings.
  • 7-octave keyboard.
  • Separate attack and sustain harmonics for changing sound timbres.
  • Pitch wheel control lets you 'bend' notes up or down in frequency.
  • Click-and-drag to modify harmonics while sound is playing for interesting sound morphs.
  • Selection of sound output devices using ASIO, MME, or DirectSound drivers (on Windows).

Building

Building this application requires wxWidgets. It is meant to be used with v3.0. It also uses PortAudio and RtMidi and requires headers from the DirectX SDK (or at least the XAudio2 portions of either the DirectX SDK or the Windows SDK).

In addition to those libraries, it also requires the following libraries:

Each of these should be checked out into directories adjacent to Sigmatizm (same parent).

Windows

A Visual Studio solution is included. You'll need to update the include and library paths to match where you've put your wxWidgets, PortAudio, DirectX, and RtMidi libraries in order to build.

Linux

To build on Linux, run "make -f Makefile.linux". You may need to update the Makefile.linux file to reflect library locations if they're not where it expects them.

You'll need to have libwxgtk3.0-dev librtmidi-dev portaudio19-dev and NOT libportaudio-dev in order to build.

OSX

This application was partially but not fully ported to OSX. It will probably not build right out of the box, but if you can get wxWidgets and GCC to play nice, it might not be too tough to build.

Changelog

Changes from version 1.0 to 1.1:

  • Added white, pink, and brown noise waveform generators.
  • Added random saw, random square, and random triangle waveform generators.
  • Changed zoom indicator to read "2x" instead of 0.5.
  • Updated to wxWidgets 3.0 (was 2.8).
  • Updated/improved help file.
  • Added more patch presets.

Version 1.0 Features:

  • Notes can be played using the computer keyboard and mouse.
  • Can be used as a controller of external MIDI.
  • Can be controlled via an external MIDI device (keyboard, etc.)
  • Additive synthesis engine with 128 harmonic oscillators.
  • Allows detailed point-and-click editing of harmonics.
  • User-configurable vibrato LFO with multiple waveforms.
  • Adjustable ADSR envelope settings.
  • 7-octave keyboard.
  • Separate attack and sustain harmonics for changing sound timbres.
  • Pitch wheel control lets you 'bend' notes up or down in frequency.
  • Click-and-drag to modify harmonics while sound is playing for interesting sound morphs.
  • Selection of sound output devices using ASIO, MME, or DirectSound drivers (on Windows).

Development Status

I maintain this application, but new features are not currently being actively developed. There are things I would like to add, including support for running as a VST, so development may resume in the future.

If you have any improvements to add, or if you can help in implementing use of this application as a VST, I'd be happy to accept pull requests.

In addition, this program was developed by one person and may have some things that are specified to my environment (library paths, for example) that could be changed to be make it easier to build from source the first time.

In addition, if you'd like to contribute to the patch library, you are more than welcome to do so.