This Page:

Automatic Musical Instrument Recognition and Related Topics (Ph.D. thesis)


    Internet Usability (M.Sc. thesis)


AMS (A MIDI Sequencer)

Web Panda (Smart search engine)

Game of BOO (Internet AI game)


NetSound (Instrument recognition) (Startup project)

Automatic Music Composition

Multi-Chat (Internet chat)



Other Pages:

 Main Page

  Academic Projects

  Industrial Projects



  Musical Background

  Personal Information and Hobbies


Automatic Musical Instrument Recognition and Related Topics
Ph.D. thesis in Computer Science at Institut de recherche et coordination acoustique / musique (IRCAM), and Université Pierre et Marie Curie - Paris 6 (Sciences et Médecine), Paris FRANCE.

This work was partly supported by the Chateaubriand scholarship by the French Ministry of Foreign Affairs and by the "ACI Masse de données" project “Music Discover”.

Supervisor: Professor Xavier Rodet.

The thesis deals with various aspects of Automatic Musical Instrument Recognition (AMIR). AMIR means, intuitively speaking, that given a musical recording, the computer attempts to identify which parts of the music are performed by which musical instruments.


AMIR research has gained popularity over the last 10 years especially due to its applicability as a component inside “Intelligent” music search-engines, which can allow searching the Internet or mass-storage devices in personal “MP3” players for music using “intelligent” criteria such as musical style or composition - as opposed to searches involving only textual information provided with the musical files. Other usages of AMIR include integration and improvement of other Musical Information Retrieval tasks such as Automatic Transcription and Score Alignment, and as a tool in applications for composers and recording studios.


AMIR is a compound process involving many challenging stages. The various stages of the AMIR process as presented in this thesis include obtaining and formatting of Learning and Test sound databases, computing feature descriptors on the sounds, automatic purging of the databases, feature weighting and dimension reduction of the feature descriptor space and finally, classification of the sounds as belonging to different instruments. Performing informative evaluation of the AMIR process is also important and non-trivial.


This work deals in detail with the different stages of the AMIR process and while “filling holes” in the theory it introduces new techniques and methods for performing many of the tasks, accomplishing AMIR of separate tones, Solo performances and polyphonic, multi-instrumental music.


Internet Usability
M.Sc. thesis in Computer Science at the Hebrew University, Jerusalem ISRAEL.

This work was financially supported by the supervisor.

Supervisor: Professor Catriel Beeri.


1.   1. Introduction to usability and its critical importance in the Internet age.


2. General Human-Computer Interaction principles (such as Memory overload, Information overload, Navigation overload, etc.), and specific recommendations of how to apply them to the web.


3.  Common types of web-sites (community sites, information sites, online stores, etc.) and how each type should deal with usability problems directly connected to their content (e.g. sociological problems in community sites, navigational structures of entertainment sites).


4.  Design of an original usability tool – the “Universal Navigation Bar”.  This tool establishes a basis for a general standardization of the user interface in web-sites, offers an easy creation of intelligent sitemaps, internal searching of sites, and includes generic tools that help users orientate themselves in any Internet site. Among other tools, the “Universal Navigation Bar” includes the “Universal Sitemap Server”, dynamic search features, dynamic sitemaps, and more.
As opposed to the previous chapters, written primarily for the site developers, this tool is designed mainly for the users, and improves the Internet usability even without participation of the web-sites themselves (though sites that choose to support the tool can improve its functionality and add extra features).

5.  Design of another original usability tool - “Universal InterSnips”. This tool enables the user to define sections of web pages from the net that she is interested in. Then the information from these sections is gathered, and the user can either view it on a single web page or access it through a WAP compliant cellular device. The displayed information is dynamically updated as the source sites change.
Again, this tool is designed for the users (as opposed to thesis chapters 2 and 3 dedicated mainly to web developers) and dramatically simplifies and increases the efficiency of frequent access to regular information sources.


6. Summary and recommended future work.


Appendix A exemplifies how automatic checking of various usability rules from chapter 2 could be performed. According to my knowledge, there is no tool to perform automatic usability testing yet.


Appendix B discusses shortly the subject of user-testing techniques and recommends several books on the subject.


Supervisors: Prof. Daniel Lehmann, Dr. Shlomo Dubnov.

This is my lab project for the Master’s degree. I have written it using Matlab on the Windows operation system and the ‘Planet’ Neural Network Simulator on UNIX.

The NetSound project deals with classification of musical instrument samples by using Neural Networks and Signal Processing.
Various kinds of Neural Networks (e.g. Back Propagation, LVQ, etc.) were trained to classify samples of musical instruments into groups (like ‘brass’, ‘pipes’, ‘reed’, etc.). These samples were first manipulated using several FFT methods.
The Neural Nets were then activated on many new samples of other instruments, and categorized them into the same groups. Then, the program compared these results with classification of these new instruments made by human listeners, and gave the experiment a ‘grade’. Many variations of Neural Nets and Sample processing were tried until high grades were achieved.

AMS – A Midi Sequencer
Supervisors: Prof. Naftali Tishby, Dr. Shlomo Dubnov.

The AMS is a research project I wrote as part of my B.Sc. studies. Initially it was written on an SGI machine and then developed further on a PC, programmed in ‘C’ and Assembler 8086.

The AMS is a full multi-track MIDI (Musical Instrument Digital Interface) studio software that includes, among all the standard options (like ‘quantize’, ‘transpose’, ‘event edit’, etc.), a unique “Follow Me” feature.  In ”Follow Me”, the computer accompanies the musician in a ‘-1’ mode, following the user’s own pace.
This is a group project I did at the Internet Entrepreneurship Course (see Additional Education). My role in this project was a ‘CEO’, managing a group of five people.
Our work included a presentation, a business plan and several working prototypes. offers full Internet personalization for portal and WAP users. Power Point presentation.


Web Panda
Web Panda is a client/server program written in Java as the final project in the Internet Programming Lab.

Web Panda is a smart search engine (as far as pandas go), which applies the Isodata Clustering Algorithm on results which were extracted from several search engines, and displays clusters of links corresponding to different subjects that are related to the searched words.
For example, one can search for the word “Jaguar”, and get results clustered into various categories - a category with links associated with the car, the animal, the video game, etc.  

Automatic Music Composition
I wrote a single voice composition program using the Planet Neural Network simulator as a project for the ‘Computer Music’ course. A canonical music composer was written in ‘C’ as a project for the ‘Music, Cognition and AI’ course.


The game of BOO
The game of BOO is an original board game in which the user plays against 3 computer players.

I wrote the first version in Prolog as a unique final project for the ‘Logic Programming’ course. A later version was adapted for playing on the Internet and translated into Java for the ‘JAVA programming’ course.

The Multi-Chat is a ‘multi-room’ Internet chat program.

This client/server program was originally written in ‘C’, and later enhanced and rewritten in Java for the Internet Programming Lab.


Other Pages:

 Main Page

  Academic Projects

  Industrial Projects



  Musical Background

  Personal Information and Hobbies