WIDI Recognition System

Software to recognize the Music (WAV->MID) (version 2.6 SHAREWARE)

Contents:
        0.What's new
        1.Introduction
        2.Features
        3.Description
        4.WIDI for Windows GUI version (WIDI.exe)
          4.1.System Requirements
          4.2.Installation

 5.DOS,OS/2 and Console versions (recogn.exe, recogno.exe, recogn32.exe)
          5.1.System Requirements
          5.2.Usage
        6.How does it work
        7.Parameters
        8.License
        9.Registration
       10.Other things

     Copyright                 Music Recognition Team, 1998-2000
_____________________________________________________________________________

        0.What's new

Version 2.6 :

+ MP3 support added! Now you can recognize MP3 files directly, without first
  converting them to WAV!
+ Intermediate GS file support added.
+ Full Windows NT & Windows 2000 support.
* Fixed minor bug with MIDI file writing.

Version 2.51 :

+ A bug related to FFT transform fixed, and quality of "FFT" method improved
  greatly. Try it !
* A bug related to 44100Hz WAVE buffering fixed. No more "Unknown Error" when
  recognizing such waves.

Version 2.5 :

+ Completely new algorithms of pitch recognition and note determination made.
  They are many times faster and almost always give better results.
  Older ones present as well.
+ Ability to playback MIDI files added (Win GUI)
+ Parameters to specify MIDI file output added (Win GUI)
+ Help file included for Win GUI version
* Unregistered Win GUI version does not allow saving of MIDI files.
* Shareware protection was changed. All registered users
  should contact us for a new key for free.
- "Output Window" disapeared (Win GUI)
- Because of problems with MIDI playback under Windows NT,
  unregistered Win GUI version may be useless under NT, although
  registered version can save MIDI files under NT as well.

Version 2.31 :

+ added recognition of some non-standard wave files

Version 2.3 :

+ enabled "equalizer"
+ algorithm slightly improved
+ added "time shift of bass notes" parameter
+ improved interface

Version 2.21:

* WAVE fragment selection bug fixed (wrong selection display for large WAVES)
* "minduration" INI parameter bug fixed (it was not recognized by v.2.2)

Version 2.0 :

+ significantly improved conversion quality
+ more friendly user interface
+ selectable number of voices
+ selectable musical instrument for playing notes
+ selectable record fragment for recognition
+ memory requirements several times as low
* different meaning of "minnotedur" parameter
- conversion time increased
- disabled "equalizer" (to be corrected soon)
- disabled "economy memory" mode

        1.Introduction
 The Program tries to convert musical piece to score, i.e.  WAVE file to
MIDI file, containing notes. Composing the necessary sophisticated algorithm
is a difficult task, hence rather unperfect work of the Program.

 Most of information on Windows GUI version is contained in the help file.

        2.Features
- the Program gets as input WAV or MP3.
- produces multi-track MIDI file with notes
  differentiated by volume
- musical instruments are not differentiated
- output notes can be set to any instrument
- pitches to recognize are selectable ("equalizer")
- subject to tuning:
  - algorithm selection
  - minimal duration of notes (wrong short notes can be cut off)
  - number of voices (tracks)  1..9
  - time resolution (usually higher than minimal note duration)
  - bass note shifting
- length of original WAVE file is not limited
- compressed WAVEs are not supported (ADPCM, u-Law, A-Law and others).

        3.Description
  Wave or mp3 file is a necessary condition for using the Program. It can be recorded
from microphone, external source or CD with either standard Windows Sound
Recorder or advanced WAVE Editor. MIDI file is obtained after corresponding
parameter set up and subsequent conversion of WAVE file. It can then be played
with Media Player or it can be loaded into MIDI Editor for note viewing or/and
printing.
  MIDI and WAVE editors are separate tools and are not distributed
with this program.

  There are several different versions of WIDI versions for different OSes:

     WIDI for Windows  (widi.exe) - operative under Win95/98/2000/NT.
 It has simple interface and parameter setting. INI file is not supported.
It is the only version with "Equalizer" - a powerful tool for selecting
which note pitches to detect. It also allows MIDI playback.

     WIDI Light (widilite.exe) - a FREEWARE version of WIDI for Windows,
it allows only playback of MIDI and saving MIDI data to an internal file
format. It does not allow any setting adjustments. All information regarded
to that version is included in widilite.exe.

__
     DOS (recogn.exe)- operative under clean DOS, and Windows.

     OS/2 (recogno.exe)- operative under OS/2.

     WIN Console (recogn32.exe) - operative under Win95/98/NT.

 These three versions are identical in usage; they are driven from the Command
Line, parameters are taken from the INI file. They can be also used in batch
files or for intermediate file creation (.GS). The latter allows for the
quick conversion with another set of all parameters except for "timetick"
(see Parameters). These versions are appropriate for experienced users.



_____________________________________________________________________________

        4.WIDI for Windows GUI version (widi.exe)

        4.1.System Requirements
  Processor:     Pentium 133 or higher
  Memory:        8Mb (16 Mb recommended)
  Hard Disk:     2MB
  OS       :     Win95, Win98, Windows NT or  Windows 2000.
  Sound system:  Not required, but allows playing  of MIDI and WAVE files.

        4.2.Installation

 If you have a previous version installed, it is preferable to
uninstall it first.

 If you have registered previous version of WIDI, contact us for
a free new key.

 Start widi26in.exe to install.

 To deinstall use standard Windows Add/Remove
(Control Panel->Add/Remove Programs->WIDI version 2.x)


 Most of information on Windows GUI version is contained in the help file.

____________________________________________________________________________


        5.DOS, OS/2 and Console versions (recogn.exe & recogn32.exe)

        5.1.System Requirements
  Processor:     386 (Sufficient but slow in processing)
  Memory:        8Mb
  Hard Disk:     500k
  OS       :     recogn32.exe - Win95, Win98,and NT
                 recogn.exe   - DOS
                 recogno.exe  - OS/2

        5.2.Usage
 Program is driven from command line. A simple example is
"recogn <filename>" (or "recogn32 <filename>"). For instance,
"recogn mywav.WAV" will produce file mywav.MID in the current directory.

 A more general way:

   recogn.exe [option] <filename>

 Options:
   w - create a GS file
       ( GS file is used to store intermediate results. It can be then
       quickly converted to the MIDI file using another parameter
       setting.

   r - convert a GS file, preliminary created with the "w" option, to the
       corresponding MIDI file with the same name and in the current
       directory.

 During  calculations every processed second of WAVE file is announced
by symbol "+".

 Change parameters in INI file, that is to be in the current directory
for this purpose. A warning is generated and default parameters are used
if INI file is not found. See next section for description of parameters.
____________________________________________________________________________

        6.How it works

        WIDI performs music recognition in several steps.

        First it produces some kind of spectra-like data,
this is called further the "WAVE->Pitch" conversion. Now
there are two different algorithms implementing this step,
each of them has its own advantages and disadvantages.

        Then  it multiplies that spectral data by coefficients of
"Equalizer", making some pitches louder and some pitches more quiet
(This is only for Win GUI version).

        The third step is an actual retrieval of notes from
the spectra, it is called "Pitch->MIDI" process and there are also
two algorithms making that.

        The final step is producing the MIDI file structure, and
you can choose some attributes of the output MIDI file.


        7.Parameters

  The following text corresponds mainly to the Command Line versions.

  Time Tick (timetick in INI file). This is a minimal amount of time considered
by the recognition algorithm. Every note duration is a whole number of
"time ticks" and every note starting time is a whole number of "time tick".
Decreasing of this parameter always increases memory requirements of
the recognition process, and in the case of FFT it also increases computational
time as well. Recommended range for this parameter is 7..40 ms.


  Pitch detection method (pitchmethod: 1 - FFT(Old) , 2 - Sensors). This item
allows you for choosing of the first-step algorithm type. Sensors (2) is
a new and a very fast algorithm presented in this version, and FFT (1)
is an older one. In general, Sensors is almost always better than FFT,
except the case when the music is played by unexactly tuned instruments
(for example, if note C lies quarter tone higher than standard C).
However, you can try both.


  Time Shift of Bass Notes (fftbassshift for FFT, sensorbassshift for Sensors).
The purpose of this parameter is to correct starting times of bass  notes
compared to trebles, but the meaning of this parameter depends on the type
of the algorithm. Sensors usually pushes bass notes further in time, so
increasing of this parameter shifts them back. FTT ,in opposite, brings bass
notes before the time they should sound, and increasing of "Time Shift"
shifts them further. So if you hear that bass voices are sounding before
or after trebles, try to change this parameter. The range is 0..100.


  Minimal Note Duration (minduration). This parameter can help to discard short
wrong notes from the resulting MIDI file. The algorithm simply deletes all
notes shorter than this value. Appropriate value depends on the music genre,
generally it lies in the range 20..100 ms.


  Note determination method (noteguessmethod: 1 - Local(old), 2 - Peak).
This switch determines the second-step algorithm type. Peak is a new method,
and Local is an older one, but you can try both.

  Polyphony (oldvoices for Local, peakvoices for Peak). It selects the number
of voices it the output file. This parameter is treated differently by the
two second-step algorithms, so there are separate controls for each of them.
Range is 1..9 for oldvoices and 1..18 for peakvoices.

  GM Patch (patch).  Patch number to play recognized notes.
For example, if it is set to 21 (Accordion), accordion will sound when
playing the MIDI file. See MIDIINST.TXT for numbers.

_____________________________________________________________________________


        8.License

  WIDI Recognition System is SHAREWARE. You can download any version for free
and use it for 14 days. Unregistered Win GUI version does not allow saving of
MIDI files, but no time counting is made. You are asked to register every time
you start Win GUI version.

  We are not liable for any damage caused by the Program (although we don't
see such possibilities). All rights are reserved by Music Recognition Team.
You can not sell or modify the Program. You can distribute unregistered
versions for free, provided that unmodified installation files are included.

  If you want to use the Program for more than 14 days or you are interested
in the development of this project, you should register.


        9.Registration

Registration allows for:
- Supporting this project
- Saving MIDI files from WIDI for Windows
- Disabling start-up message in WIDI for Windows
- Using WIDI after 14-days period
- Receiving support via e-mail

  Registration of this version includes FREE registration of any successive
shareware version which will be released within 6 MONTHS after registration
date. Note: This doesn't mean that your key will be applicable for the future
versions, you might need to contact us via e-mail to upgrade the key.

  See register.txt for details on how to register WIDI.

  After registration, you receive a key, which you must enter in
Help->Register! menu item of the Program for start-up message to disapear.

  You are not allowed to give your key to anyone else, violators will
be refused in the free registration of the versions coming out within next
6 months.


       10.Other things

 Please, write us about bugs and your ideas how to improve this Program.
(Regardless of whether you are a registered user or not). Language corrections
to the documentation are also welcome. Write to us if you want to participate
in this project.



 You can find the recent versions at:

                w2m.hypermart.net
                www.midi.ru/w2m
                andreenk.chat.ru
                widi.da.ru

 Our e-mails are:

                andreenk@polly.phys.msu.su
                andreenk@mail.ru


Music Recognition Team                                              28.07.2000
______________________________________________________________________________
