The K Desktop Environment

Next PreviousTable of Contents

1. Introduction

1.1 What is aRts?

Arts expands to "analog realtime synthesizer", but when you are reading this documentation, you perhaps already know...

This project has been renamed from KSynth to aRts earlier (between version 0.2.5 and 0.2.6).

aRts simulates a complete "modular analog synthesizer" on your - digital - computer. Create sounds & music using small modules like oscillators for creating waveforms, various filters, modules for playing data on your speakers, mixers, faders,... You can build your complete setup with the gui of the system, using the modules - generators, effects and output - connected to each other.

This program is distributed under the GPL (Gnu Public License). Read the COPYING-file inside the archive carefully. If you don't agree to the GPL, you aren't allowed to use and make changes on the program!

1.2 Inside aRts

While there may be a few software synthesizers already, aRts was designed with one goal in mind: flexibility

So it wasn't designed to be a program where you get two (or ten) finished instruments that simply sound nice, and provide some parameters. Not even three effects and a mixer.

Everything - from the smallest building block up to complex structures (e.g. mixers with equalizers, effect banks, houndrets of buttons and parameters on the screen) - should be able to be buildable of the small modules aRts consists of. There shouldn't be something that couldn't be recombined, reconfigured, replugged, rerouted or redesigned. A virtual studio where everything can be put you want it to be.

Of course there will be instrument libraries, effect libraries, and collections of mixers, complex filters, midi processing units, etc. that come with aRts. But these are not inside the code, all of it will be written in aRts itself, so that everything is accessible via aRtsbuilder. This is still some way to go though - but we're getting there.

Sure enough, new synthesis modules can also easily be written and integrated in the aRts system.

Another issue that leads to flexibility is CORBA:

The synthesizer basically consists of two parts - a gui where you can connect the modules - and a low level synthesizer which can execute models. The synthesizer and the gui communicate using CORBA. This stategy leads to the possibility that more than one audio application share the same room for synthesis. That means, you get - besides the midi bus that connects all your applications - some kind of audio server where different real time calculations can be done at the same time.

Next PreviousTable of Contents