Installing SchemeMosaic/EmacsMosaic on MS Windows(TM) or GNU/Linux

Table of Contents

The main page for SchemeMosaic is with a partial elisp documentation page at

MS Windows(TM) instructions

Install Cygwin

You can use the easy Cygwin Setup program.

It's ok to choose all the default options in the first few screens of the install wizard, but you can choose other options if you want.

When you come to the "Select Packages" screen, simply click "Next" to install the default core Cygwin packages. During a phase called "postinstall", the Cygwin installer may appear frozen. Do not interrrupt it! It is just finalizing the installation.

At the very end, be sure to check both checkboxes regarding "Create a desktop icon" and "Add to Start Menu."

Open the Cygwin Shell

This should now be in the Start Menu and on the Desktop.

Install dependencies

In the Cygwin shell, type or paste the following command and press RETURN:

curl | sh 

The installation will likely take several minutes. Please be sure to let the Cygwin installer complete fully before continuing on.

Install Mosaic

In the Cygwin shell, type or paste the following command and press RETURN:

curl | sh 

If this completes successfully with "Mosaic install completed", great!

Start emacs

In the Cygwin shell, type or paste the following command and press RETURN:

source ~/mosaic/

If this works, you can proceed to the "You're ready!" section below.

GNU/Linux instructions

Install Snd 19.9:

Download from

apt-get build-dep snd
tar xvzf snd-19.9.tar.gz
cd snd-19.9
./configure --with-motif --with-alsa --with-ladspa --with-s7 --with-editres
sudo make install

If you have issues getting Motif installed, you can substitute "–with-gtk" but some GUI features will be missing.

Install GNU Emacs 26.x

Install prerequisites

sudo apt-get install soundstretch ecasound gnuplot sox 

Install Mosaic source

cd ~/
git clone
mv mosaic-el mosaic

Add ~/mosaic/ to your Emacs load-path

Substitute the directory of your choice, if you installed it elsewhere.

(add-to-list 'load-path "~/mosaic/")

Install MELPA dependencies

You will need tabbar, jeison, and sr-speedbar.

See the included file ~/mosaic/emacs-init.el for a snippet of utility code. If you don't have an existing Emacs configuration, you can load the included emacs-init.el at startup by putting the following in your ~/.emacs file:

(load "~/mosaic/emacs-init.el")

Load Mosaic

If you haven't already loaded Mosaic, do:

(require 'mosaic)

M-x customize-group RET mosaic RET

This is very important to set options.

You're ready and Emacs is started!

If the menu bar hasn't appeared, do "M-x menu-bar-mode" and it should show up. You can choose the Mosaic menu and then "Show help" if you like.

Then choose the "Mosaic" drop down menu, and click "Customize global settings". Jack related options are not currently supported on Windows.

You must choose a "session" before doing much. A session identifies a folder where source and output WAV files, .CELL sequences, etc may be stored. One example session is included in SESSIONS, called "violin.mosaic". Try using the menu option for "Open/create session".

Under the "File" menu, choose "Open File" then go to ~/sessions/violin.mosaic/cello-solo-2.cell . Make sure to do "Mosaic–>Session->Load (or create) a session" choosing that same folder if you haven't already. Then click in the cello-solo-2.cell window and choose "Mosaic->SchemeMosaic->Render current sequencer".

If the Snd/Scheme buffer is not displaying, it might not be obvious that stuff is happening. Use the "Buffers" dropdown menu to show the Scheme buffer.

To play the output, try Alt-X and enter the command "mosaic-play-output" and press RETURN.

Look under the File menu and you can see "New Window…" to split the current Emacs window, and "New Frame" to make a completely new window.

There is another example session to play with, for chop and screw testing. On Windows it'll be in ~/sessions/test.mosaic, on Linux you can clone it like this:

cd ~/sessions
git clone

Open this session using the menu, then choose "Visit chopper". To use the menu with Emacspeak, use M-x "tmm-menubar". Or you can open the session directly with the command M-x "mosaic-find-session".

Try plugging in your own files, changing the settings, etc. And then choose "Render Chopper" making sure to watch for problems in the Snd/Scheme buffer. Right now the outputs go to ~/sessions/test.mosaic/.resource-N.wav you can either mix them in an external program such as Audacity, or use the built-in looper. To use the looper on this example we should first turn off two of the tracks. After rendering, the track objects will be available under "Ecasound Engine" in the speedbar. Choose track 0, and in the buffer that pops up, change "play-p" to "nil" by clicking the Toggle button. Then click "Apply" to apply your change to that track. Do the same for track 1. Then do M-x "mosaic-start-playing-interactively". To stop it, use M-x "mosaic-stop-playing-interactively".

Each time you run the looper, the output you hear is also saved to a timestamped WAV file in the current session directory.

On Windows, all these files are stored in C:/Cygwin64/home/USERNAME/

Author: David O'Toole <>

Created: 2019-11-30 Sat 11:08