Announcement

Collapse
No announcement yet.

Roland PD-140DS inspired build

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • #16
    Originally posted by redtide View Post
    Really awesome, I like the teensy32 too, someone calls it an "arduino on steroids"
    I wonder if you will keep this closed source or have you an idea to make it open in some shared repository (GIT and the like)
    I've thought about it. I'm not opposed to releasing the code, but it's such a ball of garbage I'd be embarrassed to right now.

    Comment


    • #17
      This is so damn cool. Well done!
      Check out The Stewards on any major streaming platform, including the ones below.
      Soundcloud - https://soundcloud.com/the-stewards
      Spotify - https://open.spotify.com/artist/4DkksGVF7ujfj7KupB6wdD
      Deezer - https://www.deezer.com/us/artist/51527662

      Comment


      • #18
        Originally posted by joshuas View Post

        I've thought about it. I'm not opposed to releasing the code, but it's such a ball of garbage I'd be embarrassed to right now.
        Are the piezo sensors also direct connected to your Teensy board? Or did you use any electronics before the ADCs? (I see the touch sensor was direct connected)

        I am guessing it is a bit fiddeling in the Ardunio code for the ADCs to read the signal in a proper way - piezos do leverage signals which could be a bit hard to deal with......and also to find the right balance between the different sensors and touch. (Hope you added a GUI to trim the balance...doing it in code before compiling will drive you crazy) But with the right approach in the APL code you could even do positional sensing and deliver it to usbmidi. (Midi class complient?)

        I personally think these kind of approach of using tiny cpus in each drum is nice step forward in evolution which will equip us drummers more functionality and more hit dimensions. (Nice adds to the drum feeling)

        As said before, a very nice project!

        Best regards

        Anders / www.zourman.com
        Last edited by angr77; 03-09-19, 05:41 AM.
        Pearl CrystalBeat and Sonor Safari, Roland CY-14/13R/15R/12CR, RT-10x,2xBT-1,VH-11/12/13 & KD-10, Quartz, Pintech Dingbat, Triggera D14,D11, ATV AD-h14, 120MHz MegaDRUM with PS board, 2box 5&3, dd4SE, TD-9, Addictive Drums 2.1.8. All ADpaks, Microsoft Surface PRO, Macbook, Pearl Throne Thumper, Zourman HH & Ride Conv Kit www.zourman.com

        Comment


        • #19
          A few adds to what angr77 said: in my poor experience on the topic, AFAIK, using an Arduino you would need something like 1M resistors and diodes connected in parallel with piezos and than to the board's analog inputs and the Teensy 3.2 has 3.3V only (not 5V tolerant) on analog inputs, I still don't know if a piezo could damage its chip.
          Anyway some examples could be the MicroDrum and DrumKitKit projects.
          The Teensy 3.2 is USBMIDI compliant, there is also a MicroDrum based project using it here.
          Last edited by redtide; 03-09-19, 04:33 AM.
          Roland TD-12 module, MegaDrum Trigger module, DIY DareStone CLDRUMWH A2E drum conversion, DIY rack using Dixon clamps, Pearl P-932 double pedal, DIY A2E Chang dual zone cymbals.

          Comment


          • #20
            Originally posted by angr77 View Post

            Are the piezo sensors also direct connected to your Teensy board? Or did you use any electronics before the ADCs? (I see the touch sensor was direct connected)
            There's a resistor for each sensor to bring the level down to where the peak is within the teensy's range. I tried adding a diode to stop it from going negative, which is apparently bad for the teensy, but I couldn't get good data doing that. (again, software guy....)

            Originally posted by angr77 View Post
            I am guessing it is a bit fiddeling in the Ardunio code for the ADCs to read the signal in a proper way - piezos do leverage signals which could be a bit hard to deal with......and also to find the right balance between the different sensors and touch. (Hope you added a GUI to trim the balance...doing it in code before compiling will drive you crazy) But with the right approach in the APL code you could even do positional sensing and deliver it to usbmidi. (Midi class complient?)

            I personally think these kind of approach of using tiny cpus in each drum is nice step forward in evolution which will equip us drummers more functionality and more hit dimensions. (Nice adds to the drum feeling)

            As said before, a very nice project!

            Best regards

            Anders / www.zourman.com
            Yeah so for each cone I get a signal right? It's the typical piezo signal picture you see everywhere online. The width of the first wave on the center cone is typically used for positional sensing in single cone drums. I calculate that "guess" I also receive the waveforms out of sync with each other, you can actually "see" the wave from the hit travel across the drum head. So not only can I tell how far from the center you hit, but I can tell where on the head you hit. Hypothetically I could even have a different sound for different areas of the head, like a drum pad. I average out my center positional guess and my wave-sync positional guess in a way that was observationally accurate. There is no clever provable math and physics going on in here. I did have to do a ton of testing to even out the signals from each piezo, there's no consistency in their manufacture apparently. I built an app for my computer to collect and graph the data from he different sensors so I could tune them, but yes the coefficients are just hard coded in there for my drum. I do provide positional sensing data over midi through a CC.

            I like having a cpu in each drum, but it adds cost obviously. I probably will have each teensy in each drum also handle a cymbal and that will probably max out it's cpu power.
            Last edited by joshuas; 03-09-19, 09:56 AM.

            Comment


            • #21
              Originally posted by redtide View Post
              A few adds to what angr77 said: in my poor experience on the topic, AFAIK, using an Arduino you would need something like 1M resistors and diodes connected in parallel with piezos and than to the board's analog inputs and the Teensy 3.2 has 3.3V only (not 5V tolerant) on analog inputs, I still don't know if a piezo could damage its chip.
              Anyway some examples could be the MicroDrum and DrumKitKit projects.
              The Teensy 3.2 is USBMIDI compliant, there is also a MicroDrum based project using it here.
              I think I'm using 1M resistors, no diode. Yes it supposedly can damage the chip, but so far so good. I've been playing for months at this point. I think I checked out every Arduino/teensy related midi/drum anything I could find when I started, not sure about these specifically though. I couldn't find any that did what I needed. I don't think any even attempt positional sensing.

              Comment


              • #22
                AFAIK no other project out there (except the MegaDrum) has positional sensing.
                So you did a lot of research, the result is impressive, let us know about your progress, I wish I could be involved and help on this project, it's really awesome.
                Roland TD-12 module, MegaDrum Trigger module, DIY DareStone CLDRUMWH A2E drum conversion, DIY rack using Dixon clamps, Pearl P-932 double pedal, DIY A2E Chang dual zone cymbals.

                Comment


                • #23
                  Not quite true. MarkDrum had positional sensing (via 4 sensors, also absolute) with the YES kit, but not communicated actively for patent reasons.

                  They were using an NXP LPC1114 in each of the pads, which is a Cortex M0 design. They all talk to the main module via a simple transceiver 6-byte-based protocol (according to the data stream I could hack into here). And that was already in 2011, so way before Roland, btw.
                  MarkDrum YES e-kit highly modified (DIY hall-sensor based hihat, low-volume trigger cymbals, 16" DIY kick, 12" DIY snare + tom 3), Triggera 10" splash
                  Gibraltar 9607NL-DP Legless Hi Hat, Intruder Double Pedal
                  Shure SE215 in-ears w. CustomArt silicone tips

                  Comment


                  • #24
                    I was referring to non commercial products / DIY projects (MegaDrum is in an half way).
                    Roland TD-12 module, MegaDrum Trigger module, DIY DareStone CLDRUMWH A2E drum conversion, DIY rack using Dixon clamps, Pearl P-932 double pedal, DIY A2E Chang dual zone cymbals.

                    Comment


                    • #25
                      Originally posted by joshuas View Post

                      I think I'm using 1M resistors, no diode. Yes it supposedly can damage the chip, but so far so good. I've been playing for months at this point. I think I checked out every Arduino/teensy related midi/drum anything I could find when I started, not sure about these specifically though. I couldn't find any that did what I needed. I don't think any even attempt positional sensing.
                      If you just have a single 1M resistor in series with the piezo, you probably won't blow up the chip since the I/O cell probably does have a small diode that will clamp the signal to 3.3V. All of the signal above 3.3V will be dropped across that resistor, but the current will be so low since the resistor is so huge. The biggest downside would be that you'll just have crappy dynamics since any hit that produces a peak signal above 3.3V will look the same as a low volume hit with a 3.3V peak. If you want to retain the dynamics, you will need a voltage divider which requires two resistors.

                      Comment


                      • #26
                        Originally posted by joshuas View Post

                        There's a resistor for each sensor to bring the level down to where the peak is within the teensy's range. I tried adding a diode to stop it from going negative, which is apparently bad for the teensy, but I couldn't get good data doing that. (again, software guy....)

                        Yeah so for each cone I get a signal right? It's the typical piezo signal picture you see everywhere online. The width of the first wave on the center cone is typically used for positional sensing in single cone drums. I calculate that "guess" I also receive the waveforms out of sync with each other, you can actually "see" the wave from the hit travel across the drum head. So not only can I tell how far from the center you hit, but I can tell where on the head you hit. Hypothetically I could even have a different sound for different areas of the head, like a drum pad. I average out my center positional guess and my wave-sync positional guess in a way that was observationally accurate. There is no clever provable math and physics going on in here. I did have to do a ton of testing to even out the signals from each piezo, there's no consistency in their manufacture apparently. I built an app for my computer to collect and graph the data from he different sensors so I could tune them, but yes the coefficients are just hard coded in there for my drum. I do provide positional sensing data over midi through a CC.

                        I like having a cpu in each drum, but it adds cost obviously. I probably will have each teensy in each drum also handle a cymbal and that will probably max out it's cpu power.
                        Cool!
                        ok, my interest about this question was more from a dynamic perspective and the ability to get a good range of hits by feeding the ADCs directly without any passive or active electronics. I donít think the ADC inputs will get damaged in either design.

                        Looking on the MegaDrum design you have no electronics in front of the ADCs...(except for the rectifier board if You want to do PS) but on most commercial designs you will find both passive electronics and active op amps before the ADCs to be able to filter out the signal and be able to support a bigger range of triggers.

                        There are always challenges with the ADCs and the fact that most of them are only able to sample the positive part of the waves. In these cases you need to lift the offset of the input signal...and start to filter the signal from high/low pass standpoint.

                        Sounds fantastic if you have been able to solve the positional sensing part in the design...that part of the code would have been fantastic to see, :-)

                        The Teensy board seems to have very good specs, but I wonder if it in most cases are over kill to use this board...when you can find 32bit boards running Ardunio (with usbmidi class complient) to 1/5 of the cost. Especially if not using the capacitive touch part etc...and want to use a more generic design in each drum.

                        Regarding PS...even on my 20 years old ddrum 4 SE is supporting PS and it works great....

                        Best regards

                        Anders / www.zourman.com






                        Last edited by angr77; 03-10-19, 01:25 AM.
                        Pearl CrystalBeat and Sonor Safari, Roland CY-14/13R/15R/12CR, RT-10x,2xBT-1,VH-11/12/13 & KD-10, Quartz, Pintech Dingbat, Triggera D14,D11, ATV AD-h14, 120MHz MegaDRUM with PS board, 2box 5&3, dd4SE, TD-9, Addictive Drums 2.1.8. All ADpaks, Microsoft Surface PRO, Macbook, Pearl Throne Thumper, Zourman HH & Ride Conv Kit www.zourman.com

                        Comment


                        • #27
                          Originally posted by angr77 View Post
                          Looking on the MegaDrum design you have no electronics in front of the ADCs...
                          This is because the Megadrum assumes that you will use an external voltage divider to fit the signal within the range of the A/D reference.

                          There are two ways to do this on the megadrum.
                          1) Take advantage of the fact that the megadrum does have one half of a voltage divider on each of the A/D inputs -- it has a fixed resistor to ground on each of the A/D inputs after each mux. So, all you have to do is provide a series resistor on each input to form a divider based on the ratio of the internal ground resistor and your external series resistor.
                          2) Use a potentiometer in your pad that is wired with the wiper going to the A/D, one terminal going to the piezo, and the other terminal going to ground to form a voltage divider with a variable ratio that you can set by turning the knob.

                          Does the teensy also have a resistor to ground on each A/D put pin? If it doesn't, then you cannot divide the signal with only a series resistor. Instead you'll also have to provide the ground resistor to form the second half of the divider.
                          Last edited by SiliconDrummer; 03-10-19, 04:12 PM.

                          Comment


                          • #28
                            I'm Jealous.

                            With that out of the way, I can only say: Wow. what a great build. This puts everything I did in DIY to shame.

                            I'll also take a look into the teensy board for another project I'm working on. I used microchip so far, but after reading your story I'm ready to switch to arduino.

                            From what I read in the previous posts, I concludes that you interface this drum directly to a PC, and not to a module. Is that correct?
                            If so, are you planning to build a complete kit like this?

                            Brain: mega drum. 5 toms: DIY mesh head, side-mounted DIY triggers. Snare: 14" 682 head, DIY crossbar trigger. 2xDIY beaterless BD pedal. .Cymbals: Crash: 2x 16" brass: 2 zone. Ride: 20" brass: 2 zone. Hi-Hat: 14" 1 zone DIY Control pedal + Pearl H900 stand. + drum rack:

                            Comment


                            • #29
                              Originally posted by Viperr View Post
                              I'm Jealous.

                              With that out of the way, I can only say: Wow. what a great build. This puts everything I did in DIY to shame.

                              I'll also take a look into the teensy board for another project I'm working on. I used microchip so far, but after reading your story I'm ready to switch to arduino.

                              From what I read in the previous posts, I concludes that you interface this drum directly to a PC, and not to a module. Is that correct?
                              If so, are you planning to build a complete kit like this?
                              The teensy can be programmed either as an Arduino, or as a regular micro controller. I chose Arduino, because it was easier to work with, and I assume it'd be just as fast since most of the time I'm just waiting for the ADC to finish sampling. I highly recommend the teensy.

                              This is directed connected over USB to a PC where it presents itself as a midi device, so it just works like any other module. The teensy supports MIDI over Serial as well if you wanted to do that.

                              The idea is to build a whole set like this, yes. I might not need this complexity for every pad, so I might be able to use a single teensy for multiple pads.

                              Comment


                              • #30
                                Originally posted by joshuas View Post
                                The idea is to build a whole set like this, yes. I might not need this complexity for every pad, so I might be able to use a single teensy for multiple pads.
                                Do you think to write a firmware for scratch? On the microdrum github page there is a firmware sources and the teensy version as well, I bought also some boards for the teensy version at that time to try the latter.

                                Roland TD-12 module, MegaDrum Trigger module, DIY DareStone CLDRUMWH A2E drum conversion, DIY rack using Dixon clamps, Pearl P-932 double pedal, DIY A2E Chang dual zone cymbals.

                                Comment

                                Working...
                                X