gmorgan v0.40

Modified 2011 by Robert Vogel (vogel [at] ct [dot] metrocast [dot] net

See Changelog for some details. This document NOT updated to v0.40 yet

Copyright (c) 2003 by Josep Andreu

logo

INDEX


Introduction

Requirements

How to start?

Settings Menu

Basics

Main Window

Edit Pattern Window

Controller Editor

Soundbank Window

Velocity Window

Song Sequencer Window

Global Drum Edit

Utilities Menu

Importing MIDI Files

About Skins


Introduction

Gmorgan is a midi processor. It can be voiced using Linux synths, midi connected equipment, or using one or more of the many soundcards available. Mix the first four voices. You can use a virtual keyboard, but it is best to use a velocity sensing keyboard so that voices can be layered. It recognizes chords being played on the keyboard, and on the backgound terminal screen prints the input notes. There is a YouTube video which demonstrates some of this. See the Sourceforge project page for the link. Other features include a rhythm arranger, a style based sequencer, midi recorder. Jack recognizes it, so you can hook it to other synths.

It uses scheduled events in ALSA sequencer, and is based on a miniArp.c from Matthias Nagorni. It uses MIDI, is fully configurable (or may reach this aim in future versions *g*), the easiest way to use it is a soundfont compatible soundcard or a software synthesizer like fluidsynth or Timidity(++).

This program originally developed on a PIII 933 with emu10k1 running debian. It is tested on a PII 300 with an old SB16 ISA card and timidity, running debian, too. Up to now neither Kernel 2.6.0-test11 nor 2.4.23 showed any problems related to them. It should be ok on any Linux 32 or 64 bit distribution.

Web page where you can find the latest version:

http://gmorgan.sf.net


Thanks to Guy Daniel Clotilde, the webmaster, for this effort.

Thanks to Gilles Maire for the documentation of this program. Documentation is available in various languages and can be found on the project page at sourceforge.

You can subscribe our mailing list gmorgan-user for support, announcements and comments.

If you enjoy this program, please send your patterns or complete styles/arrangements to the user's mail list. I will gladly add them to the distributed files in future versions.


Requirements


First the bad News

Unfortunately, all of those GM soundfonts out there sound different. Additionally the same soundfont sounds different in a soundcard compared to a software synthesizer – and different soundfont synthesizers may sound different with identical data, too. That's a problem, because therefore there's no way to guarantee a balanced sound of the patterns and styles under all circumstances. Depending on the way you generate audio on your machine, maybe you will have to adjust all the volumes, sorry for this inconvenience. The drum velocity mixer however may help with that problem.


How to start?

gmorgan is released with General Midi preset files, so for a quick start you need a GM compatible soundfont at least.

If you have a soundcard with wavetable support, you need to load a soundfont file. On emu10k1 based or awe compatible soundcards type:

sfxload "soundfont file"

“sfxload” is part of the “awesfx” package from Takahasi Iwai, available at http://mitglied.lycos.de/iwai/awedrv.html.

If you don't have a sound card with a wavetable device you need a software synthesizer like Timidity. The following way you can start Timidity as an alsa sequencer client:

timidity -j -iA -B2,8 -Os -EFreverb=0

In case it doesn't already exist you'll have to create a file named /etc/timidity.cfg containing the following line:

soundfont "soundfont file"

For additional details, see Timidity's documentation or the one coming with your distribution. If you prefer fluidsynth, start it this way:

fluidsynth -m alsa_seq "soundfont file"

The "soundfont file" contains the sound samples forming the different instruments you hear. Personally I use the GM soundfont file "8RealGS20.SF2":

ftp://ftp.lysator.liu.se/pub/awe32/soundfonts/8RealGS20.zip

It is not the best one you can get but it is a quite good compromise between size and quality of sound. If you use another one the quality of the instruments may improve but you possibly will have to remix many patterns.

In order to use the Reverb and Chorus effects in a emu10k1 device you need to install the ld10k1 package from Peter Zubaj available in:

http://ld10k1.sf.net

The best way to get quickly set up with gmorgan is to start it, edit and save your settings and restart the application. Afterwards - if connecting your devices didn't fail - you're ready for your first session. :-)

If you didn't change the default installation paths, the example files are located in /usr/local/share/gmorgan. Activate the “settings” dialog, and fill in the paths step by step. You may use the “browse” buttons to navigate to the default or installation path and select the appropriate file for each category.

Category

File

Preset file

GMPresetList.txt

Drum Note Name file

GMDN.txt

Help file

help/help.html

Skin file

skins/skin.txt

Always select “skins/skin.txt” as source file for skins, some dependencies are hard coded. If you want to create/edit your own skin, always edit this file and place your bitmaps and other additional files in a subdirectory with the name of your choice below “skins”.

BTW: You can use command line parameters to load sounds, patterns and styles etc. , too:

gmorgan v0.22 - Copyright (c) 2003 Josep Andreu (Holborn) Usage: gmorgan [OPTION]
-h , --help display command line help and exit
-d File --drump=File get the drum map file list
-p File, --preset=File get the preset file list
-l File, --load=File loads styles
-b File, --bank=File loads sound bank
-r File, --rhyt=File loads patterns
Some examples are located in /usr/share/gmorgan, load and enjoy. An example of a command line to start gmorgan overriding parts of the config file:

./gmorgan -l MisStyles.gms -b MisProgs.gmo -r MisPat.gmp


Settings Menu

Global Settings

There are two list views with ALSA sequencer MIDI Ports in this dialog, one for MIDI In and the other one for MIDI Out. Select one device in each one. As soon as you restart gmorgan, the specified devices get connected.

Browse your paths and select the files that gmorgan is to load by default. Remember, the files are located in /usr/local/share/gmorgan if you didn't change the default installation paths. The skin file is located in the subdirectory “skins”.

With the command line parameters -l, -b and -r you can override the paths you saved in your settings. Use them if you want to load different Sounds, Patterns, Styles or Presets than the usual ones only every now and then.

“Mutes are pattern dependant”: Check this box if you want the patterns to control the muting (On/Off) of each accompaniment channel.

Preset Files

gmorgan uses two files for the presets. One contains the names of the sounds in a bank, and another one lists the names of the drumset's notes. gmorgan installs these two files in /usr/local/share/gmorgan as GMPresetList.txt and GMDN.txt. You can add your soundfont's preset names by editing this files. gmorgan loads both at startup when properly configured - or loads other ones if command line parameters were provided.

The preset list follows the example of a small utility named sftovkb that comes with a wonderful program of Takashi Iwai called vkeyb.

The format is:

Bank Program Name

0 0 Piano

The drum notes list shows a similar structure, just that the names don't describe programs but names for tones in a program:

Program Note Name

0 44 Pedal Hi-Hat

Preset File Editor

Modify the name of a selected preset in a bank or add new ones.

Drum Note Name Editor

Modify the name of the selected drum note or add new ones.


Basics

Sounds

For the first four channels in the mixer, your left and righth hand keyboard settings, it's possible to produce layer sounds. For each part of the accompaniment you can adjust the individual sound. Programs can be changed with MIDI program change messages, too, if you want to change sounds while you play. Alternatively use the shortcut Alt-B to open the bank window and select the new sound for melody play.

Patterns

These form the most important part of gmorgan. You can load up to 500 patterns, each pattern containing up to 5 melodic/chord ingredients and Bass & Drums. Select with a left click or edit with a right click. Save them all together at once, or one by one. Pattern parameters are explained in the Pattern Editor Section. All changes made in the mixer are stored in the pattern – so be careful because if you save the pattern file, these changes will be saved, too.

Remember that in General Midi, drums are assigned to Bank 128. You will need to change the Bank MSB parameter to 128 in the extra params dialog (+) if you use General Midi soundfonts. Empty Patterns are "hardcoded" to use bank 128 for drums, but you need to change it if you don't use General Midi.

Styles

Styles just store the number of each pattern responsible for Var1, Var2, Fill1, Fill2, Intro and Ending - and selected tempo and sound program. Again you can can save all styles at once or one by one.


Main Window

Only a few things need to be explained. Two lines of buttons named Pattern and Next Pattern can be used. When you select a style, the Pattern value changes in real time if you select another pattern using this button. Next Pattern changes the pattern as soon as the current one finishes. The buttons Var1 F2 and Var2 F1 change the pattern playing the "F" (Fill) pattern before the start of the next pattern. Always pay attention to your Fill1 and Fill2 patterns so that they contain less bars than the Var1 or Var2 patterns.

Shortcuts

Press F1 for help.

Pattern:

Next:

“Next” can be controlled with MIDI Pitch Bend events, too. Try it but it ain't that easy... ;-)

The HMode controls the way the notes played on the right keyboard part are harmonized. There are six types: Unison doesn't harmonize at all, alternatively you can choose out of thirds, sixths, triad 1, triad 2, solo 1 and solo 2. Mind the available polyphony of your sound devices – the solo modes use 4 additional notes for each note! 4 notes * 2 channels = 8 notes for each note played. If you play four your sound device has to generate 32 simultaneously notes, a lot of devices don't support that amount of polyphony.

The “+” button of each channel in the mixer opens a window with extra parameters for that channel.

Play-Record buttons

This buttons Record/Play what you play in the organ, also in the menu you can Save/Load or Export as MIDI file. gmorgan record also all Pattern/Sound changes or whatever you change in the mixer during recording. In this Play Mode the organ and the sequencer operation is disabled, but you can "play" with the mixer to correct volumes, this changes in play mode can not be recorded, is only for monitoring.

You can record 64.000 events, a large song :)

The Export MIDI file of this events is a "little" bit slow ... be patience, i will improve in future versions, also .. i am not very happy with the resolution, and maybe that's a buggiest part of the program.

Hints for Recording

It is extremely hard to click on record and then start playing immediately - but you can use a trick: edit your favorite style and define a count-in or an empty pattern as intro, then select this style, click on ?Intro? in the current Pattern line and ?Var1? in the Next Pattern line - then click "Record". Now gmorgan starts with the Intro pattern and will change to the Var1 pattern next. Also you can use the Guided Pattern Play explained in the Utilities menu.

At the beginning of a recording gmorgan writes the current sound at the start of the first bar. If you want to record with another sound, you have to overwrite your previous choice.


Edit Pattern Window

This is the most important part and