MIDI Organizer and Search
Hitsquad Music Software Downloads

Download MIDI Organizer and Search

6/28/2013 see Updates

by Fred Parcells

Email me from my reelbook contact page

System Requirements:

MIDI Organizer and Search has been tested on Windows XP.

Summary:

MIDI Organizer and Search is a MIDI program that takes a user defined melody and searches instances of that note sequence for matches in MIDI files located in the midi.mdb Database or selected directories on a hard drive. If the ‘Try in every key signature’ checkbox is checked then the user melody will be transposed into every key and compared to each file’s melody. If the ‘Ignore harmony notes’ checkbox is checked then harmony notes are ignored.

NOTE: No MIDI data is ever deleted or changed by this program. All files are opened in Read Only mode.

Install:

If Windows Installer doesn’t start the install process by itself, double click on Setup.exe. Follow the Setup Wizard instructions.

Installation creates 4 folders in the Program Files/MIDI Organizer Search directory.

  1. MIDI Organizer Search Info – Documentation in HTML format
  2. MIDI Samples – MIDI files preloaded into the database and used as examples in the documentation for demonstrating the program.

    NOTE: Don’t use the MIDI Samples Folder to store your own MIDI files. The place to keep your work is somewhere in the My Documents Folder. see Uninstall

  3. midiDatabase - contains midi.mdb
  4. bin – two VBScript files(hidden)
    1. instadminODBC.vbs adds text to your ODBC.INI file during install so the database DSN will appears in the ODBC Administrator Window
    2. uninstadminODBC.vbs removes the same text from your ODBC.INI file during uninstall
NOTE: Virus Protection programs may complain about these scripts during the install. I’ve tested these scripts so they won’t mess up your ODBC.INI file. If you’re interested, after install, take a look in the bin directory at these two files. Right click and open them up in Notepad. If you double click the uninstadminODBC.vbs the two lines of code:

[midi]
Driver32=C:\WINDOWS\system32\odbcjt32.dll

will be removed from the ODBC.INI file. If you then double click on the instadminODBC.vbs file the two lines are added again. Leave the two lines in if you want to see the midi DSN in your ODBC Administrator Window.

View:

If you resize the columns or the window, clicking the Menu item View - Resize Columns will evenly space the columns across the window.

Mouse:

If you left click on a column header, the list is sorted by that column A to Z ignoring upper case letters. This applies to the main Dialog Box called MIDI and the Search Melody Results Database Dialog Box.

Using the Database:

Open the program.

Click the first Row

Click the menu item Record
Then click the submenu item Edit

Click browse
Browse to the MIDI Samples Folder

Double click the MIDI Samples Folder

Double click on Alouette_10362.mid

Now you have entered the path to your Alouette MIDI file into the database. Only the file name is shown in the list however.
Repeat this for all the MIDI files with Titles until your list looks like this

Now click Record then Add

Click Browse and double click SCALE.MID

Type C Major Scale in the Tune Title Edit Box and CDEFGABC in the Comments Edit Box.

Click OK

Add the last two tunes

Searching The Database:

Here are the melody notes for the Test Cases:

Song Title File Name Melody Notes
Alouette Alouette_10362.mid FGAAGFGAFC
OCaroline's Cup carolcup.mid FGAA#AGFAGFDCAGFEDCACD
Circus Theme circus1.mid CBA#BA#AG#GF#G
Circus Ride circusride.mid A#AGFGFFFGFEF
Frere Jacques Frere-Jacques_10806.mid FGAFFGAFAA#C
Happy Birthday HAPYBDAY.MID GGAGCBGGAGDC
The Munsters munsters-theme.mid CD#F#GCG#GFGFD#FD#DCA#C
My Bonnie MYBONNIE.MID GEDCDCAGE
OH Susanna OH! SUSA.MID GABDDEDBGABBAGA
The Pink Panther pinkpanther-theme.mid D#EF#GD#EF#G#CBEGBA#AGEDE
Rosie Finn ROSIE.MID GBDGBGDBCBCAGF#G
C Major Scale SCALE.MID CDEFGABC
Semper Fidels smprfdls.mid GABCDEGABDCC
Yankee Doodle yankee.mid CCDECEDGCCDECB

You may put in any or all notes starting from anywhere in the sequence in any key including all enharmonic note spellings up to 2 characters(no double flats or sharps).

NOTE: The only way to hear the found MIDI files is to manually play them with Media Player or whatever installed application plays .MID files. I’ve included a “File Path” button on the Melody Search Results Dialog Box which displays the full path to help locate files.

Click the menu item Search.
Click the submenu item MelodyDatabase.

Example:

Note entry for Circus Theme ( circus1.mid )
Original key: C B A# B A# A G# G F# G
In every key:
C#CBCBA#AG#GG# DC#CC#CBA#AG#A EbDDbDDbCCbBbABb
ED#DD#DC#CBA#B FEEbEEbDDbCBC F#E#EE#ED#DC#CC#
GF#FF#FED#DC#D AbGGbGGbFEEbDEb AG#GG#GF#FED#D
BbAAbAAbGGbFEF BA#AA#AG#GF#E#F#  


Click the Search Button

Results:

The notes you entered for this search are displayed above the File Path Button.
If everything is working, add your own MIDI file Paths to the Database.

Database:

The Album Table is not implemented yet.

Searching Your Hard Drive:

To search your hard drive use the menu item Search, submenu item MelodyDirectory.

Using the keyboard this time and the same Melody Search Dialog Box as when searching the database, I have entered the C Major Scale.

Click the Search Button

Navigate to the Samples Folder and put in the check mark.

NOTE: Searching the entire Drive: If you put a checkmark on a Drive CheckBox ( C:\ for example) the search will take a long time depending on the number of files. Since the Cancel Button on the StatusBar control of the Search Directory Dialog Box cancels the search process between each directory call, this is seen as one call. This means the cancel button must wait until the entire Drive is searched. In plain English: You will be waiting with no escape button. Recommended: Break down the search into groups of directories.

NOTE: If you click on a + box to expand a directory there could be a short wait depending on the number of folders and files under that directory.

Click Search

The Melody Search Results Directory Dialog Box gives the found MIDI files. The Melody Notes you typed in for this search appear at the lower left hand corner of the Dialog Box.

Upgrading:

Unless Windows says otherwise, install the new version of the program on top of the old version. If you want a new database, the old database can be deleted manually using Windows Explorer before doing the new install. First delete the database file then delete the folder. If you leave the database, the new install will leave the data intact.

Uninstall:

Uninstalling the program using Control Panel Add/Remove Programs removes everything except the midi.mdb database file.

NOTE: Don’t use the MIDI Samples Folder to store your own MIDI files. Keep your work in My Documents.

Acknowledgments:

Without the CTA program (changed to ITP) at Columbia University I could not have realized this project. I would like to thank all my teachers: Jim Keogh, Ted Fike, Jeff Thaw, Richard Weiss, Lenny Henriquez, and Mario Giannini. When I was really stuck, I would call my tutor John Montoya.
The StatusBar class was written by Roland Trainor and downloaded from Status Progress Feedback - CodeProject
For the Tree view I started with Adrien Pinet's CFolderTreeCtrl class which can be found at CFolderTreeCtrl class, or how to select folders and subfolders from a drive - CodeProject

Updates:

10/17/2004 - Original Configuration
10/20/2004 - HTML icon, Documentation
11/16/2004 - Added Directory Search (menu item Search - MelodyDirectory), Documentation
11/17/2004 - Fixed the Status Bar on the Search Directory Dialog Box
11/22/2004 - Fixed a bug in the Cancel Button on the Search Directory Dialog Box and Status Bar. They now default to the Search Melody Dialog Box. Added a 'Long Processing Time' Warning Message Box if a Drive is selected in the Search Directory Dialog Box. Added Update: mm/dd/yyyy to the Help-AboutMidi... menu item Dialog Box. Documentation.
12/10/2004 - Added Click on Column Header Sort Ascending for MIDI and Search Melody Results Database Dialog Boxes.
12/27/2004 Version 1.20 When searching the database, if no path was present in a record, the search stopped instead of trying the next record.
6/28/2013 Installing with the MIDI Organizer Search.msi file gives the error:
Error: 424 Source: Microsoft VBScript runtime error Description: Object required Comments: Attempting to add DSN named 'midi' so it will appear in the ODBC Data Source Administrator window. Unable to write to file: WINDOWS/ODBC.INI
Solution: Right click on notepad and Run as Administrator. Save the empty Notepad file as odbc.ini (Save as type: All Files (*.*)) in C:\Windows. Close the notepad file you just created. Double click on MIDI Organizer Search.msi. If you get this error:
Error: 54 Source: Microsoft VBScript runtime error Description: Bad file mode Comments: Attempting to add DSN named 'midi' so it will appear in the ODBC Data Source Administrator window. Unable to write to file: WINDOWS/ODBC.INI
Right click on C:\Windows\odbc.ini and choose properties. In the security tab click the Edit button choose Users and check the allow write permission checkbox. Click apply, then OK and OK again to exit. Now when you double click on MIDI Organizer Search.msi you get Repair MIDI Organizer Search. Click finish. You should get:

TOP