CMask is a stochastic score generation tool for Csound that implements its own high-level language for describing musical gestures. Just a few lines of CMask code can create thousands of score events.

CMask was written by Andre Bartetzki and he released the source code for CMask under the GNU General Public License in 2006. I am deeply indebted to Andre for making CMask free software and for sending me the Macintosh resource files needed to recompile the Mac version of the program.

Huge thanks also to Charles Engstrom for his support of the development of the Mac OS X port!!

The following releases of CMask are for Mac OS X or Mac OS Classic and they should all be functionally identical to Andre’s 0.31 release as far as the CMask language and score generation routines are concerned. They include updates to the Macintosh GUI interface or bug fixes in the case of the command-line versions.

Releases 2 thru 4 below include the CMask application, information about the changes I’ve made, the modified source code, and copies of Andre Bartetzki’s manual and example files. These examples and the manual were downloaded directly from Andre Bartetzki’s site and I have not modified or added to them. My only contribution to these packages was the updated Macintosh interface.

Screenshot of CMask for Mac OS X

CMask 0.31 Release 4

New January 20, 2013

For Mac OS X 10.4 or later

The Macintosh interface in Release 4 has been largely rewritten to be compatible with the latest Mac OS X systems, but functionally it is nearly identical to Release 3. This version is a “Universal Binary” and should support running on any Macintosh computer with Mac OS X 10.4 or later, including Intel Macs with 10.7 Lion or 10.8 Mountain Lion.

Update: This release outputs spurious errors on some versions of Mac OS X (10.8 and later?).  Please try this pre-release version instead.


CMask-0.31r4.dmg (1.6MB)

CMask 0.31 Release 3

Released on January 20, 2013 (developed in 2008)

For Mac OS 8 thru Mac OS X 10.6

The Macintosh interface in Release 3 includes a few bug fixes and other minor improvements since Release 2.

Release 3 can run on any PowerMac or Intel Mac computer running Mac OS 8, OS 9, or Mac OS X up to 10.6 (Snow Leopard).


CMask-0.31r3.dmg (1.5MB)

CMask 0.31 Release 2

Released October 18, 2007

For Mac OS 8 thru Mac OS X 10.6

Release 2 was the first version of the Macintosh interface to be Carbonized so that it runs as a native Mac OS X application. This version also runs on Mac OS 8 and 9. I added functional menus and made it possible to generate scores multiple times without quitting. In addition, I added drag and drop support between CMask and the Finder.

Please note: this package is a Mac OS Classic disk image that has been encoded with MacBinary. You may need to install a program such as Stuffit Expander to open it correctly.


CMask-0.31r2.img.bin (1.3MB)

Command-line CMask binaries

Updated January 20, 2013

I have also corrected a bug in the command-line version of CMask that would cause it to crash if the input filename was longer than 32 characters. (Note that I did not provide a complete fix, but merely expanded the limit to 2048 characters and made the limit easier to change).

The following archives include the modified source code. The first one also includes binaries compiled for Mac OS X 10.5 or later (both PowerPC and Intel).  They were compiled with GCC 4.0.1 and should be easy to recompile on many Unix-like operating systems.  I have heard that the C++ code needs a few changes to compile with some more recent versions of GCC though.

For Mac OS X 10.5 or later


CMask source code and OS X binaries (124K)

CMask source code only (32K)

If you have an earlier version of Mac OS X, you may wish to download this command-line binary of CMask for Mac OS X 10.2 or later. This is an older version WITHOUT THE FILENAME BUG FIX.

For Mac OS X 10.2 thru 10.6


Command-line binary from March 15, 2007 (172K)

Sending Feedback

I am always happy to hear from people who are using my work but I currently have no plans to continue working on this software. Feel free to leave a public comment below or send other feedback via the email address on my contact page.


4 thoughts on “CMask

  1. Jan Jacob Hofmann

    Dear Antony,

    I just downloaded and installed Cmask again (as I had to renew my OS) and I just wanted to express a big “thank you” on your work on Cmask. It makes so much possible for my work…

    All the best,

    Jan Jacob

    1. Anthony Post author

      Hello Jan Jacob!

      Thanks so much for letting me know that you are using CMask! I am pleased that you are finding the small updates I’ve made useful. (Of course, Andre Bartetzki deserves all of the credit for creating CMask).

      I am enjoying listening to your music right now, especially “Oscillating Fields”, “Metal Clouds”, and “Inside Inbetween Itself”. They must sound pretty cool on a large, ambisonic speaker array! :)

      I learned some time ago that there is a problem with the Mac OS X application, Release 4, that prevents it from working correctly with any parameter files on OS X 10.8 “Mountain Lion” (and perhaps other versions too). I managed to find a solution to the problem but the new version is not quite ready to post on my site.

      Anyone who is having trouble with Release 4 is welcome to email me and I will send them a link to a pre-release of the next version of CMask that should resolve the trouble.

      Thanks again for your feedback!

      Best regards,



    Hi Anthony, thank you for the work you have been doing in facilitating CMask for all of us, mortals…
    I have come back to CMask after an interval of several years. I started over with simple examples, increasingly slowly the complexity of the parameters files.
    CMask worked well up to certain point, in which errors started to appear.
    I have been looking for everywhere (manual, internet), and I haven’t been able to find solutions.
    One consistent error is -49, and another concerning constants.
    Even with parameters as simple as:
    p1 const 1
    p2 const 0.5
    p3 const 0.25
    p4 const 12000
    p5 const 500

    With such a simple list, I still get an error -49, and cannot move forward.
    Any thoughts?

    I wouldn’t like to give up on CMask… it is such a wonderful tool to write music…
    Thank you so much for any help.

    1. Anthony Post author

      Hi Pablo!

      I’m happy that you and others continue to be interested in CMask and find the Mac versions helpful.

      The errors that you are experiencing sound like the same problem that I identified and fixed almost 5 years ago. On some versions of Mac OS X (at least 10.8 and later?), CMask 0.31 Release 4 reports spurious errors in the parameter file when nothing is actually wrong with the input.

      Please download this prerelease version and let me know if it corrects the problems for you. I didn’t make this version public before because I hadn’t updated the ReadMe and ChangeLog files.

      I apologize to everyone who has experienced this problem with CMask 0.31r4 over the past 5 years. I will try to post a finalized “Release 5” in the near future.

      One more thing I should add is that Steven Yi and I are now maintaining our latest source code for the command-line CMask on GitHub.

      Good luck!


Leave a Reply