Home
TS-AudioToMIDI Web Online Help
Introduction
What is Music Recognition
TS-AudioToMIDI in brief
What's new?
Features
Features
Supported formats
System Requirements
Installation
Installing and Uninstalling TS-Audio2MIDI
Quick Start
How to transcribe a WAVE file
How to transcribe music in realtime
Using TS-Audio To MIDI
Basic Operation
Wave Recording
Perform recognition of pre-recorded audio
Realtime recognition
MIDI Playback
Audio Playback
Advanced Topics
Setting Equalizer
Tuning up Selectivity Window
Setting Recognition Parameters
Choosing Recognition Algorithm
Auto Tune
Setting up Threshold and Noise Gate
Setting Harmonic Model
Saving settings
TS-Audio To MIDI Reference
TS-AudioToMIDI Main Window
Wave Playback and Convert controls
Wave Recorder
Device Controls
Tune
Spectrum Analyzer and Keyboard
Filter Window
Graphic Equalizer
Selectivity Window
Noise Gate and Threshold
Instrument selector
Transponse control
Volume control
Harmonic model
MIDI Settings dialog
Algorithm selector
MIDI Channel selector
Minimal Note and Pause duration
Play/Keep silence control
Build-in MIDI Sequencer
Save and Load Recognition Settings
Time Window
MIDI Player position
Spectrum Window
Additional Info
How does TS Audio to MIDI recognizes music
Recognizing pre-recordered files vs on-fly recognition
Recomendations on improving recognition quality
Contacts & Support
Registration
License agreement
FAQ & Troubleshooting
Choosing Recognition Algorithm
   

TS-AudioToMIDI provides four different note detection algorithms. They are: Poly Sensors, Mono Correlator, Mono BreakingMono Sensors and Beat Detection. As it can be seen from method's names, first one is assigned for recognizing polyphonic music, and three the others are assigned for monophonic. You can choose algorithm that gives best fit for particular melody. For choosing algorithm select it in "Algorithm" control of main window.

Poly Sensors, Mono Breaking and Mono Sensors methods have much in common with each other. They all are based on the set of oscillator circuits named sensors. Each sensor gets wave signal as input and produces some reply. Sensor's reply is a value proportional to the amplitude of component with frequency about equal to sensor's resonance one. Sensors have two parameters, you can control by means of Selectivity and Sharpness controls on Selectivity window. After sensor's output is multiplied on correspond Equalizer values, it arrives on Spectrum Window. All these methods analyze spectrum data at each instant of time from left to right (from low to high pitches). When spectral maximum is detected it assumed to be fundamental frequency of note. This assumption is tested by comparing spectra to Harmonic model setting. After this, if assumed note is greater than Threshold value then note accepts, otherwise rejects. If note is accepted, all it's spectral components are subtracted from corresponding components of whole spectra.

When producing MIDI file, notes with duration less than Minimal note duration are rejected.

And now let's discuss features, specific to each algorithm.

Poly Sensors. This method is assigned for recognizing polyphonic music. This means it can produce several notes that sound simultaneously. Poly Sensors algorithm can recognize music records performed with single instrument as well as multiple instruments. After first peak is proceed this algorithm scans spectra further to the right and find next spectral maximum, and the operation repeats from the beginning. Finally, scan process reaches highest frequency and stop. Then program start analyzing next time slice. Poly Sensors algorithm can be used for recognizing both polyphonic and monophonic records. It usually produces some waste notes, but careful adjustment of Harmonic model and Threshold allows avoiding this problem.

Mono Sensors. Mono Sensors is very similar to Poly Sensors. The difference is that Mono Sensors is an algorithm for monophonic music transcription, it detects only one - the lowest - voice. This method can recognize monophonic music performances or transcribe one voice from polyphonic piece. By default it detects lower voice, but adjusting Equalizer allows transcribe any other voice.

Mono Breaking. This method is also designed for monophonic music transcription. Its distinguishing feature is "breaking" sound it produces. This method breakes note as soon as it's amplitude starts decreasing. Sometimes this lead to appearing the same note in very little time again. Key feature of this method is it's accuracy in recognizing instruments with smooth attack. It can be also used in real-time instead of Mono Correlator as it takes less processor power.

Mono Correlator. Unlike all methods, discussed above, Mono Correlator algorithm does not use sensors. Instead, it analyzes time correlation between neighbor time slices. Thus it can detect voice even it is not the loudest one. This method is better to use when performing real-time recognition, especially for instruments with ability to play "floating" notes, between standard note frequencies, for example flute or violin.

NOTE: When selecting Mono Correlator detection algorithm, Harmonic Model control together with Selectivity Window and Threshold, Selectivity and Sharpness sliders are becomes inactive. This happens because Mono Correlator does not use this information.

Beat Detection. Unlike all methods, discussed above, Beat Detection algorithm does not detect pitch of signal. It detects sudden increase of signal level. Beat Detection allows to convert beats or claps into MIDI drum sound without noticeable delay in real-time. When selecting Beat Detection algorithm, Threshold value specifies minimal signal attack. If signal attack (speed of volume increase) is greater than specified value then beat accepts, otherwise rejects.

NOTE: When selecting Beat Detection algorithm, Harmonic Model control together with Selectivity Window, Selectivity, Equalizer, Minimal Note/Pause Duration and Sharpness sliders are becomes inactive. This happens because Beat Detection does not use this information.

Related topics:
Setting Harmonic Model
Setting up Threshold and Noise Gate