lBenson, sorry to hear your experiments did not give the results we had hoped. I thought we would try double stick taping the microphone to the face of the instrument body and see what kind of signals we got but just absolutely have not had time to work on it
Good lateral thinking but. having done extensive experimenting with the Touch command, I can say that it is only suited to carefully designed touch pads on the PCB. The sensitivity varies between touch inputs and also varies according to the amount of current passing though the associated port (A, B, C etc).
The attached image is a trace of readings from a 9-pad "keyboard" using a 28X2. Some inputs show clear touches but others are indistinct and the levels change as port current increases (a series of LEDs).
If you had a hammer that you didn't care about, you could cut away some of the cork end into a concave V. Then put your metal foil in there. Then when the string is hit, the V will center it on the strings.
When the instrument is played, the hammers hit the strings all along the curved cork edge so a v cut would not be acceptable and as lBenson pointed out it would change the tone too,
P.S. if I play really hard I get better connection with the strings and more reliable results.
I wonder if the code could be adjusted to be more sensitive to a string hit?
I've not read the entire thread so excuse me if this has already been thought of.
If you need to detect just a strike on the strings, make every string a ground with a 10K resistor and have 5v going down the hammers with a copper pad on the end, hook up to an ADC input.
Yes, that works very well 100% accurate however the wires on the Hammers are a hindrance to playing the instrument and the tone of the instrument is changed because of the copper foil covering the cork hammers.
Ok, how about making a new cork pads for the hammers. But have them made in thin layers with thin copper foil sandwiched in between each layer. This would reduce the amount of contact the copper has on the string but still carry a voltage to be detected?
I wouldn't worry about capturing simultaneous strikes, as long as you get a detected strike on one of the two strings you will get a signal. The width/length of the hammer will strike both strings if struck correctly and so a note will be produced? Or am I missing the point?
When we had all the strings on the instrument grounded and pins C.0 and C.1 on the Hammers it worked well. But the wires on the Hammers were a hindrance
RNovember suggested that we connect one of the string pairs to ground and the other one to a pin. Then the copper foil on the hammer would short the strings to give us a signal. However both strings must be hit simultaneously in order to get a connection.
In the course of playing sometimes the strings are not hit precisely at the same time we might even miss a string now and then and only play one string giving us false readings.
how much deflection is there in the strings? If you were to have a fork that was non conductive in the normal resting place of a string, and as it deflected it would move to a place that was conductive completing a circuit through the string to the fork.
Ideally, there would be nothing on the strikers which would be a hindrance, and nothing on the strings which would dampen them. That pretty much means sound detection with some kind of amplification and conditioning.
Not necessarily. There is a magnetic method to detect string movement, but it would require considerable development to fit that instrument. I don't think Gramps is ready to develop a magnetic detector.
Ok, simplistically described only because I'm short on time these days, in my working life I spent a lot of time with creating magnetic fields and detecting changes in those fields in a very rough environment; the drilling industry.
The method I'm referring to is not unique and is similar to the method used in a guitar style pickup with a key exception.
One needs a steady (or static) DC magnetic field which can be produced by the correct magnet. Then one needs a way to detect changes to that field which can be done with coiled-wire sensor(s). Then one needs ferrous material to move through that field which is your steel strings. This essentially describes the sensor system, and I'm thinking of a way to do this with a small magnet and an inductor. The shapes and sizes of these components would have to be determined by engineering specs and experimentation, because there are many variables. I'm imagining one sensor under each string (or pair of strings) built using standard electronic components.
The key difference between what you are doing and a generally available guitar pickup is that you need a "digital" sensor, and a guitar pickup is built for "hi-fidelity" and a relatively fixed distance between strings. Another difference is that your hammered strings begin vibration at 90 degrees to a traditional "plucked" string which may have something to do with the timing of the strike. Also, in your case, you have many more strings to detect and therefore the need for many more sensors which suggests some sort of combining of the signals created in the sensors; perhaps some sort of digital ORRING process.
I'm imagining the amplification of the signal from the sensors to be a significant engineering project, but certainly not insurmountable. Once digitized, this combination of individual string strikes could easily be merged into a single output, but significantly you would have the ability to experiment with detecting certain strings more often than other strings.
So, the reason I say "it would require considerable development" is because sensor development is a cyclic process of controlling variables, changing one variable and testing for results until acceptable results are obtained.
That's it in a nutshell. Nothing wild. Just good old solid engineering with some PICAXE thrown in there for fun.
Yes, it's far too expensive (for your application) and won't even do what you need (with or without hacking). It requires a high input impedance (>1M ohm) and has no amplification, whilst the PICaxe input probably needs an amplified signal with a low impedance (< 10k recommended).
Whilst I wouldn't suggest using an "open" microphone (which could pick up room noise, etc.), you really should be able to get a satisfactory signal from a contact microhone (located as per the data sheet), or one located in the sound port (air hole) of the instrument. However, you must then convert the "audio" signal (ac) into a form suitable for the PICaxe input, (i.e. amplified and rectified to "dc") as I suggested in #18 (so I won't repeat it here).
even do what you need (with or without hacking). It requires a high input impedance (>1M ohm) and has no amplification, whilst the PICaxe input probably needs an amplified signal with a low impedance (< 10k recommended).