Main MIDI protocol Principle Pickup Frets and strings Power Analog part PIC16x74 COM-port MIDI-port Control and indications Algorithm of note detection |
Frets and stringsTryndelka uses only steel strings. This is dictated by both magnetic pickup principle and fret scanning method, which uses elictrical contact between string and fret to determine what fret is pressed to. I use first strings (N1) in all six positions because high frequency signal is better for processing in my scheme. To determine where the string is pressed to, it is activated by logical "1". After that the microcontroller reads levels from frets, beginning from the last. Where it reads the first "1" indicates the fret where the string is pressed to. During fret changes, a string can first make contact with previous frets and with desired fret as last event - this fact should be taken in mind during design of recognition algorithm. This method of fret detection is working, it is easy to implement, but it is imperfect. In particular:
Approximate scheme of fret scanning is shown below. Diodes (6 for each fret) are preventing scanning current to come upon another string in case of using barre. Resistors at the scanning input provide pulldown to "0" for frets which have no contact with scanned string. 10 kOhm resistors allow both low power consumption for scanning scheme and effective noise reduction. At the beginning I planned to place diodes at scanning output to prevent short circuit caused by string interconnection. It does not work. Conductivity of my finger is enough to transfer active level of "1" from active string to another while taking barre. Attempt to use the third state of inactive output for the same purpose was also unsuccessful. As a result, now scanning outputs of microcontroller are connected to strings (and to guitarist's hands) directly. In case of interconnection of the strings it is possible to feed "1" to "0". Microcontroller port is powerful enough and does not burn out during period of scanning (~ 1 ms), but it is not good. Yes, of course, small resistors (100-200 Ohms) should be placed between port output and string, but I feel too lazy to do so. It makes sense to place stabilitrons or varicaps on iputs and outputs of scanning to achieve static shock protection, but it is not done. Constructively all frets are soldered on 1 mm two-sided plate. The plate is attached to guitar neck with screws. In the first model I used pieces of 1 mm in diameter copper conductor, planarly soldered to the top surface of the cover plate. Under each fret I drilled a via and press it with copper pin as inter-layer connection. Diodes are soldered to internal side of the cover plate placing along neck axis. The neck itself has a groove to hold diodes and wires. Each fret from outside and inside the neck is shown at the right. |