Home > Cshellsynth

Cshellsynth

Cshellsynth is a project mainly written in C and SHELL, based on the GPL-2.0 license.

Modular software synthesizer (old; see sonicmaths)

Cshellsynth is a library for synthesizing sound using the Jack Audio Connection Kit on Linux. It optionally includes a module for ruby suitable for livecoding.

This depends on libsndfile and jack. libsndfile could be made optional, but this hasn't yet been done.

For Jack, see http://jackaudio.org. I highly recommend version 2 or later. Version 1 compiles, but doesn't seem to deal well with the extremely large number of clients your program will no doubt generate.

For libsndfile, see http://www.mega-nerd.com/libsndfile/

See the file `INSTALL' for generic instructions on how to compile and install this software.

See the file `NEWS' for late-breaking news about this version.

See the file `ChangeLog' for an up-to-date list of source-level modifications.


Some questions that have never been asked of me:

How stable is Cshellsynth?

Right now, Cshellsynth is in alpha. However, mostly that just means that the API is not completely stable. If you compile against Cshellsynth and don't upgrade it, it should be pretty stable. However, if you do find a bug and the API has been changed, don't expect me to back-port changes for you, though you should be able to do it yourself with a git changeset.

Where can I send a bug report?

Please use the git project page at http://github.com/ebuswell/Cshellsynth/issues

I don't understand ruby or C. Will you make a GUI for Cshellsynth?

No. Cshellsynth was always intended to be textual. On the other hand, I would be happy to include modules for other languages, if anyone wants to write one.

Will you include feature x?

If you write it and it's simple and mathematically generic enough, yes. If it is not very generic (e.g. modeling a particular analog synth), write it as a separate library, and I will be happy to link to it on the site. Since this project uses jack, and jack has a dssi "rack" (jackrack), there's multiple ways of doing this.

If you want something that seems obvious, but don't have time to write it, send a request. I may not implement it, but it doesn't hurt to ask.

What does Cshellsynth stand for?

When I came up with the name, I was thinking of writing a domain-specific language for livecoding. "cshell" then would stand for "C SHimple Enterface LLanguage." Instead, we have ruby, and so "cshell" stands for those lovely things that wash up on the beach. This is probably just as well, as the humor of a grossly misspelled acronym might be mistaken for an incompetent or nonparticipatory move in the acronym game, beloved by software engineers everywhere.

Cshellsynth is Copyright 2010 Evan Buswell

Cshellsynth is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version.

Cshellsynth is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with Cshellsynth. If not, see http://www.gnu.org/licenses/.

Previous:gardenofshoes