Link Search Menu Expand Document

Welcome to Cmajor

The programming language for writing and developing audio software.

If you’re new to Cmajor, check out the getting started guide.

Try the Playground (Coming Soon!) View on GitHub


About

Cmajor is an audio development platform created to improve the developer’s workflow. It was developed to provide a safe environment for DSP development and fast implementation. Being able to go from an idea to a resulting output is key.

Cmajor was designed with these main goals:

  • To allow simple procedural DSP code to be easily composed into graph structures
  • To offer performance that at least matches C/C++
  • To make it impossible to write code that can crash or break real-time safety rules
  • To use a simple, familiar syntax which will be very easily learned by anyone who’s dabbled with C/C++, javascript or other common languages

Why use Cmajor?

The purpose of Cmajor is to fufil all the criteria of a successful and great audio specific DSL. It is designed for all levels of developers.

For Beginners, it provides an environment and community to learn with great libraries and safety.

For Developers, Cmajor provides JIT compilation for C++ performance levels.

Working with Cmajor

There are two ways of working with the API. The high level format of Cmajor patches and the low level API.

Cmajor Patch

A Cmajor patch is similar in nature to formats such as VST, AAX and AU plug-ins. It configures audio i/o bus configuration, MIDI handling and parameters in similar ways. Find more information about Cmajor patches here.

Low Level API

The low level API is aimed toward developers wanting to delve deeper into Cmajor. More information here.

Why the Name?

Cmajor is picked from the western musical world of keys. C major is arguably the simplest key. When you learn music theory, you start with no sharps or flats on your key signature. This idea of simplicity in audio development is what inspired the name and drives the platform. It also refers to the C style language syntax - neat!