

				ReMIDI 0.61

		    Software-only MIDI player for RiscOS                
                
_______________________________________________________________________________

                    ReMIDI is (c) Michael-Dennis Biemans
                       DataVox is (c) Philip Banks
          ReMIDI banner designed by Tim Wye (mendip@argonet.co.uk)
                           Manual by Simon Kiff
_______________________________________________________________________________

 Introduction
 -==========-

  ReMIDI is a revolutionary program, which allows General MIDI files to be
played back via RiscOS without the need for specialist hardware. ReMIDI
requires an Acorn computer with RiscOS3.10 or later, and a hard disc. ReMIDI is
StrongARM compatible.

 Installation
 -==========-

  To install ReMIDI, as with most RiscOS applications, you must drag the icon
to a suitable directory window. However, before ReMIDI can begin playing
General MIDI files, it must be able to locate samples representing the many
General MIDI voices. These samples are available from my website (see link
below). If you have used TiMidity, then you may already have the appropriate
patches, as they are required for both. Once you have the patch samples, you
must edit the !Path file within !ReMIDI (shift double click to open !ReMIDI,
and then shift double click again on the !Path file) to point to your patches.

  If you put the directories of samples within !ReMIDI itself, then the default
!Path file will work, this file is called !PathDef. This name is chosen so that
updates of ReMIDI will no longer overwrite your custom !Path file.

  For example, the !Path file should contain a line such as :

Set ReMIDIPatches$Path ADFS::HardDisc4.$.Music.patches.,ADFS::HardDisc4.$.Music.patches1.

  Where the patches are directories called 'patches' 'patches1' and 'patches2'
inside a directory called 'Music' on HardDisc4. Remember the directories must
have a trailing dot (.)
Several directories must be used, because RiscOS places a restriction on the
number of files in any one directory.

 Sound Quality
 -===========-

  ReMIDI supports both 8 and 16 bit sound. For 16 bit audio, I have made a
soundhandler to replace the Player module from ESP. For 8 bit audio a module
called DataVox is used, which is written by Philip Banks. Used with permission.

  Once the steps above have been followed, ReMIDI should be able to play
General MIDI files, as used throughout the Music industry. Double clicking a
MIDI file will (if necessary) load ReMIDI and play it. Midi files have RiscOS
filetype name 'MIDI', and number &fd4. Double-clicking on more files will add
them to the playlist.


 Controlling The Program
 -=====================-

 -[ Main window ]-

  The main window shows information about the MIDI file that is playing, and
also the lyrics of the file are displayed (if there are any). The option button
for realtime text means that every time there is an update in the lyrics, there
will be a wimp_poll, so the display gets updated.

  The controls speak for themselves, but wind and rewind don't work immediately
because ReMIDI uses soundbuffers. You can select "buffer flushing" in the 
configure window so that the wind and rewind do respond more quickly, but at 
the expense of flushing already computed data.

  When the next button is pressed the next file in the playlist is loaded. The 
"repeat" button will add the current playing MIDI file (or the last one played) 
to the first slot of the playlist.

  Via the menu an options-window, control-window and a playlist-window can be
opened. Note that every change you make will take some time to take effect,
because the output is buffered.

  You can now drag the positionslider to skip to a certain part of the file 
without using the wind/rewind buttons.


 -[ Options Window ]-

  The options-window is divided in two parts, the options that can be changed
when a file is playing, and options that can only be changed when there is no
file playing. Pressing the "Use values now" button will pass the new values to
ReMIDI.

The options are:

* Polyphony         - Maximum number of simultaneous sound channels.

* Shift #bits       - Only used when playing with 8 bit sound. To fit the sound
                      output into 8 bits the values have to be shifted by a
                      number of bits. Setting this too low will cause the
                      output to be distorted, setting it too high will decrease
                      the volume of the output.
                   
* Speed factor      - Use this to increase or decrease the tempo of playback.

* Polling interval  - Used to control the level of multitasking. The lower the
                      value, the more wimp_polls are done, ie the greater the
                      level of multitasking.
                      
* Filtering         - The output is filtered if the setting is higher than 1,
                      1 means no filtering.
                      
* Note decay        - Controls the time it takes for a note to decay. A higher
                      value will make the sound a bit warmer, lower values will
                      make it sound dryer.

* Interpolation     - When this is used the soundquality is better, but it takes
                      more time to compute, ie it is more processor intensive.
                      
* Interpolation     - When the computer can't keep up and the interpolation is
      Control         on, then interpolation is turned off. When the computer
                      catches up, the interpolation is switched on again.
                      
* Auto-play         - Selecting this option forces ReMIDI to begin playing a
                      MIDI file when it is loaded, without the user selecting
                      'Play' from the control window.
                      
* Auto-open         - Selecting this option will mean that the playlist will be
    playlist          opened every time a new file is added to it. If this
                      option is not selected, you can open the playlist from
                      the icon bar menu.

* Envelope          - Envelope emulation controls how notes decay. If you play
  Emulation           a looped sample like the electric piano, the note will
                      decay when this option is selected, otherwise the note
                      will continue to sound at full volume.
                                  
* Sustain pedal     - When selected, the MIDI event for the sustain pedal will
                      be handled correctly. When it is not selected, sustain
                      events will be ignored.          
                      
* Sample rate       - This is the output sample rate in Hz.

* Soundbuffer       - This is the size of the soundbuffers in Kb.

* Drumchannel       - This selects the MIDI channel for drums.

* Mono/Stereo       - Obvious :) This selects whether the MIDI file will play
                      in stereo or mono sound.

* Direct audio/     - When "to file" is selected, the output will be written to
    to file           a file with the name set in the "outputfile" icon. The
                      format is raw/unsigned.
                      
* 8/16 bit          - Outputmode for direct audio and output to file.

* Downsample        - When selected, samples that have a samplerate above the
                      frequency specified will be halved in size (in memory
                      only, not on disc). This will reduce the sound quality
                      dramatically, so only use this when you don't have
                      sufficient memory to play a certain MIDI file.

* Rescale volumes   - When the patches are loaded the volumes are rescaled.

* Filter samples    - When selected the patches will be filtered upon loading.
                      (doesn't work properly yet)

* Outputfile        - Name for the output file. (when playing 'to file')


* Save as default   - This saves the current options to disk, so that they will
                      still be active if you quit and reload ReMIDI.



 -[Configure Window]-
 
  Here you can select a few options that are used on start-up of ReMIDI. This
means that anything you change will take effect on the next time you run 
ReMIDI. The options are:

* Load all samples  - This loads all available samples in advance. It will
		      take more than 6MB of RAM.
		     
* Use smaller main  - In a low-res mode, the normal main window of ReMIDI might
  window              be too big, but this option will make ReMIDI use a much
                      smaller window. 

* Buffer flushing   - When selected, the buffer will be flushed when "wind"
		      "rewind" is used, and when a new file is loading. This
		      means that ReMIDI responds more quickly, especially when
		      using a large soundbuffer. 


* Banner display-   - The time in seconds of the ReMIDI logo to be displayed,
  time                most important is that it won't be loaded when the time
                      is set to zero.
  
  

 -[ Playlist ]-

  Very simple: it displays the files to be played. You can remove files by
pressing the 'Red Cross' button along side the name of the file. You can get
(or modify) the information on a MIDI file by clicking the "I" icon. There are
100 slots in the playlist, but only 10 are shown. The "page up" and "page down"
buttons let you scroll through the list. The "shuffle" button randomizes the
order of the files.

  In the playlist, filenames will be displayed, unless the title is already
known from the database. Also the duration of the file is shown, and the
total duration of all files in the list.

  The contents of the playlist can be saved by pressing menu over the playlist
window, a save window will pop up and you can drag the icon to a directory. The
resulting file can be loaded at a later time by dragging it to ReMIDI.  


 -[ Control ]-

  This window allows you to see which patches are loaded into each MIDI
channel. You cannot change this allocation. The volume of each channel can
be changed, and you can also mute a channel or let a channel play solo.


 -[ MIDI info ]-
 
  This window can be opened from the menu, it will display info on the current
MIDI-file. When it is opened from the playlist by clicking the "I" icon, the
info on the corresponding file is displayed. 

  The info can be edited, the changes are stored by ReMIDI when you press
the "store info" button. If you add the title of a file, it will be displayed
instead of the filename in the playlist and in the main window.

Only one location (filename and path) per MIDI file can be stored, so if you
have duplicate copies, the first known path will be used. However, if you
move the file, and then double-click it, ReMIDI will use the new path. (It
checks if the known path does still exist, if not, the new path is used and
stored)


 -[ Search ]-
 
  From the search-window you can access the information stored in the database,
by filling in the fields. If you press "Search" the files matching the search
parameters will be displayed in the info window. You can then add them to the
playlist by hand from the info window. When you press "add to playlist" the
matching files will not be displayed, but they are added directly to the
playlist. Pressing "show all" will display all files in the database in the
info window.


 -[ Spatial ]-
 
  This is a new experimental feature, which only works in stereo mode. During 
the playback of a file you can enable and disable spatial sound, but you will
hear some noise when the program makes the switch. You can change the level and
the "direction" of the effect. On some files, spatial sound is quite effective,
but on others it does not make a big difference. (Spatial sound adds delays to
the different instruments according to the panning-setting, so the left ear will 
hear a sound before the right ear (or vice versa). The level will determine how
much this difference will be, when "reverse" is selected, the delay of the left
and right channels is reversed.)


_______________________________________________________________________________

  Please contact me with any problems, queries or if you want any information
regarding ReMIDI at the following e-mail address :

                       <remidi@amplitude.demon.nl>

(this address is still valid, as of January 2002, and will be valid for a long 
time to come)

ReMIDI is now freeware, it can be used free of charge, but if you want to 
distribute or publish it (e.g. on a CD ROM or on a disk image on a new machine)
you have to contact me.
