The R&D of an Audio Search/Processing Engine for a multi-server environment - ON-092

Preferred Disciplines: Computer Science or Engineering, Master
Company: Interactive Voices Inc.
Project Length: 4 to 6 months
Desired start date: As soon as possible
Location: London, Ontario
No. of Positions: 1
Preferences: NA

About the Company: 

Interactive Voices Inc. operating as, is a London, Ontario-based technology company that is the world’s #1 marketplace that connects businesses with professional voice-over talent. Launched in 2005, the company has built a proven engine powering sales, marketing and service that is poised for explosive growth. This database is composed of 200,000 talents in 100 languages and 200,000 clients who are a combination of small businesses, Fortune 500 companies, and creative directors and video producers. 

Project Description:

The Project

Currently, our system allows for clients to post a job that is used by our VoiceMatch Engine to locate and rank qualified talent. The system uses a Language, Accent, Gender, Voice Age, Role, and Style algorythm that scores and invites qualified candidates to the job. In order to improve this system and thereby generate better results for our clients, we want to build an audio-based search/processing engine for a multi-server environment using performance characteristics and a flexible meta data language. 

The Research to be Performed

Each talent uploads any number of demo clips for our clients to hear, and the demo clips are tagged with a number of vocal characteristics. The research will involve building a richer set of 12 meta tags (increased from 6). On the back end, the search will also include how popular an individual is, how many demos they have, and what type of equipment they used to record their performances, which will allow the search to be far more accurate and expand on rules and styles. The search feature will allow the tagging to be as specific as possible, using Language, Age, Gender, and Category for type of genre as the initial metatag ranking criteria. The second classification will involve a ranking of Accents, Roles, and Styles.


The researcher will build an integrated search engine that can function both within the context of the current site and externally should move to a multi-server platform. The search engine should use a targeted search language that could be optimized to improve performance, and some form of natural language processor that would convert a search request string into the search language. The idea is to offer both the natural language and the underlying search language to the user so that complex searches can be made precisely.

The researcher will write a search compiler that would account for keywords input by clients to produce a correct output for appropriate search tags required. The researcher will further experiment with algorythms that will provide effective, consistent, and accurate searches. The new technology should be able to exclude irrelevant characteristics as well.

The Objectives

Incoming Demo files would be processed /classified before being tagged for storage over a cluster of available servers. The search engine would then allow precise selection of the appropriate clips using a detailed meta data search language derived from a natural language processor interface. There will be significantly better flexibility of the platform and the service alltogether. 

Research Objectives:

  • All searches return a list of demo ID that match criteria
  • Top level tables involved in the search would include Member, Talent, Demo. Ancillary tables linked to or from these primary tables (like Language, Roles, Styles, Accents, Ages, etc.) would also be included
  • A cache table will be used to save search results with a key equal to the search criteria (compiled search language)
  • The engine will be designed to perform demo ID matching across several lists.
  • The user’s primary demo may be substituted for the result of non-demo criteria search parameters (like Name, Location, etc.)

Search Criteria

  • The list of criteria would include both directly accessible fields as well as derived data.

Search Language

  • Searches can be initiated at several levels of the system using several methods
  • Searches from
    • JSON string (API, Drop in player)
    • POST
    • GET parameter list
  • Converted into JSON string
  • Compiled
  • Generated keyword/name/location/etc lists
  • Each parameter is married to a specific index value
  • Normalized order
  • Boolean connectors
  • Becomes Key to cache


  • To be determined

Expertise and Skills Needed:

    • Computer Programming or Engineering student or graduate
    • Researcher with advanced database system architecture, data modeling and database design, design of query languages, query execution techniques, indexing and query optimization, transactions, and concurrency control knowledge
    • Researcher should have knowledge of advanced techniques for the design and analysis of algorithms.


    For more info or to apply to this applied research position, please

    1. Check your eligibility and find more information about open projects.

    2. Complete this webform. You will be asked to upload your CV. Remember to indicate the title of the project(s) you are interested in and obtain your professor’s approval to proceed!

    3. Interested students need to get the approval from their supervisor and send their CV along with a link to their supervisor’s university webpage by applying through the webform or directly to Katie Facecchia at kfacecchia(a)