                           PICTURE-MUSIC
                           
                    A MIDI Compositional Program
                          for the Atari ST

           Copyright 1994 - MEGASTAR SYNTHESISER COLLECTIVE
                            Version 1.2

         Program written and compiled in GFA Basic Version 3.5
                          by GARETH JONES


     This is a Public Domain program and you are free to copy and distribute
this program freely, provided that:-

   i) All the files included are retained, and not altered in any way.
   ii) The program is not sold for profit.

In the PIC_MUS folder you should find the following files-

   PIC_MUS.PRG - The main program
   PIC_MUS.TXT - This document
  TEXTURES.PMS - Demonstration file
      DEMO.PMS -        "
  8BARBLUE.PMS -        "
   C_ORGAN.PMS -        "
  MEGABALL.NEO - Intro picture

     To run this program you will need an Atari ST working in low resolution
colour mode, and a external MIDI sound module.  Best results will be obtained
if the synthesiser, workstation, or drum-machine is multi-timbral. However the
program is perfectly happy to work with a smaller system, even down to a
single channel.

    Mr. G.W. Jones .
    36 Tarn Drive ,
    Creekmoor ,
    Poole ,
    Dorset ,
    BH17 7DQ .
    Great Britain .


ABOUT PICTURE-MUSIC
*******************
     This compositional aid is able to convert 16-colour low resolution
pictures directly into MIDI music data. The operator selects four areas of a
picture to be processed. Each of these areas, called Tracks, has its own MIDI
channel, transposition, and associated scale. On playing back music the
program scans the areas horizontally, pixel by pixel. Whenever the pixel
colour changes a new note is generated. The hardware colour of the processed
pixel is calculated and the corresponding scale note is output. i.e. Colour 1
will produce the first note of the scale, and Colour 15 will produce the
fifteenth. Colour 0 (background) produces a rest. The program has a sequencing
facility that allows the track parameters to change every time it reaches the
end of a horizontal scan, allowing the use of pre-programmed chord sequences.
This enables PICTURE-MUSIC to produce very musical results. Also the operator
can program their own scales to produce customised music.

   PICTURE-MUSIC is able to load any standard NEOCHROME or low-res
uncompressed DEGAS pictures, so many different art packages, fractal
generators, CAD's etc, may be used as source material. PICTURE-MUSIC is the
able to save these pictures together with the appropriate settings in a
special .PMS file. Or it can save the settings and just the track areas of the
picture in a much smaller .PMC file.


PICTURE-MUSIC 2
***************
     For those who wish to experiment further with this system. There is an
enhanced version of PICTURE-MUSIC. Extra features include:-

     - Saving music data as Standard MIDI Files in 0, or 1 format. For
       loading directly into a MIDI sequencer
       packages, hardware sequencers, workstations, etc.
     - Built-in General MIDI/ Roland GS editor, settings can saved seperately
       or incorporated into MIDI files.
     - Increased number of progammable scales which can be loaded and saved
       seperately.
     - Enhanced SET SEQUENCER.
     - and more!

The program costs just 5.00 or the equivalent in disks, programs etc, and is
available from Mr. G.W. Jones at the address given at the end of this
document.


GUIDE TO FUNCTIONS
******************

MAIN SCREEN

     VIEW :Displays currently selected picture for selecting new areas to
           process, or to play music.

     EXIT :Returns you to the desktop.

 SEQUENCE :Displays the SET SEQUENCER screen.

PROG SCALE:Displays the PROGRAM SCALE screen.

     LOAD :( .PMS, .PMC, .NEO, .PI1 )
           Loads PICTURE-MUSIC with new pictures. The program accepts any
           pictures created in NEOCHROME or low-res uncompressed DEGAS
           formats, as well as PICTURE-MUSIC picture and parameter files.

     SAVE :( .PMS, .PMC )
           Saves the currently selected picture and parameters, to disk as a
           single .PMS file. Or save the parameters and just the track areas
           of the picture as a PICTURE MUSIC COMPACT file.

    TEMPO :( 1 - 99 )
           Sets the time delay between MIDI clocks.

    CLOCK :( 0 - 24 )
           Sets the number of MIDI clocks (if greater than zero) sent out per
           pixel.

     SIZE :( 8 - 64 : 8 - 64 )
           This controls the width and height, in pixels, of the picture areas
           to be converted into music.

    VELOC :( 1 - 127 )
           This controls the velocity value of the MIDI notes generated.

      SET :( 1 - 8 )
           Selects the currently operating SET of Track values.

     CHAN :( 1 - 16 )
           Gives the MIDI channel for each Track.

     TRAN :( C - B )
           Controls the transposition in semi-tones, of the Track.

     OCTV :( 0 - 6 )
           Controls the transposition in octaves, of each Track.


PROGRAM SCALE SCREEN

PROGSCALEn:( 1 - 4 )
           Selects which of the 4 programmable scales to be displayed.

     EXIT :Return to the main screen.


SET SEQUENCE SCREEN

      SET :( 1 to 8 or 0 )
           Selects which SETs are called in order by the sequencer. Or
           generates a sequencer reset.

     EXIT :Return to main screen.


USING THE MOUSE
***************
     All parameters can be altered using either the left or right mouse
buttons. To change a value just position the pointer over the corresponding
button and use the left button to raise ,the right to lower. This makes
PICTURE-MUSIC a very easy program to operate.


GETTING STARTED
***************
     First make sure that the MIDI OUT socket of you ST is connected to the
MIDI in socket of your sound generator. Then double-click on the PICTURE-
MUSIC icon.
     After the demonstration picture has been displayed the main screen should
now appear. Before we can do anything else we must load in a picture or a
PICTURE-MUSIC file. To do this we click the mouse over the "LOAD" button. A
dialogue box then appears giving us the choice of loading Neochrome (.NEO),
Degas (.PI1), or a PICTURE-MUSIC (.PM?) file. Select .PM? and choose the .PMS
option from the dialogue box. From the File Selector choose DEMO.PMS from
within the PIC-MUS folder. The program will now load the picture and
associated parameters.

    To view the loaded picture click on the "VIEW" button, the picture should
now appear with the four areas to be processed. Then a dialogue box will
give you three options; return to the main screen, select new areas to be
processed, or play music. Select a soft string sound with a medium attack on
MIDI channel 1 of your sound generator, and click on the "MUSIC" button. You
should now hear the resultant piece of music. As the composition progresses
the processed pixels are blacked out. You can stop the music at any time by
pressing a key on the Atari keyboard which results in the picture being reset.

    To select new areas of the picture to be processed, click on the "AREAS"
button on the dialogue box. A rectangular box appears in the centre of the
screen. Position the mouse over the centre of the box and hold down the left
mouse button. A dragbox of the appropriate size will be generated which you
can move about the screen at will, as long as the left mouse button is
depressed. Should the dragbox and the mouse flicker, then a tap of the right
mouse button should correct the effect. Once you have chosen an interesting
area of the screen to process take your finger off the button. A box will be
drawn on the picture. This will become the data controlling Track 1. Now
position the mouse just inside the box that has just been drawn, and press the
left mouse button to generate the dragbox for Track 2. Repeat the procedure
for Tracks 3 and 4.Then play back the music. You will find the more
complicated the area selected the more interesting the music produced.

     Return to the main screen by clicking on the "SCREEN" button. We can now
experiment with the program parameters and see their effects.

     The basic tempo can be slowed or increased by clicking on the "TEMPO"
control with the right or left button. The "CLOCK" value also has a major
effect on the tempo because it controls the number of MIDI clocks generated
per pixel. Doubling the number of MIDI clocks per pixel would result in the
music being played at half the speed. So to get any given tempo or MIDI clock
resolution, these two values have to be juggled.
     The velocity values of the MIDI notes generated is controlled by the
"VELOC" section.
     The size of the picture areas to be processed is selected with the "SIZE"
button. Any changes made are automatically updated when you return to the
VIEW screen.

     All the track varibles such as scale, etc. can be independently altered
using the mouse.( see Guide to Functions for futher details )

     The collection of Track varibles, channels, transpositions, and scales is
known as a SET. At the moment the main screen diplays the varibles for SET1.
To view and alter the other SETs use the appropriate mouse buttons on the
"SETn" button. You will find that the tracks on SET1 are set to improvise
around a C maj chord , SET2-F maj, SET3-A min, and SET4-G 7th ( C maj ). SETs
5 to 8 are unprogrammed.

     Now click on the "SEQUENCE" button on the right of the main screen to
call up the SET SEQUENCE screen. This screen controls the calling up
of different SETs in a predetermined sequence. When the "MUSIC" option is
selected on the VIEW screen the program calls SET Sequencer location 1. In
this case is set to (SET) 1. The program processes the first row of picture
data with the SET1 varibles, improvising in Cmaj. When it reaches the end of
the row it looks at SET Sequencer location 2 where SET2 is selected, Fmaj.
This continues until a Sequencer location containing 0 is found. Then the
Sequencer is reset to location 1. The music generated by this sequence will be
a improvisation in a repeating chord sequence of Cmaj, Fmaj, Amin, and G7th.
Use the mouse buttons to set Sequencer locations 3 and 4, at the bottom of the
screen,to zero. Now any music played will be based around alternate Cmaj and
Fmaj chords. Leave the screen by clicking on "EXIT".

     Clicking on the "PROG SCALE" button will display the PROGRAM SCALE
screen. Here you can create up to 4 customised scales for use in your
compostion. To select the appropiate custom scale use the "ProgScaleN" button.
Scales are created by the use of the mouse buttons on the required note. The
notes are calculated as semi-tone transpositions from the root note ( 0 ).
For example a major scale would be programmed thus:-
   0, 2, 4, 5, 7, 9, 11, 12, 14, 16, 17, 18, 20, 22, 24.
Leave the screen via the "EXIT" button.

     To save your picture and data, first click on the "SAVE" button. When the
dialogue box appears click on the ".PM?" button, followed by the .PMS option
Then enter the file name in the file selector box and press "OK". If the disk
is in "Write Protect" mode a dialogue box will appear declaring that the "Disk
in Drive A is Write Protected". However there will be no mouse displayed on
the screen. You should then move the write protect tab on the disk to the
"Write" position. Replace the disk and press the "Return" key. The data will
now be saved.


TIPS
****
     You will discover that the more complicated the picture the more
intersting the music. Areas that contain many of the colours a few pixels
wide usually produce the best results. Big blocks of colour produces drones,
and horizontal repeating structures, produce repeating patterns. Experiment
with the various colour structures contained in the TEXTURES.PMS file. This
will give you an idea of what can be produced with a little bit of thought.
Then you can use the lessons learned to produce your own pictures with your
favourite art package. Or you can just continue to process other people's.
Absract or formal, PICTURE-MUSIC just doesn't care.


SCALE DATA
**********
Notes relative to C1 as root of scale.

                1   2   3   4   5   6   7   8   9  10  11  12  13  14  15

        MAJOR  C1  D1  E1  F1  G1  A1  B1  C2  D2  E2  F2  G2  A2  B2  C3
        MINOR  C1  D1  D#1 F1  G1  G#1 A#1 C2  D2  D#2 F2  G2  G#2 A#2 C3
       DORIAN  C1  D1  D#1 F1  G1  A1  A#1 C2  D2  D#2 F2  G2  A2  A#2 C3
       ARABIC  C1  D1  E1  F1  G#1 A1  B1  C2  D2  E2  F2  G#2 A2  B2  C3

  PENTAPHONIC  C1  D1  E1  G1  A1  C2  D2  E2  G2  A2  C3  D3  E3  G3  A3
         BLUE  C1  C#1 D1  D#1 E1  G1  G#1 A1  C2  C#2 D2  D#2 E2  G2  G#2
      GAMELAN  C1  E1  F1  G1  B1  C2  E2  F2  G2  B2  C3  E3  F3  G2  B2
     JAPANESE  C1  E1  F1  A1  B1  C2  E2  F2  A2  B2  C3  E3  F3  A2  B2

    CHROMATIC  C1  D1  E1  F#1 G#1 A#1 C2  D2  E2  F#2 G#2 A#1 C3  D3  E3
    SEMI-TONE  C1  C#1 D1  D#1 E1  F1  F#1 G1  G#1 A1  A#1 B1  C2  C#2 D2
 MAJ APPEGGIO  C1  E1  G1  C2  E2  G2  C3  E3  G3  C4  E4  G4  C5  E5  G5
 MIN APPEGGIO  C1  D#1 G1  C2  D#2 G2  C3  D#3 G3  C4  D#4 G4  C5  D#5 G5

  MAJ 7TH APP  C1  E1  G1  B1  C2  E2  G2  B2  C3  E3  G3  B3  C4  E4  G4
  MIN 7TH APP  C1  E#1 G1  A#1 C2  E#2 G2  A#2 C3  E#3 G3  A#3 C4  E#4 G4
      7TH APP  C1  E1  G1  A#1 C2  E2  G2  A#2 C3  E3  G3  A#3 C4  E4  G4


CLOSING

     If you have any queries or comments about this program please don't
hesitate to write to me at the address below. Any donations, suggestions,
etc. would be gratefully accepted.

    30 May 1994
    Copyright Megastar Synthesiser Collective.

Write to :
          Mr. G.W. Jones .
          36 Tarn Drive ,
          Creekmoor ,
          Poole ,
          Dorset ,
          BH17 7DQ ,
          Great Britain .


BYE  BYE  !


The Megastar Synthesiser Collective - "Hear them and Weep!"

DISCLAIMER- Mr G.W. Jones and the MEGASTAR SYNTHESISER COLLECTIVE take
            absolutely no responsibilty for any resultant damage to hardware,
            software, data, or state of mind of anyone running one of their
            programs.    "NOTHING TO DO WITH US GUV!"
