Frequently Asked Questions

Here is a list of frequently asked questions / issues:

  1. When I double-click on JEM.jar nothing happens (or I get an error).
  2. JEM loads very slowly (or when playing music, it hesitates).
  3. Java’s default MIDI sounds are not so good.  Is there something better?
  4. Can I use sounds from Logic Pro, Ableton Live, Reaper (or other software)?
  5. Can I play microtones?
  6. Can I use the MIDI auto-learn feature in Ableton Live (or other DAW)?
  7. How to find answers to other questions?

1.  When I double-click on JEM.jar nothing happens (or I get an error).

JythonMusic and JEM run on top of Java.

Install the Java SE Development Kit – Java 8 version, for your system.

NOTE: There is a newer Java, version 9.  However, it breaks Jython.  This is a much bigger issue than JEM… and many people are working to fix it.  So, use Java 8 for now – not 9!


2.  JEM loads very slowly (or when playing music, it hesitates).

Increase memory available to Java as follows:

http://www.wikihow.com/Increase-Java-Memory-in-Windows-7

The process for Mac and Linux is similar.  For Mac, go to System Preferences / Java.  This will open the Java Control Panel.

For example, if you have, say, 8GB RAM, try the following parameters: -Xms4g -Xmx4g


3.  Java’s default MIDI sounds are not so good. Is there something better?

Indeed, Java’s synthesizer (known as Gervill) comes with a not-so-great soundbank installed by default.

You can replace Java’s default soundbank with a better one.

Windows 10

Here is how for Windows 10 (courtesy of Sam Lopate):

  • Get a better soundbank.  For instance, FluidR3 GM2-2.SF2 is a good choice. There are many others.
  • Navigate to C:/Windows/System32/drivers and locate the file called gm.dls (this is the default Java soundbank).
  • Remove this file from the folder (perhaps place it somewhere else, in case you want to revert back to it).
  • Place the new .sf2 file (soundbank) inside the audio folder, under the Java jre folder.  You may need to create the audio folder, if not already there.

When you restart JEM, it will use the new soundbank.  You can go back-and-forth, if you wish.

Mac and Linux

Here is how for Mac and Linux:

  • Get a better soundbank.  For instance, FluidR3 GM2-2.SF2 is a good choice. There are many others.
  • Download it, and put it in the folder where Java stores the default soundbank:

Java keeps the Gervill synth stuff in your home folder, under

/home/someuser/.gervill/soundbank-emg.sf2

where ‘someuser’ is your username… (‘.gervill’ is a hidden folder in your home folder).

  • Finally, use Terminal to get there, and…

Rename or delete that file: soundbank-emg.sf2
and place the better sf2 file there (not some ZIP, the actual .sf2 file),
and rename your better file to the default filename: soundbank-emg.sf2 .

When you restart JEM, it will use the new soundbank.  You can go back-and-forth, if you wish.


4.  Can I use sounds from Logic Pro, Ableton Live, Reaper (or other software)?

Yes, you can.

Most digital audio workstation (DAW) software (e.g., Logic Pro, Reaper, Ableton Live, etc.) can receive MIDI notes, and play them using their own sounds.

To do that:

  • On the JEM side, create a MidiOut object and select the default MIDI port (see attached image, for Mac).
to_use_external_midi_progam

Select your computer’s default MIDI port for output (on Mac)

  • On the DAW side (e.g., Logic Pro, etc.), create a MIDI track and make it receive input from the default Apple MIDI port.

The same approach works on Windows, and Linux.

NOTE: Some programs, such as SimpleSynth (Mac, free), or MainStage (Mac, $29), make this extremely easy.  Other programs (e.g., Logic Pro) require a bit more effort.

Finally, you could use OSC messages instead.  Same idea.


5. Can I play microtones?

Yes, you can.

Microtones may be rendered in two ways:

There are some limitations, however.

Using the standard MIDI synthesizer:  Since the MIDI standard does not support microtones, JythonMusic creates microtones using MIDI pitch bend.  MIDI has only one pitch bend per channel.  Therefore, for microtonal MIDI polyphony, you have to spread concurrent notes across channels.  Since MIDI has a total of 16 channels (of which channel 9 is reserved for percussive sounds), only a maximum of 15 concurrent microtonal notes is possible in MIDI.

Using pre-recorded audio files:  For consistency with MIDI, you can have a maximum of 16 concurrent microtonal notes (since, for audio instruments, we can also use channel 9). You need to load as many audio files as channels used (each audio file can render only a single note at a time).  Again, you need to spread concurrent notes across channels.  Also, you may be limited by your computer’s memory and CPU speed (since audio files — having much better quality — utilize extra memory and CPU cycles).

For more information, see:


6.  Can I use the MIDI auto-learn feature in Ableton Live (or other DAW)?

Yes.

Using the MIDI-learn feature of Ableton Live (or other DAW, e.g., Reaper, etc.) will automatically connect any MIDI notes send via JEM to any function supported by your DAW (Ableton Live, Reaper, etc.).

Here is how:

  1. Put your DAW in MIDI-learn mode.
  2. Send a MIDI note from JEM.
  3. Exit your DAW’s MIDI-learn mode.

You can use this for as many DAW functions are you wish.

Caution:  Do NOT press JEM’s stop button, while your DAW is in learn mode!!!

When stop is pressed, JEM sends a message to stop all notes (CC 123 – all channels). This is done to turn off all sounds generated by equipment connected to JEM (as one might expect).

So, first turn MIDI learning off in the DAW, and then press the stop button in JEM. Otherwise, the DAW will also learn the stop message, which is something you probably do not want…


7.  How to find answers to other questions?

You can post your question on Stack Overflow.

Also, if you know the answer to a posted question, feel free to contribute.  Thanks!