Welcome to Anklang, a digital audio synthesis application for live creation and composition of music or other audio material. This project presents a revamp of several former audio projects by its two main authors Tim Janik and Stefan Westerfeld. It aims to realize a coherent, solid amalgamation for composition and interactive creation of synthesis music. The source code is released as Free Software, licensed under the MPL-2.0 and runs under Linux.
Anklang provides reference documentation, introductions, further readings and the projects it is based on have been covered at conferences and in a number of articles:
Anklang manual and Manpage, latest trunk:
ANKLANG(1)
Anklang-Manual
(PDF)
Anklang-Manual
(HTML)
Anklang-Internals
(PDF)
Anklang-Internals
(HTML)
Anklang detailed ChangeLog, latest trunk: Anklang ChangeLog
Anklang copyright list, latest trunk: Anklang Copyrights (TXT)
Articles and documentation about Beast: beast.testbit.eu
Collection of external readings on synthesis: Synthesis Links
Help around Anklang and contact to the community can be accessed in a variety of ways:
Web based chat (via IRC): web.libera.chat/#Anklang
IRC based instant messaging: irc://irc.libera.chat/#Anklang
Bug reports and feature requests: View issues · Report new issue
Send an email to the
anklang-team
at the host testbit
dot
eu
.
Anklang releases are available as source code archives and binary AppImage executables. The source code is licensed MPL-2.0, and the project uses Git for distributed source code development.
Anklang Releases: | anklang/releases/ |
Release News: | news.html |
Contributions are always welcome, graphical artists, musicians, translators, programmers can all help the project, just chat with us or contact us via the issue tracker.
Financial support is also appreciated, ideally through consulting of the developers:
Consulting Tim Janik: https://testbit.eu/timj
The possibility for donations under our jurisdiction is still under investigation.
The Anklang development source code and issue tracker are hosted at Github. The Anklang project is split into two major components, the user interface which is implemented with web technologies, and the synthesis engine which is implemented in C++.
Here is a collection of development related resources:
Linux Audio Plugin Specification: LADSPA
Open standard for Linux based audio plugins: LV2
Simple header to allow VeSTige compilation: aeffectx.h
This is the news section that gives an overview of Anklang releases and related events of significance in the project.
Sunday 30th June 2024
We are happy to announce the latest version of Anklang, our digital audio synthesis application for live creation and composition of music and other audio material!
With this new release, we’ve made significant strides in improving the user experience, fixing bugs, and enhancing the overall functionality.
Firstly, we’ve fixed several critical issues, including proper rendering of choices in device views, focus and shadow DOM problems, and various menu popup quirks. Additionally, we’ve resolved an invalid UTF-8 handling bug in the WebSocket code that would cause connection aborts. And we ensured that new devices are always inserted at the correct position.
The new LiquidSFZ device now integrate the swesterfeld/liquidsfz submodule for SFZ and hydrogen drumkit support.
The Freeverb device has seen optimizations for sample accurate parameter changes and smoothing for automation. We’ve also added support for String properties in AudioProcessor devices and fixed hndling of some MIDI event frame offsets.
The Blepsynth device has received a flexible ADSR model for volume envelope, improved sample accuracy, and bug fixes. The Sallen-Key Filter was added to Blepsynth, alongside an improved LadderVCF filter. We’ve also added a new Saturation device with parameter smoothing and float performance optimizations.
The AnklangSynthEngine now supports the CLI options -M and -P for overriding audio and midi drivers, logging to a file and gzip compression for http transfers. The default tempo is now set to 120 and loading from non-anklang directories has been fixed as well.
The User Interface has seen substantial updates too, we consolidated several UI components, and replaced error confirmation dialogs with notice popups. Most UI elements have been converted to LitElement components, and we’ve introduced support for file selection in device UIs. The JavaScript Signal polyfill simplifies dependency tracking, while the new tree browser component enhances menu navigation. Furthermore, we’ve improved UTF-8 handling of legacy filenames, and fixed mouse wheel handling for our UI knobs in modern browsers. Piano roll drawing order has been corrected, along with cursor movement and other UI fixes. UI tests with recorded UI events are a lot more robust now and can now assert project state. A new test for track renaming was added to the X11 UI test suite and headless tests (x11test-v) are run silently without device dependencies.
Lastly, we’d like to thank our contributors @ritschwumm for the first contribution and @swesterfeld for his continued excellent device work.
The source code and binary packages for Anklang 0.3.0 can be found here: https://github.com/tim-janik/anklang/releases/tag/v0.3.0
Wednesday 06th September 2023
Version 0.2.0 of Anklang has just been released, with significant improvements to audio synthesis capabilities and user interface. The documentation has been improved in several places, and automated generation was integrated into the CI.
Audio synthesis enhancements include support for new CLAP (draft)
extensions, such as transport information and file references. We now
support non-linear mappings for BlepSynth ADSR times, and a new audio
plugin Freeverb by Jezar at Dreampoint
was added, with fixes to
the damping mode in the original version. Additionally, a Jack PCM
driver based on Stefan Westerfelds’ code was integrated.
Performance improvements were achieved by adding a new optimizing memory allocator and supporting low-latency scheduling via sched_* or RtKit. Saving projects will now automatically create backups of recent versions.
The user interface has also seen significant improvements in this release. These include context help via F1 key in various UI components, fixes to mouse wheel sensitivity for modern browsers, improved tooltips and note editing in the piano roll. The UI can now be zoomed via new menu entries, the color palette was updated, and integration of TypeScript annotations allowed improving the UI JavaScript code quality.
In terms of packaging, AppImage builds saw major compatibility improvements, and we increased the frequency of Nightly releases, building from nearly all significant trunk merge commits. We aim to generate more regular releases in the future instead of having lots of Nightly builds between regular releases.
The source code and binary packages for Anklang 0.2.0 can be found here: https://github.com/tim-janik/anklang/releases/tag/v0.2.0
Wedneday 15th June 2022
Last week the CLAP-1.0.0 version got tagged by the CLAP project and LWN ran an article about it.
Today several projects (and a number high profile companies) announced interest in supporting CLAP for their DAW and plugin developments: u-he - CLAP Announcement
Work on supporting CLAP for Anklang also started last weekend. The CLAP API is farily straight forward and Anklang can already find and load the Beta version plugins listed in the announcement.
Related threads on KVR can be found here:
About
CLAP - KVR Audio
CLAP 1.0
betas for ACE, Diva, Hive, MFM 2.5 - KVR Audio
Tuesday 26nd July 2022
Version 0.1.0 of Anklang has just been released.
With version 0.1.0, Anklang provides a MIDI sequencer, Undo/Redo capabilities for note editing, real-time synthesis, and support for CLAP plugins.
The real-time sound engine is implemented in C++, the UI runs in Electronjs, Firefox or Chrome. Assistance with development, porting or creative efforts is very welcome.
The source code and binary packages are available here:
Monday 22nd November 2021
A first pre-release of Anklang is available now. This wraps up a good year of development to reshape the code base into something sane, modern and extensible.
This release provides an AppImage and a Debian package. These should run on at least Ubuntu 20.04, which is also the recommended build environment.
As of now, Anklang supports the ALSA MIDI and ALSA PCM drivers, very basic note editing and clip playback, and an interesting BlepSynth implementation by Stefan Westerfeld.
The Anklang UI can be run based on Electron (just start
anklang
after installation). Or, for the adventurous, the UI can
run in the web browser by starting the synthesis engine directly. This
requires the installation path, i.e. start it with something similar to:
/usr/local/lib/anklang-0-0/lib/AnklangSynthEngine-0.0.1
https://github.com/tim-janik/anklang/releases/tag/v0.0.1-alpha1
Thursday 17th November 2021
The Anklang website, home of the Anklang project, is now live. While the Github README.md page makes it easy to give a static overview of the installation and source code development, the website can cover everything related to the project beyond the technicalities.
Tuesday 27th June 2017
Back in 2017, Stefan Westerfeld gave an overview of Beast 0.11 with the Gtk+ user interface. The codebase of Beast has had major influences on the implementation of Anklang.