# Real-time Cmix

> Mediated Wiki article. Canonical URL: https://mediated.wiki/source/Real-time_Cmix
> Markdown URL: https://mediated.wiki/source/Real-time_Cmix.md
> Source: https://en.wikipedia.org/wiki/Real-time_Cmix
> Source revision: 1330087174
> License: Creative Commons Attribution-ShareAlike 4.0 International (https://creativecommons.org/licenses/by-sa/4.0/)

**Real-Time Cmix** (RTcmix) is one of the [MUSIC-N](/source/MUSIC-N) family of [computer music](/source/Computer_music) [programming languages](/source/Programming_languages). RTcmix is descended from the MIX program developed by [Paul Lansky](/source/Paul_Lansky) at [Princeton University](/source/Princeton_University) in 1978 to perform [algorithmic composition](/source/Algorithmic_composition) using [digital audio](/source/Digital_audio) soundfiles on an [IBM 3031](/source/IBM_System/370) mainframe computer. After [synthesis](/source/Sound_synthesis) functions were added, the program was renamed Cmix in the 1980s. Real-time capability was added by David Topper, John Gibson, [Brad Garton](/source/Brad_Garton), and Douglas Scott in the mid-1990s. In addition, support for [TCP](/source/Transmission_Control_Protocol) socket connectivity, [interactive](/source/Human%E2%80%93computer_interaction) control of the [scheduler](/source/Scheduling_(computing)) were added, as well as the ability to embed the synthesis engine into fully featured applications such as [Max/MSP](/source/Max/MSP).

Over the years Cmix/RTcmix has run on a variety of computer platforms and operating systems, including [NeXT](/source/NeXT), [Sun Microsystems](/source/Sun_Microsystems), [IRIX](/source/IRIX), [Linux](/source/Linux), and [Mac OS X](/source/Mac_OS_X). It is and has always been an [open source](/source/Open-source_model) project, differentiating it from commercial [synthesizers](/source/Synthesizers) and music software. It is currently developed by a group of computer music researchers both academic (at [Princeton University](/source/Princeton_University), [Columbia University](/source/Columbia_University), and [Indiana University Bloomington](/source/Indiana_University_Bloomington)), and private.

RTcmix has a number of unique (or highly unusual) features when compared with other synthesis and [signal processing](/source/Signal_processing) languages. For one, it has a built-in [MINC](/source/MINC) parser, which enables the user to write [C](/source/C_(programming_language))-style code within the score file, extending its capability for [algorithmic composition](/source/Algorithmic_composition) and making it closer in some respects to later music software such as [SuperCollider](/source/SuperCollider) and [Max/MSP](/source/Max/MSP). It uses a single-script instruction file (the score file), and synthesis and signal processing routines (called instruments) loaded as [shared libraries](/source/Shared_library). This is different from [MUSIC-N](/source/MUSIC-N) languages such as [Csound](/source/CSound) where the instruments exist in a second file written in a specification language that builds the routines out of simple building blocks (organized as [opcodes](/source/Opcode) or [unit generators](/source/Unit_generator)). RTcmix has similar functionality to [Csound](/source/CSound) and other computer music languages, however, and their shared lineage means that scripts written for one language will be extremely familiar-looking (if not immediately comprehensible) to users of the other language.

## Bibliography

- [https://link.springer.com/chapter/10.1007/978-981-19-2266-4_34](https://link.springer.com/chapter/10.1007/978-981-19-2266-4_34)
- [https://books.apple.com/us/book/computer-music-composition-with-rtcmix/id1133994012](https://books.apple.com/us/book/computer-music-composition-with-rtcmix/id1133994012)
- [https://link.springer.com/chapter/10.1007/978-981-19-2266-4_34](https://link.springer.com/chapter/10.1007/978-981-19-2266-4_34)

## External links

- [Official website](http://RTcmix.org)
- [RTcmix on GitHub](https://github.com/RTcmix)

---
Adapted from the Wikipedia article [Real-time Cmix](https://en.wikipedia.org/wiki/Real-time_Cmix) by Wikipedia contributors ([contributor history](https://en.wikipedia.org/wiki/Real-time_Cmix?action=history)). Available under [Creative Commons Attribution-ShareAlike 4.0 International](https://creativecommons.org/licenses/by-sa/4.0/). Changes may have been made.
