the home-made MIDI-guitar

MIDI protocol
Frets and strings
Analog part
Control and indications
Algorithm of note detection


About author

Principle of operation

The principle of operation of "Tryndelka" may be defined as follows:

  • To decide if the note is heard on the string, the signal from pickup of the string should be analysed. Pickup sygnal is amplified, rectified, detected (local maximum is taken), then it is directed to ADC input of microcontroller.
  • To determine on what fret the string is pressed to, principle of scanning matrix is used, which is common for arrays of buttons. Active (positive) voltage is output to a string, after that the signal is read from each fret beginning from the last (17th in this case) and checked for high level. The first fret with high level is the fret where the string is pressed to.

Generally speaking, there are two common principles of MIDI-guitar design:


"Wired frets". The pitch of note played on the string is defined by fret which it is pressed to. This information is provided by sensors under frets. Loudness as well as start and end of note sound is determined by measuring magnitude of signal from string's pickup. Polyphonic pickup with individual channel for each string is used .

Merits: the principle is clear to understand, note pitch is determined in a moment and identically, string tuning precision does not matter at all. It is possible to make any reasonable number of frets without changing neck geometry.

Demerits: at least the neck should be radically reconstructed, great mechanical operations, it is not possible to use bends and flageoletes.


Various "guitar synthesizers", combined with guitar or standalone. Polyphonic pickup takes sygnal from each string ans passes it to sygnal processor. This signal is used to detect both amplitude and pitch (frequency) of the heard note.

Merits: it is possible to use ordinary guitar just with additional pickup, minimum of mechanical operations required to turn guitar into MIDI-guitar.

Demetrics: most of known MIDI-guitars with this principle have perceptible delay during note recognition, especially for bass. This problem is said to be solved by modern algorithms based on neuronet technology, which are able to recognize frequency by a sample less then one period. Another error pecular to this type of MIDI-guitars is ghost notes of high pitch, caused by finger noises. This method requires sophisticated digital signal processing.

There is another variant - something that looks like a guitar but with buttons instead of strings or with two sets of strings, for right and left hand separately. It is not possible (at least, it is difficult) to play on these controllers using traditional guitar technics, but they are suitable for tapping etc.

These days most of MIDI-guitar designs are based on B approach by the following reasons:

  • Additional equipment is installed on common guitar which retains its capabilities and still can be used as a guitar.
  • Electronics develops swiftly and microchips become cheaper and cheaper. It is the most advantageous way for manufacturer to develop one time a sophisticated decoder microchip and produce it mechanically rather than make high quality guitar necks with sensor under frets.
  • Many guitarists wish to use MIDI-guitar not for "playing any instrument party" but for obtainig unusual sound during live performance, i.e. they want to use synthesizer as guitar effect processor. From this point of view, approach B is more suitable because it allows to reproduce much more nuances of performance, such as bends (by Pitch bend controller) as well as different timbres by Expression, Aftertouch etc. controllers.

But Tryndelka is based on A approach, because I do not use bends while playing and this technics seemed me to be easy to implement. I did not work with DSP but I had experience with common microcontrollers. Besides, B-type devices from Roland are on market, and it is quite easier to purchase it rather than make it by own hand. Fortunately, I discovered that I have "unlimited access" to Microchip PIC16F74B microcontrollers on my work - with enough ports, UART onboard and eight programmable analog inputs.

<<< Previous   |   Next >>>

Хостинг от uCoz