Welcome! If this is your first visit, you will need to register to participate.

DO NOT use symbols in usernames. Doing so will result in an inability to sign in & post!

If you cannot sign in or post, please visit our Forum Talk section for answers to frequently asked questions.

Announcement

Collapse
No announcement yet.

eDrums for studio

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

  • #31
    frankzappa I’m not sure we are interpreting this line correctly from the AudioFront forum thread:

    ”DEVICE->SOFTWARE
    Then there's about 3ms of latency from when a MIDI note is sent from the eDRUMin until it reaches software running on the computer.”

    Reading this I get the sense this is not the eDRUMin but the computer’s audio stack/driver receiving the MIDI from the eDRUMin and getting the signal to something like SD3. So this 3ms is not on the eDRUMin. The eDRUMin gets its part done in 2-3ms of which probably 99% is scan time.
    Last edited by Mylo; 01-12-21, 10:42 PM.
    PDP Concept Maple A2E; Bum Wraps; Pearl Crystal Beat Octobans; Jobeky AI triggers; drum-tec Real Feel and Billy Blast Ballistech 3.0 mesh heads; ATV cymbals; Gibralter hardware; Offset double pedal; DW Remote hi-hat stands; NUX NMP-2 Dual Footswitch; 2 eDRUMin10; Alesis Strike Amp 8; Focusrite Scarlett 2i2 3rd Gen; Intel NUC with Windows 10 Pro; SD3

    Comment


    • #32
      eDRUMin is as fast as class compliant hardware gets. Any variation in latency comes down soundcard settings.

      Roland's 1ms latency is only relevant when monitoring through the module itself. If you are monitoring the sound in your DAW, you need to add audio input + output latency as well.
      Last edited by yeahtuna; 01-13-21, 12:03 AM.

      Comment


      • #33
        Originally posted by frankzappa View Post

        You guys have not grasped this thing fully. It's a bit more complicated. The processing speed is infinitely fast of course but the available ways to send the data can add to the latency and it is indeed attributed to the edrumin because the delay of 3ms is mostly because of the chosen method to buffer and send the data from the edrumin.

        I'm also working on a teensy based edrum related thing and I'm doing things a bit differently. Not sure about the latency, should be very low. I will measure the latency and report here.
        I don't buffer my MIDI data. It's sent immediately, If I was running my DAW at 192k using a ridiculously expensive RME interface, then those latency number would come down. That however would not be representative of a typical system.
        Last edited by yeahtuna; 01-13-21, 12:04 AM.

        Comment


        • #34
          Originally posted by frankzappa View Post
          Scan time is at 1.9ms but usually ends 1.4ms after the first peak is found and peaks are usually found within 0.3ms
          You're purposely coding jitter into your MIDI data.

          Comment


          • #35
            Originally posted by yeahtuna View Post

            You're purposely coding jitter into your MIDI data.
            No, it's the other way around. Scan time always ends at a fixed amount from the first peak. So latency is always a fixed amount from the first peak as well. I track the actual time occurrence of peaks and do time difference of arrival calculation to get a very accurate position sensing, similar to the digital snare. (I have multiple sensors). Scan time can start a bit later on very quiet buzz roll strokes, it can be up to like 0.8ms so this is to compensate for that. I track peaks separately and store them so I can fetch slightly older peaks if scan time didn't catch them.

            The only variance in latency is depending on where you strike as the distance from the cones adds a bit of latency before the piezo picks up a signal. On a single cone 14" drum that can be almost 2ms but since my drum has multiple cones it's up to 0.6ms depending on where you strike.
            Last edited by frankzappa; 01-13-21, 07:32 AM.

            Comment


            • #36
              Originally posted by yeahtuna View Post

              I don't buffer my MIDI data. It's sent immediately, If I was running my DAW at 192k using a ridiculously expensive RME interface, then those latency number would come down. That however would not be representative of a typical system.
              Are you using the MIDI library or coding your own? The MIDI library I think buffers for a small time unless you use the "send now" function, however I haven't looked into this. I just use the send now function.
              Last edited by frankzappa; 01-13-21, 07:28 AM.

              Comment


              • #37
                Originally posted by yeahtuna View Post
                eDRUMin is as fast as class compliant hardware gets. Any variation in latency comes down soundcard settings.

                Roland's 1ms latency is only relevant when monitoring through the module itself. If you are monitoring the sound in your DAW, you need to add audio input + output latency as well.
                No, we have actually measured this on the forum. If you plug a USB cable, the TD50 will be 3ms from hit to MIDI in DAW. This with a scan time of 2ms.

                I'm getting lower than that with the Teensy 4 and sending the MIDI using the MIDI library using the send now function.

                Comment


                • #38
                  How did you perform the test?

                  Comment


                  • #39
                    Originally posted by frankzappa View Post

                    Are you using the MIDI library or coding your own? The MIDI library I think buffers for a small time unless you use the "send now" function, however I haven't looked into this. I just use the send now function.
                    I'm using a modified version of the 3.2 MIDI Library. Like you, I use send_now() when appropriate. I'm pretty sure Paul has that thing very well tuned.

                    Comment


                    • #40
                      For my latency tests, I put a condenser microphone on the drum pad and recorded the raw audio of the stick hitting the mesh head as well as the MIDI from eDRUMin running inside Ableton Live setup for 48K using 128 sample buffers. My measurement of latency is from the very start of the transient from the condenser to the beginning on the Note On message from the eDRUMin.
                      Last edited by yeahtuna; 01-13-21, 09:49 AM.

                      Comment


                      • #41
                        Originally posted by yeahtuna View Post
                        For my latency tests, I put a condenser microphone on the drum pad and recorded the raw audio of the stick hitting the mesh head as well as the MIDI from eDRUMin running inside Ableton Live setup for 48K using 128 sample buffers. My measurement of latency is from the very start of the transient from the condenser to the beginning on the Note On message from the eDRUMin.
                        I’ll do a test like that as well. I just did a quick test having the speaker and point of impact the same measured distance from the mic and zoomed in on the waveform and counted the amount of samples between the initial impact and the sound from the speaker. I used a very high pitched sound like a beep almost so it’s very easy to see when it begins.

                        Not super accurate, your way is better. I’ll do it like that, maybe I’ll get a different result.
                        Last edited by frankzappa; 01-13-21, 10:26 AM.

                        Comment


                        • #42
                          Originally posted by yeahtuna View Post
                          How did you perform the test?
                          The test of the roland you mean?

                          I think Ribot here on the forum did it. They got a latency of 5.5ms from stick impact to sound out. The soundcard was an rme with an output latency of 2.5ms.

                          I think the USB protocol on the teensies is USB 1 which polls at 1ms intervals. I’m using the teensy 4 which has USB 2 and polls at 0.125ms.

                          However I have no clue how all that works internally.
                          Last edited by frankzappa; 01-13-21, 10:27 AM.

                          Comment


                          • #43
                            Originally posted by yeahtuna View Post

                            Roland's 1ms latency is only relevant when monitoring through the module itself. If you are monitoring the sound in your DAW, you need to add audio input + output latency as well.
                            "audio input"? Why that? I'm not inputting any audio so of course only the audio output latency from your audio interface is relevant.

                            BTW, Roland-TD50 module sounds have the same latency as midi-output through USB-midi (3ms).



                            Originally posted by yeahtuna View Post
                            How did you perform the test?
                            https://www.vdrums.com/forum/advance...midi-din-cable

                            https://www.vdrums.com/forum/advance...22#post1228622

                            Comment


                            • #44
                              Originally posted by Nick74 View Post
                              "audio input"? Why that? I'm not inputting any audio so of course only the audio output latency from your audio interface is relevant.

                              BTW, Roland-TD50 module sounds have the same latency as midi-output through USB-midi (3ms).





                              https://www.vdrums.com/forum/advance...midi-din-cable

                              https://www.vdrums.com/forum/advance...22#post1228622
                              Agreed, only output latency with edrums.

                              Comment


                              • #45
                                There's some information in that thread, but not enough details.

                                Comment

                                Working...
                                X