Home again, Home again, jiggedy jig
Listen to music created by Zel
Learn Zel
Download Zel
Blog
Send zel files or donate
Information about Zel
Listen to music created by Zel
Download Zel
Blog
Send zel files or donate
Information about Zel
This music was made by the Zel file below. This is the first Zel File you'll see if you install the program. It has extensive descriptions on what the code is doing to try and get you up to speed quickly. The MP3 was made by playing the MIDI file simultaneously on an SC-55 and a Yamaha TG33.

'                  WELCOME TO ZEL, THE MIDI LANGUAGE!
'                  ==================================
'==================================================================

'J.S.Bach       2 Part Invention # 14

'CREATE A TRACK CALLED "top":

           track top

'SET THE OCTAVE OF TRACK top TO 6:

           octave 6

'...NOW IF YOU SAY "C" IT MEANS C IN THE 6TH OCTAVE

'SET THE MIDI CHANNEL OF TRACK top TO 1:

           channel 1 

'SEND A PROGRAM CHANGE WITH VALUE OF ZERO:

           patch 0

'THIS CAUSES ALL top NOTES TO SOUND LIKE A PIANO
'YOU CAN TRY DIFFERENT PATCH NUMBERS FOR DIFFERENT
'INSTRUMENTS. SEE gm.zel FOR A COMPLETE LIST

'SIMILARLY CREATE A TRACK CALLED bass AT OCTAVE 4,
'AND CHANNEL 2 :

           track bass octave 4 channel 2

'SEND A PROGRAM CHANGE WITH VALUE OF 12:

           patch 12

'...CAUSING ALL bass NOTES TO SOUND LIKE THE MARIMBA!

'SET THE DEFAULT NOTE LENGTH (DURATION UNIT)
'TO ONE EIGHTH NOTE:

           duration /8

'SET THE TEMPO TO 60 BEATS PER MINUTE:

           tempo=60

'SET THE KEY TO E FLAT:

           key E&

'IN THIS SECTION WE DEFINE SOME MACROS
'A MACRO IS SIMPLY A WAY OF REPLACING ONE STRING
'OF LETTERS WITH ANOTHER.
'THE FIRST MACRO "kB&", WHEN USED, CHANGES THE KEY TO B FLAT:

           set kB& { key B& }

'NOW, EVERY TIME THE LETTERS "kB&" ARE FOUND ZEL READS
'THE LETTERS " key B& " INSTEAD!

'SAME IDEA, BUT THIS TIME THE KEY IS E FLAT:

           set kE& { key E& }

'THIS MACRO GENERATES FOUR NOTES. THE NOTES ARE DIATONICALLY
'RELATED, TWO NOTES UP THE SCALE THEN TWO NOTES DOWN THE SCALE
'THE LAST NOTE IS TWICE AS LONG AS THE OTHER THREE:
'(LOOK IN HELP UNDER t-notes IF YOU WISH TO LEARN MORE)

            set j { T1+ T1+ T1- T1-2 }

'SAME IDEA,BUT TWO NOTES DOWN THE SCALE BEFORE TWO
'NOTES UP THE SCALE:

            set k { T1- T1- T1+ T1+2 }

'ACTIVATE THE top TRACK:

            top     

'A CHORD IS A NUMBER OF NOTES SOUNDING TOGETHER.
'BUT THE "break on" COMMAND CAUSES ALL CHORDS TO BE
'BROKEN INTO SEPERATE NOTES, FOR EXAMPLE,
'FDBFD WOULD BE SOUNDED AS F D B F D

            break on

'LETS ANALYZE THE FIRST MEASURE OF THE MUSIC.
'THE "|" SYMBOL SEPARATES
'THE PIECE INTO MUSICAL MEASURES OR BARS.
'LOWERCASE NOTES ARE AN OCTAVE BELOW UPPERCASE ONES.
'THE " 2 " CAUSES A PAUSE OF TWO DURATION UNITS AT THE START
'OF THE MEASURE.
'j AND k ARE THE MACROS WE DEFINED EARLIER.
'THE b,B AND a NOTES ARE FLATTENED BECAUSE THE KEY IS E&.
'NOTES WITH "2" AFTER THEM ARE TWICE AS LONG AS REGULAR:
'THE CHORD F2DBFD CREATES THE NOTES F2 D2 B2 F2 D2 BECAUSE THE
'DURATION OF A CHORD MEMBER IS THE SAME AS THE DURATION OF THE
'PRECEDING NOTE. SIMILARLY b2dFa PRODUCES b2 D2 f2 a2

        
            | 2 b           j  F2DBFD F k  b2Dfa
                        |   g2  e j  b2gEbg b k  e2gce

'THE "^" SYMBOL CAUSES THE a NOTE TO BE NATURAL, NOT FLAT:
'THE EFFECT OF SUCH ACCIDENTALS LASTS UNTIL THE NEXT "|"
'THE "@" SYMBOL DROPS THE OCTAVE OF THE a NOTE BY ONE OCTAVE:

                        |   a^2@ kB&  c j  a2fCaE f j  C2aFC

'THE " 10 " HERE CAUSES THE G NOTE TO BE 10 DURATIONS AFTER
'THE START OF THE D4:
 
                        |   D4 10 G k C4 10 F k 
                        |   b4 10 E k a2 C k f4
                        |   F4faCF8
                        | 4 f4bDF8
                        | 4 g4bCE^8 
                        | 2 f j C2aFCA E& k a2Cf#D
                        |   b4Dbga&F^af
                        |   kB& g2   c j g2eCgD kE& kE& a& k d2fb^@g  kB&
                        |   e4 10  c j C6b2a  f j
                        |   F6E2D b j B6A&2G kE& ^E B k
                        |   E2 G k C2 E k a^2 C j F2 kE& a& k kB&
                        |   g2 b j E2 g k f2 a j D2 f k
                        |   e2 g j C2 e k d8 10 b j
                        |   F2DBFD F k b2EbEg e j
                        |   b2gEbg kE& b k e4 E6 E k kB&
                        |   f4E6 C k F2 D j f2bCa
                        |   b16
'SWITCH TRACKS, THIS TIME THE bass TRACK IS ACTIVATED:

            bass
 
                        |   B4bDFB8
                        | 4 b4EGB
                        | 4 b4CEA
'THE E4@ IS ONE OCTAVE ABOVE REGULAR E4, BECAUSE "E" IS UPPERCASE
'IF IT WERE LOWERCASE THE @ WOULD DROP IT AN OCTAVE. 
                        | 2 B j E4@ 10 A j D4@
                        | 2 G j C2@ C j F4 f4 6 C2@AF
'@+1 RAISES THE BROKEN CHORD "C2AFCa" BY AN OCTAVE
                        | 2 F j @+1 C2aFCa C@ k F2ACE
                        |   D2 b j F2DBFD F k b2Dgb
                        |   e^2 g j E^2CGEB C j G2EC@G
                        |   A4C@AFF#AFD
                        |   G2 g j D2bGDB  kE& A& k D2FbD 
                        |   E4GECb^Dbg
                        |   C2 c j C6b2a kE& f j F6E2
                        |   D2 b j B6A&2G E j E6@D2@
                        |   C2@ E@ k kB& A^2 C@ k F2 A j D2@ F k
                        |   E2 G j C2@ E k D2 F j B2 D k
                        |   C2 E j A2 C k b2 B j @+1F2DBF
                        |   D2@ F@ k B2D@FA&G E j B2GE@B
'THE "24-10" REDUCES THE TEMPO BY 10 OVER 24 DURATION UNITS
                        |   G2 kE& B k E2GbDC kB& f j C2aEC 24-10
' "-10 DROPS THE TEMPO BY 10
                        |   a2 C k f2aced b j  F4  f4 -10
                        |   b16