Gigsaw

Here's my review page for Le PUZZLE du BATTEUR - The DRUMMER’S "GIGSAW"

The gigsaw can be useful to replace a normal sequencer because it allows one to work on a midi file using text only and thus the functions that are available in a text editor, like e.g. the replace function. More logical maybe.

Sometimes it's easier to use the names of rhythms instead of the notation or midi pianoroll/matrix drum editor.

To use the gigsaw, you need gvim (the vim-gnome package).

At least, to convert from Lilypond format to midi.

Composing drums can also be done in a simple text editor using copy-paste.

Below is the tutorial you find in the downloaded tarball.

Copyright © 2008, 2009 Philippe HARDY.

Permission is granted to copy, distribute and/or modify this document

under the terms of the GNU Free Documentation License, Version 1.3

or any later version published by the Free Software Foundation;

with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.

A copy of the license is included in the section entitled "GNU

Free Documentation License".

Contact: superbonus {dot} project {at} free {dot} fr

site : http://superbonus.project.free.fr

The Drummer's Gigsaw :

Installation

Short tutorial

Long Tutorial

You have to install:

Lilypond >= 2.12.0

gvim

midicomp 0.0.4

First of all edit your /home/.vimrc

If it doesn't exist you must create it. And paste the following command:

autocmd BufEnter * cd %:p:h

(meaning: I want the output in the directory in which source file is.)

In the meanwhile if you want all files encoded in UTF-8, paste this:

set encoding=utf-8

set fileencoding=utf-8

set fileencodings=utf-8

Save your file. It might happen you have to reboot so that it could take changes into account.

Then edit your PATH in the file INSTALL.sh

Open it.

Then substitute export DRUMMER_S_GIGSAW=/YOURPATH; to your own path.

(ex: export DRUMMER_S_GIGSAW=/home/badaboum/tchak;) inside this file.

Save your file.

Then in a terminal go to Drummer-s-Gigsaw's repertory.

cd /YOURPATH/Drummer-s-Gigsaw

and run the bash script:

sh INSTALL.sh

That's all for the PATH.

(As Lilypond, gvim and midicomp seems to be available on Windows, I'll like to

do a dedicated version. But the issues I encounter aren't solved at this time.)

On GNU/Linux you can check if all the stuff is done with the console.

grep -RHn "/MONCHEMINVERS/Drummer" '/home/...... /Drummer-s-Gigsaw'

If all is right you get nothing.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

As you want the same velocities as in the "Gigsaw" you'll

move (with root login) the source file:

/usr/share/lilypond/2.12.<your version>/scm/midi.scm

to

/usr/share/lilypond/2.12.<your version>/scm/midi.scm-old

and copy:

"YOUR... /PATH... "/Drummer-s-Gigsaw/Le-grenier/midi.scm

to

/usr/share/lilypond/2.12.<your version>/scm/

***BE AWARE! BE AWARE! BE AWARE!***

When you upgrade Lilypond you have to do this substitution again.

For others cases the /Drummer-s-Gigsaw/Le-grenier/midi.scm-origine is a backend for safe.

The light is getting closer.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

1 Export a song to midi and pdf file

In your terminal let's go to MA-BASE. Type:

cd YOUR... /PATH... "/Drummer-s-Gigsaw/MA-BASE

Then type:

lilypond MY-SONG.ly

The file wasn't empty. Indeed it's a basic demo.

Have you checked if the compile was right in your terminal? Essential.

You are in your "workroom".

Open the MY-SONG.pdf and listen to the MY-SONG.midi file.

Tsss! All seems too flat! And with odd sounds sometimes.

Don't complain, the magic happens!

2 Add the velocity values to the midi file

Open the file 0-run-process in gvim and follow the instructions.

Wait for the end of the process. (NOTE: If the process messages fill in the page, press Space bar to continue.)

Then look at /MA-BASE. You've got a new midi file: MY-SONG+veloc.midi

This time it's a midi file with a clearer sound and velocities on each note!

Enjoy it.

3 Improve the demo. (copy a bar)

In /MA-BASE open MY-SONG.ly

For instance to copy a bar, put your cursor on the empty line just above % DUMMY-BASE mes37.

Click and drag to the end of the bar (end of line with | )

Now you see a grey area. Click once. The grey area disappears.

Put your cursor on the empty line just above \tempo 4 = 110.

Middle click 3 or 4 times. Your bar is duplicated 3 or 4 times.

Save your file.

If it's not already done in your terminal let's go to /MA-BASE.

Then type:

lilypond MY-SONG.ly

Have you checked if the compile was right in your terminal? Essential.

If it's not the case, don't process further, it will be useless.

Correct your file. Help yourself with the messages at compile time, the pdf and the odd midi.

If you don't succeed read the Lilypond Documentation and subscribe to its users mailing list.

This time you know the ritornello.

Open the file 0-run-process in gvim and type inside...

Enjoy it.

4 Create your own song.

4.1 setup a new file:

Rename your old MY-SONG.ly,

Copy the blank file MY-SONG-blank.ly from Le-Grenier

to MA-BASE and rename it to MY-SONG.ly. (The file that you're working on always has to be named MY-SONG)

4.2 import and arrange patterns:

Go to the Bibliotheque , open Le-Puzzle-du-Batteur-DUMMY-BASE.ly and

pick-up new patterns of your choice in the DUMMY-BASE. (copy and paste)

You can copy the comment % DUMMY-BASE mes(num) above your bar, so you would find

it inside a BASE. Sometimes useful when you want to add some ready-made variations of the same pattern later.

This time once again you know the ritornello.

Open the file 0-run-process in gvim and type inside...

4.3 Transform patterns

Evidently you could transform the existing patterns in your file or delete them.

But BE VERY CAREFULL with the Lilypond syntax or the changes of time signature

(see the Long Tutoriel). In all cases while you're playing in your "workroom" the console is your friend.

Don't change ANYTHING outside your work area unless you know what you do!

Warnings at the top, middle and bottom of MY-SONG.ly reminds it to you.

You can rename the resulting MY-SONG+veloc.midi file whatever you want ONLY after the whole process.

P.S.: If you want to go further there is a MY-SONG-demo2.ly in Le-Grenier.

Have fun!

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

( in progress )

INTRODUCTION

There is a particular math in music where:

64 + 64 = 32

32 + 32 = 16

16 + 16 = 8

8 + 8 = 4

4 + 4 = 2

2 + 2 = 1

~~~~~~~~~~~~

Questionning.

In cases like chord of same family of an instrument, hence a chord on the same track, the Gigsaw shows its limitations.

You see very quickly a chord in the pour-debug.pdf.

Two notes are glued together. (Siamese notes?)

For instance, two cymbals <cymca_\ff cymcb_\ff>8

In midicomp they show

MTrk

000:00:000 Meta TrkName "cym"

000:00:000 ProgCh ch=10 prog=0

000:00:000 Meta InstrName "drums"

010:00:000 On ch=10 note=a4 vol=127 <= wrong

010:00:000 On ch=10 note=c#4 vol=127 <= wrong

010:00:192 Off ch=10 note=a4 vol=64

010:00:192 Off ch=10 note=c#4 vol=64

Before the transformation there wasn't a separated Param for each Note On,

hence we obtain a vol=127. (You could check it with the MY-SONG-patterns-30pistes-pour-debug.midi)

It's very annoying. But you already are a bit lucky. In the 30-pistes-template all toms are separated. The 7 cymbals are splitted in 2 groups:

(1) cymca, cymcb, cymch and cyms on a track

(2) cymra, cymrb and rb on an another track.

Thus even two different dynamics on different tracks are available:

YES: <cymca_\mp cymra_\ffff>8 are solved by this template

but not two different dynamics on the same track:

NO: <cymca_\mp cymcb_\ffff>8

There is a similar split for the bongos: (1)bol and (2)boh and the congas: (1)cghm-cgho and (2)cgl.

But it remains some limitations about the others instruments. For example the

snares.

At this time this issue could be solved by an automate-Batterie-seule.vim and an automate-Percussions-seules.vim

It's only by this way the Gigsaw will cover the whole midi drums.

~~~~~~~~~~~~

To change a pasted bar. The mistakes you'll avoid .

You want to change a picked bar, for instance to add or delete a crash cymbal.

You can do this: (CAPS are only there for an easier learning. Don't copy them.)

% DUMMY-BASE mes9

\time 5/4

<bd_\ffff hhp_\sf CYMCB_\ff>8 r8 <sna_\ff hhp_\fff>8 r8 <bd_\fff hhp_\ffff>8 r8 <sna_\f hhp_\fff>8 r8 <bd_\fff hhp_\ffff>8 r8 |

would become

% DUMMY-BASE mes9 (transformed)

\time 5/4

<bd_\ffff hhp_\sf>8 r8 <sna_\ff hhp_\fff>8 CYMCA8_\f <bd_\fff hhp_\ffff>8 r8 <sna_\f hhp_\fff>8 r8 <bd_\fff hhp_\ffff CYMCB_\ff>8 r8 |

Be aware of the right place for the digits. In all cases in your workroom the console is your friend.

Also with the gvim's Replace panel you can change some sna to sne for instance , or hhp to hhc or ...

whatever you want. (Your mother-in-law to woodblocks?)

Help yourself! In gvim, keep up the focus on MY-SONG.ly and go to the menu -> Edit -> Replace.

_______________________________________

| |

| Search: sna |

|_______________________________________|

| |

| Replace: sne |

|_______________________________________|

Click on Replace all.

Save your file.

To prevent from a nightmarish compile don't write supplementary spaces beetween each occurences of:

1. angle brackets

NO: < bd_\p .... or .... cymra_\f > 32

YES: <bd_\p .... or .... cymra_\f>32

2. sounds

NO: sna8_\mf tomfl16_\ff <sne_\fff tamb_\p>16

YES: sna8_\mf tomfl16_\ff <sne_\fff tamb_\p>16

It's also impossible to write doted values for the sounds at this time (but this is possible for the rests)

Ex. in 6/16

NO: bd8._\fff <bd_\f hhc_\ff>8. |

YES: bd8_\fff r16 <bd_\f hhc_\ff>8 r16 |

YES: bd8_\pp r16 r8. |

All the Gigsaw's BASES are written from the eighth note. Try to do the same

thing.

Ex. \time 5/4

NON: <bd_\ffff hhp_\sf cymcb_\ff>4 <sna_\ff hhp_\fff>4 <bd_\fff hhp_\ffff>4 <sna_\f hhp_\fff>4 <bd_\fff hhp_\ffff>4 |

OUI: <bd_\ffff hhp_\sf cymcb_\ff>8 r8 <sna_\ff hhp_\fff>8 r8 <bd_\fff hhp_\ffff>8 r8 <sna_\f hhp_\fff>8 r8 <bd_\fff hhp_\ffff>8 r8 |

~~~~~~~~~~~~

To use for yourself the DUMMY-BASE. User's contributions.

Once you'll have well understood The Gigsaw's working you will be able to put

your favourite bars in the DUMMY-BASE. Delete all demo bars and paste with

their comments % DUMMY-BASE mes(num) the more usefull bars for yourself.

Because shortly surfing the BASES-STYLES could become as a Jigsaw within the Gigsaw.

~~~~~~~~~~~~

When you change a time signature.

~~~~~~~~~~~~

Changing tempo.

~~~~~~~~~~~~

Repeats?

~~~~~~~~~~~~

About the midi+veloc file.

If you open this midi file in a sequenceur, for instance Rosegarden, all separated tracks and their names will be displayed. Of course you will be able to merge these tracks in only one. You will be more comfortable to compose your song.

In Rosegarden: Ctrl-A then Ctrl-J.

Check the resulting track is on channel 10.

~~~~~~~~~~~~

The 00-automate-pour-debug script.

~~~~~~~~~~~~

The 00-automate-Batterie-seule script.

~~~~~~~~~~~~

The 00-automate-Percussions-seules script.

~~~~~~~~~~~~

How to use the melodic track. (advanced users)

See in Le-Grenier: MY-SONG-demo2.

~~~~~~~~~~~~

A special case: the polyrythmie. (advanced users)

~~~~~~~~~~~~

External plugs.

-Hydrogen

-Csound

~~~~~~~~~~~~

Some feature requests:

-Randomizer of Note On (and Notes Off)?

-All in only one automate script?

-What about non implemented sounds in Lilypond: chimes, castanets, ...

~~~~~~~~~~~~

~~~~~~~~~~~~

Have fun.