Positional sensing on megadrum? a dream or a future reality?

Discussions of any related software

Moderator: Related software moderators

Re: Positional sensing on megadrum? a dream or a future reality?

Postby elrules » Mon Dec 10, 2007 1:43 pm

Well, here we are with the MIDI log I promised.
Pretty well explained

Realize that MIDI CC value (for position detection) is sent immediately before the Note On (here we see 1 ms gap but I think it is because of the clock resolution, in fact they must have been sent at the highest midi speed one after another)

Originally written by a Roland product specialist employee.
I'm sure this topic has been covered before on this forum, but the CC data is sent before MIDI note information. Striking a pad (or activating a control pedal) initiates the message, but along with the channel data, the controller data and its value are sent just before the MIDI note data.

Example 1: A medium (velocity =77) strike in the center of the snare pad sends controller 16 and its value (center=0), followed by the MIDI note and the velocity of the note (10 =MIDI Channel).

17:19:08.879 From Port A Control 10 16 0
17:19:08.880 From Port A Note On 10 D1 77
17:19:08.980 From Port A Note Off 10 D1 64

Example 2: Two strikes on snare pad starting just inside the hoop (127) moving toward the center of the pad:

17:20:51.660 From Port A Control 10 16 127
17:20:51.661 From Port A Note On 10 D1 23
17:20:51.761 From Port A Note Off 10 D1 64
17:20:52.077 From Port A Control 10 16 0
17:20:52.078 From Port A Note On 10 D1 36
17:20:52.177 From Port A Note Off 10 D1 64

The Hi-Hat controller (CC4) has a value of 0 when the pedal is at rest (open) and increases as the pedal is closed. The following example is simply pedaling the hi-hat ( "chick" sound..without striking the pad) and leaving it closed:

18:12:11.657 From Port A Control 10 4 19
18:12:11.664 From Port A Control 10 4 77
18:12:11.666 From Port A Note On 10 G#1 127
18:12:11.667 From Port A Control 10 4 102
18:12:11.668 From Port A Note On 10 A#1 93
18:12:11.675 From Port A Control 10 4 108
18:12:11.686 From Port A Control 10 4 99
18:12:11.696 From Port A Control 10 4 102
18:12:11.728 From Port A Control 10 4 120
18:12:11.767 From Port A Note Off 10 G#1 64
18:12:11.767 From Port A Note Off 10 A#1 64

Striking the hi-hat pad while pedaling will obviously send the corresponding controller value and MIDI note (and velocity level) based on pedal position, where (head or rim), and how hard or soft the hi-hat pad is played.
__________________

Drew Armentrout
Product Specialist - Roland US
Drum & Percussion Products
elrules
 
Posts: 629
Joined: Thu Nov 29, 2007 4:51 pm
Location: Murcia, Spain, Europe, The World

Re: Positional sensing on megadrum? a dream or a future reality?

Postby dmitri » Mon Dec 10, 2007 2:02 pm

Thanks! Just as I expected it would look like.
dmitri
Site Admin
 
Posts: 8710
Joined: Fri Aug 03, 2007 8:05 pm

Re: Positional sensing on megadrum? a dream or a future reality?

Postby aquawicket » Tue Dec 11, 2007 12:04 am

If there is still any confusion on this subject.. Let me clear it up.

Position sensing is not hard.. but it's not easy. If you are linking you Midi drums into your PC "no matter what module you use", Edrum Monitor DOES support position sensing for 2 zone drums and 3 zone drums. And here is exactly how this works.

2 Zone drum example.
---------------------------
True position sensing of any drum requires more than one piezo to work. In this case we will place one piezo in the center of the drum and one piezo toward the rim of the drum. Piezo 1 is plugged into jack 1, and piezo 2 is plugged into jack 2. Now when we hit the drum, both piezo's will vibrate. We can tell where the stick has hit the drum by how much louder one piezo is than the other. I.E. if the center piezo was loud and the rim made little sound, we hit the drum almost directly in the center normal force. If both piezo's were the same volume, we hit the drum right between the center and the rim. Make sense?

The hard part off all of this is the timing and mathematical algorithms involved. Even though our ears can't normally hear it, there is a delay between on piezo and the other. Think of it as the slow motion rock in the pond effect. It's all about the ripple effect. The rock hits the pond, and in a few seconds the ripples have hit the shore. :) I've found this distance between piezos to range anywhere from .1 ms to 13ms.. In Edrum Monitor, there is a feature that will automatically detect the time it takes for both piezo's to register in order to give you the lowest possible latency.

Programing this is another story. Everything seems to be going well until you run into timing and threading issues. You need to detect the first piezo, holds it information for x amount of microseconds, and wait for the second piezo. If the second piezo never comes, the info stored for piezo 1 is released. However if the second piezo is detected within the allotted time frame, the two values are calculated against a mathematical curve algorithm, user setting are taken into account, and the desired output is release. No easy task. :P It gets much harder as you start to add zones. 3. and 4. and more. I have about 2 years experience studying the concepts of position detection, and am the first to incorporate it into computer software. I Found it both very fun, challenging and sometime frustrating to do correctly. If anyone ever decides to embark on this journey, let me know, I'll give you my knowledge :)

Here is a link over at Edrum.info on the start of my journey into the world of Position Sensing :)
http://www.edrum.info/forum/index.php?topic=562.0
aquawicket
 
Posts: 30
Joined: Sun Aug 05, 2007 6:18 am

Re: Positional sensing on megadrum? a dream or a future reality?

Postby elrules » Tue Dec 11, 2007 2:26 pm

Let me tell you that you are wrong. In several things.

Roland doesn't use this method for its drums. Positional sensing only needs one piezo to work. Did you see the links I posted in the first post of this thread. I guess you didn't. There is info about the Roland patent on positional sensing, info describing how exactly it works. Take a look a it. Only one piezo man!

Second, if you place two piezos in a mesh head drum, you can't achieve PS. I don't know where you plan to put the second piezo but I will discuss the two possible situations:
1 - the second piezo is on the shell of the drum, placed in a crossbar attached to the shell, like roland dual pads (pd-125). It is on the center so the signal coming from the rim is equal no matter in which side of the drum you hit.

In this case, you will loose the dual zone capabilities of the pad, cause you use those two piezos for doing the PS. What happens if you hit only the rim? You are not going to have rimshot, you'll have "head hit near the edge" sound.

Besides, it is very very difficult to calculate it because when you hit the mesh head, the vibration of the rim piezo is practically the same (I would say the same) if you hit the center, or if you hit near the rim (but in the mesh head)

2 - In case the second piezo is placed with a cone contacting the mesh head near the rim. Well, the pads are rounded, so,you need to spread a lot of secondary piezos in different angles to have simetry on the positional sensing of the pad. It is not achievable.


So, don't mess around with positional sensing with two piezos. One piezo would work. The frequency of the signal is different depending on where you hit the mesh head. Roland uses that.

If you are not going to sell DIY modules, you can use that method to built your own module. And this method is achievable.

By the way, 13 ms is a lot of latency.
Roland modules send PS with less than 4 ms.
elrules
 
Posts: 629
Joined: Thu Nov 29, 2007 4:51 pm
Location: Murcia, Spain, Europe, The World

Re: Positional sensing on megadrum? a dream or a future reality?

Postby aquawicket » Tue Dec 11, 2007 3:34 pm

I was only stating how Position sensing is accomplished with Edrum monitor. Roland has a Patent on their method of Position Sensing. But that's not the point. The point is, position sensing using multiple piezos DOES work. Trust me, I've tested it and so have many others who have been around the drum forums for a long time. PS using multiple piezo's allows modules that don't have the capability to produce Position data. I have a Roland TD-20 full kit. I also have a DIY kit. And I have built two of my own drum modules. Many many hours have been put into getting multi-piezo PS detection with a side by side comparison with my roland kit and the results work great.

1 - the second piezo is on the shell of the drum, placed in a crossbar attached to the shell, like roland dual pads (pd-125). It is on the center so the signal coming from the rim is equal no matter in which side of the drum you hit.

No, These are not the results I get from my Roland drum. It does vary as you move across the drum.

In this case, you will loose the dual zone capabilities of the pad, cause you use those two piezos for doing the PS. What happens if you hit only the rim? You are not going to have rimshot, you'll have "head hit near the edge" sound.

If you hit the rim, the rim piezo will be louder than the head piezo most times. In fact their is a ratio that can be used to determine if the rim was hit. If B + threshold > A.. Rim shot. Software can filter this into a rimshot no problem.

Besides, it is very very difficult to calculate it because when you hit the mesh head, the vibration of the rim piezo is practically the same (I would say the same) if you hit the center, or if you hit near the rim (but in the mesh head)

The wave frequencies may differ, but the volumes of the piezos always differ. It is the comparison of Volume and latency that is used and it works quite well. Think back to the rock in the pond effect. This method does work, and you'd be surprised how well it works.

So, don't mess around with positional sensing with two piezos. One piezo would work. The frequency of the signal is different depending on where you hit the mesh head. Roland uses that.

Though the one piezo method may work, it is patented. Messing around with other methods proved to work out very well indeed. Alot of people are very happy that they can have 2 and 3 zone PS dectection with any ol' drum module. I have a friend who works in a studio down town and is using, eDrum module + DIY kit + Edrum Monitor + BFD. He prefers the results of this setup over his $5000 roland kit.

By the way, 13 ms is a lot of latency.
Roland modules send PS with less than 4 ms.

I had a huge bass drum with a home made mesh head on it. I put 5 piezo's in it and tested it with a mallet to see the results. 13 ms with a very loose head was the longest result. I had to figure this in when writing EDM to ensure compatibility with even the scariest drums. My DIY kit usually get around <1 ms for PS. On small occasions I have a latency on my low tom up to 2.3ms I have no latency issues. And PS works like a dream on all my drums:)
aquawicket
 
Posts: 30
Joined: Sun Aug 05, 2007 6:18 am

Re: Positional sensing on megadrum? a dream or a future reality?

Postby elrules » Tue Dec 11, 2007 4:01 pm

Well, it seems you are right. You can be of a lot of help here then.
All the approaches to this can be good to the project.
elrules
 
Posts: 629
Joined: Thu Nov 29, 2007 4:51 pm
Location: Murcia, Spain, Europe, The World

Re: Positional sensing on megadrum? a dream or a future reality?

Postby Lakedaemon » Tue Dec 11, 2007 10:12 pm

Well...to me it looks like you are both right.....

I took appart a roland 12" ride C12RC cymbal and there was only 1 piezo and 3 tape switches in it.
If the roland 14" craches and 15" rice cymbals are made with the same stuff, that means that positionnal sension on cymbals is done with only 1 piezo.

Now, pd125 do have a nice radial structure (invariant by revolution) with the meshhead piezo at the center and the rim piezo just under it inside the spider baskets. This is quite difficult to reproduce with a DIY setup (but may be done, with a suspended meshhead trigger and a rim triger in the center of a disc under the meshhead trigger for example).

Those could use a 2 piezo or a single piezo method to implement positionnal sensing.

I have only had my TD20 for a few weeks and I focus in learning drums, so I haven't experimented yet with positionnal sensing to know the truth of it.
Well, maybee I should.....

Now, you spoke about frequency and strength of the hit.
What about computing the decaying factor of the strength of the waves ?
(if it requires a division....the Atmega32 won't like it ^_^ though it could be implemented with a lot of tests and multiplications... eating lots of clock cycles...:d)
Lakedaemon
 
Posts: 53
Joined: Fri Nov 09, 2007 11:44 am

Re: Positional sensing on megadrum? a dream or a future reality?

Postby mojamusic » Sat Jul 12, 2008 1:47 am

has there been any update regarding positional sensing?
mojamusic
 
Posts: 37
Joined: Fri Jun 27, 2008 2:30 pm

Re: Positional sensing on megadrum? a dream or a future reality?

Postby Synthex » Sat Jul 12, 2008 8:52 am

mojamusic wrote:has there been any update regarding positional sensing?

http://www.megadrum.info/forums/viewtopic.php?f=3&t=212&start=40#p3351
Synthex
 
Posts: 1471
Joined: Fri Oct 12, 2007 6:06 am
Location: France

Re: Positional sensing on megadrum? a dream or a future reality?

Postby Ken Forgettable » Tue Jan 13, 2009 5:21 pm

Some stimulation here <http://www.kobushi.com/acoustics/index.html>
Ken Forgettable
 
Posts: 402
Joined: Tue Jan 06, 2009 5:04 pm

PreviousNext

Return to Related Software

Who is online

Users browsing this forum: Google [Bot] and 26 guests