Music Recognition System (WAVE->MIDI) (version 2.0) Contents: 1.Introduction 2.Features 3.Description 4.WINDOWS GUI version (wrecogn.exe) 4.1.System Requirements 4.2.Usage 5.DOS and Console versions (recogn.exe & recogn32.exe) 5.1.System Requirements 5.2.Usage 6.Parameters 7.License 8.Miscellaneous Copyright Music Recognition Team, 1998 _____________________________________________________________________________ 1.Introduction This Program tries to convert musical piece to score. It converts WAVE file to MIDI file, which contains notes. A sophisticated algorithm is used to recognize notes. Composing of such an algorithm is a very difficult task, so this Program works rather unperfect. 2.Features The Program allows to convert WAVE file to 10-track MIDI file, dividing tracks by volume. Various musical instruments are not differentiated, all notes assumed to be played by piano. Short notes could be excluded. Size of WAVE file is not limited. COMPRESSED WAVE FILES ARE NOT SUPPORTED. 3.Description You need WAVE file to apply this Program. You can record it from microphone, from external source or from CD by either standard Windows Sound Recorder or advanced WAVE Editor. Then you set up parameters, launch calculations and receive MIDI file. MIDI file can be played by Media Player, or you can load it into MIDI Editor, look at score and print it. There are 3 versions for different OS: DOS (recogn.exe)- works under clean DOS, and under Windows as well (and sometimes even faster). WIN Console (recogn32.exe) - works under Win95/98/NT. These two versions are identical in usage, they are driven from the Command Line, parameters are taken from INI file. Only these two versions support Disk Buffering Mode, allowing unlimited WAVE size even on systems with small amount of memory (see parameter "usedisk"). These versions could be used in batch files as well. The lack of Equalizer is the only limitation. Intermediate result files (.GS) could be created. You can quickly convert them using another setting of "noteduration" (see Parameters) or probably by next versions of this Program. These versions are appropriate for experienced users or for batch converting. WIN GUI (wrecogn.exe) - works under Win95/98/NT. It utilizes intuitive interface and Equalizer. It does not support INI file and Disk Buffer. Easy to use, you can easily change parameters and see the difference. MIDI and WAVE editors are separate tools and are not distributed with this program. _____________________________________________________________________________ 4.WINDOWS GUI version (wrecogn.exe) 4.1.System Requirements Processor: 386 (Will work, but very slowly) Memory (Virtual): 1MB + 60kB/second of WAVE with default params; 16Mb Physical memory is enough for not very long compositions Hard Disk: very little OS : Win95,Win98,NT 4.2.Usage You need to launch wrecogn.exe (you can create shortcut on desktop by right click, see Help on Windows). Buttons: Source File ... Browse - select source WAVE file Target File ... Browse - select target MIDI file GO! - start calculations Exit - quit the Program Show Equalizer - show equalizer. Equalizer is a possibility to determine notes of which pitch will reside in MIDI file. Press mouse button on any of 84 bars, and you will see the name of the note (pitch) in title bar. If the entire bar is red (100%), this means that notes of this pitch will not be lowered in volume. If the bar is gray (0%), no notes of this pitch will be in MIDI file. Intermediate values mean that volume of such notes will be decreased (n% from original), and more quiet of them may also be excluded from MIDI file. Parameters (see 6.Parameters for complete descriptions): Time Tick - quantum of time. Minimal Note duration - minimal note duration (shorter ones will be excluded) You choose Source WAVE file and may be Target, set up parameters and equalizer if needed, press "GO!". If there is no errors and you do not receive MIDI file, contact us. Calculation time could be long enough, especially on slow computers. Tip. To play either Source or Target file , use right mouse button in Save As or Open dialogs. ____________________________________________________________________________ 5.DOS and Console versions (recogn.exe & recogn32.exe) 5.1.System Requirements Processor: 386 (Will work, but very slowly) Memory (Physical for DOS, Virtual for Console): 2Mb in Disk Buffer Mode (see Parameters), 1MB + 60kB per second of WAVE using default params without Disk Buffer Hard Disk: very little in No Disk Buffer Mode (without GS files too) about 60kB per second of WAVE using default params with Disk Buffer. OS : Dos,Win3.xx,Win95,Win98,NT for DOS version, Win95,Win98,NT for Console version 5.2.Usage Program is driven from command line. The simplest usage is "recogn " (or "recogn32 ") , for example "recogn mywav.WAV" will produce file mywav.MID in current directory. More general way is: recogn.exe [option] Options: r - produce GS file ( GS is used to store intermediate results, you can then convert it quickly to MIDI using another "minduration" or by next versions of this Program (possibly).) w - convert GS file instead of WAVE (GS must be made by "r" option) Result - MIDI file with the same name in current directory. When calculating every processed second of WAVE is announced by symbol "+". Parameters reside in INI file, which should exist in current directory. A warning is generated and default parameters are used if INI file is not found. See next section for description of parameters. ____________________________________________________________________________ 6.Parameters Time Tick (timetick in INI file) - quantum of time in millisecond. All note times are whole numbers of this parameter, that means that if it's set to 500 (=1/2 s), then only notes with durations 1/2,1,3/2,2,.. seconds will present in MIDI file, and starting times will be also 0,1/2,1,3/2, .. seconds from the beginning of music piece. The less this parameter, the more accurate are calculations, but that requires proportionally more memory and significantly more time. To cut off short notes use only "minduration". Appropriate values of this parameter are 10-50 milliseconds. The default is 20ms. Minimal note duration (minduration in INI file) - minimal note duration (measured in time ticks). If note is shorter than this parameter, it will be excluded from MIDI file. For example, if Time Tick is 15 ms Minimal Duration is 3, then all notes in MIDI file will be longer than 3*15=45 milliseconds. This parameters does not affect recognition quality and does not require additional time for calculations. It allows to cut off short sounds from MIDI file. Don't forget to correct it if you change Time Tick to receive same Minimal Note Duration in milliseconds. usedisk (INI file only) - allows to use Disk Buffer instead of RAM one. This works faster than Memory Swapping on low memory systems. This is the only possibility to work with large WAVE files under DOS. usedisk=1 - use Disk Buffer, usedisk=0 - do not use Disk Buffer. If usedisk is set, amount of used RAM is fixed and is approximately 2MBytes. _____________________________________________________________________________ 7.License This version is free. We are not liable for any damage to anything by use of this Program (although we can't imagine such possibilities) All rights are reserved by Music Recognition Team. You can not sell this program or distribute it modified. You can distribute it for free, provided that documentation is included in package. 8.Miscellaneous Please, write us about bugs and your ideas how to improve this Program. Language corrections to documentation are welcome too. If you want to participate this project, write us. This project is open for anyone. You can find reference to the newest version at www.chat.ru/~andreenk We plan to publish new versions approximately once for 3 weeks, so visit us on the WEB. Music Recognition Team andreenk@lord.phys.msu.su andreenk@chat.ru www.chat.ru/~andreenk 30.11.98 ____________________________________________________________________________