/4klang

Official 4klang repository

Primary LanguageC++MIT LicenseMIT

4klang

Official 4klang repository

For discussion or feedback please use our #4klang channel on Discord

Summary

4klang is a modular software synthesizer package intended to easily produce music for 4k intros (small executables with a maximum filesize of 4096 bytes containing realtime audio and visuals).

It consists of a VSTi plugin example songs/instruments as well as an example C project showing how to include it in your code. Or if you dare to compile it yourself also the source code for the synth core and VSTi plugin.

The repository contains the folders:

  • 4klang_VSTi (the precompiled plugin(s) and example instruments/songs)
  • 4klang_source (the VSTi source as well as the needed 4klang.asm file for compilation in your exe)

The plugin project here is based on Visual Studio 2015, so that and above should compile out of the box. The only additional thing you need for compilation is YASM/vsyasm, so download and follow the instructions here to get it running:

https://github.com/ShiftMediaProject/VSYASM

4klang image

Examples

Some 4k intros using 4klang:

Goal

Up to now the 4klang package was available only via http://4klang.untergrund.net

Lately various subversions of 4klang emerged and i felt it might be a good idea to have a public repo reflecting that. So people can actively contribute, fix things i dont have time for or simply extend stuff.

Therefore the current branches available here are:

History

4klang development started in 2007 out of need and curiosity of how to write a tiny but flexible software synthesizer which can be used in 4k intros.

See this small writeup for more info
http://zine.bitfellas.org/article.php?zine=14&id=35

Credits

4klang was developed by
Dominik Ries (gopher) and Paul Kraus (pOWL) of Alcatraz.

Among the many sources of inspiration which lead to 4klang in its current state, here is a (probably not complete) list of the most influencial work by others:

  • 'Stoerfall Ost' by freestyle

http://www.pouet.net/prod.php?which=743
To my knowledge the first 4k intro using the fpu stack as 4klang does, creating the best 4k soundtrack of its time. Conceptually i consider this to be the primary technological input as 4klang evolved around that idea of using the fpu stack. So big respect and greetings to freestyle, particularly muhmac whom i also had some helpful discussions with during 4klang development.

  • V2 by kb of frabrausch

http://www.pouet.net/prod.php?which=15073
https://github.com/farbrausch/fr_public/tree/master/v2

Before 4klang i wrote my first synth as a V2 clone around 2004/2005 (as many people in the demoscene did actually). Again way ahead of its time in terms of size/quality and in addition with some really helpful articles by kb this was a key to understanding what you need for synth development for a start:
http://in4k.untergrund.net/various%20web%20articles/fr08snd1.htm
http://in4k.untergrund.net/various%20web%20articles/fr08snd2.htm
http://in4k.untergrund.net/various%20web%20articles/fr08snd3.htm
http://in4k.untergrund.net/various%20web%20articles/fr08snd4.htm

General source and for various synth module algorithms.