HISE Logo Forum
    • Categories
    • Register
    • Login

    Sample not triggered if MIDI overlaps

    Scheduled Pinned Locked Moved Bug Reports
    76 Posts 6 Posters 8.0k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Dan KorneffD
      Dan Korneff
      last edited by

      Here's a stripped down version:
      https://we.tl/t-KI4rINU36y

      Just a single sample mapped to C1

      Create midi notes that overlap like the pic above, and it will only trigger the first sample.

      Dan Korneff - Producer / Mixer / Audio Nerd

      1 Reply Last reply Reply Quote 0
      • d.healeyD
        d.healey
        last edited by

        I like the choice of sample ;)

        I built it as a VSTi plugin and had no issues with overlap. Did you try adding an interface?

        Libre Wave - Freedom respecting instruments and effects
        My Patreon - HISE tutorials
        YouTube Channel - Public HISE tutorials

        Dan KorneffD 1 Reply Last reply Reply Quote 0
        • Dan KorneffD
          Dan Korneff @d.healey
          last edited by

          @d-healey interesting. Which daw? I'm going to post some videos today.
          I didn't add an interface to this test, but my other samples had interfaces.
          Thanks for checking it out

          Dan Korneff - Producer / Mixer / Audio Nerd

          1 Reply Last reply Reply Quote 0
          • Dan KorneffD
            Dan Korneff
            last edited by

            @d-healey @Christoph-Hart
            https://youtu.be/yh-XXllG3ew
            Here's a video

            Dan Korneff - Producer / Mixer / Audio Nerd

            d.healeyD 1 Reply Last reply Reply Quote 0
            • d.healeyD
              d.healey @Dan Korneff
              last edited by

              @dustbro I used Reaper too, but I don't have the plugin version of HISE so I just exported your demo project to a VSTi and tested that. Can you do the same and see if the problem is still there?

              What version of HISE are you using?

              Libre Wave - Freedom respecting instruments and effects
              My Patreon - HISE tutorials
              YouTube Channel - Public HISE tutorials

              Dan KorneffD 1 Reply Last reply Reply Quote 0
              • Dan KorneffD
                Dan Korneff @d.healey
                last edited by

                @d-healey Exported VSTi has the same result
                https://youtu.be/nxSNOx3_3VM

                I'm using HISE 2.0
                0_1543934222182_Screen Shot 2018-12-04 at 9.18.14 AM.png

                Dan Korneff - Producer / Mixer / Audio Nerd

                1 Reply Last reply Reply Quote 0
                • Christoph HartC
                  Christoph Hart
                  last edited by

                  Hmm, I can't replicate this in either Reaper or Cubase - overlapping notes still are triggered here.

                  Dan KorneffD 2 Replies Last reply Reply Quote 0
                  • Dan KorneffD
                    Dan Korneff @Christoph Hart
                    last edited by

                    @christoph-hart @d-healey
                    I appreciate you guys looking into this. I'm not really sure where to look next to solve this issue. It's happening on my MAC and PC, as well as 6 other users computers I use for beta testing.

                    I just compiled the latest version on a completely new system and I can't even get the sampler to play. Sine generator works fine. Check out this video... got me scratching my head. It doesn't appear the be a plugin vs. standalone issues either. It happens on both.
                    https://youtu.be/_uxAoG9o8xI

                    would you guys mind uploading your test vsti so I can check here?

                    Dan Korneff - Producer / Mixer / Audio Nerd

                    d.healeyD 1 Reply Last reply Reply Quote 0
                    • Dan KorneffD
                      Dan Korneff
                      last edited by

                      @Christoph-Hart I'm also noticing some sampler inconsistencies when printing audio from the vsti (as well as using the freeze function in Cubase)
                      check this out:
                      https://youtu.be/OgGNEWWKaOs
                      0_1543957931793_CUT SAMPLE.png

                      Dan Korneff - Producer / Mixer / Audio Nerd

                      1 Reply Last reply Reply Quote 0
                      • d.healeyD
                        d.healey @Dan Korneff
                        last edited by

                        @dustbro said in Sample not triggered if MIDI overlaps:

                        would you guys mind uploading your test vsti so I can check here?

                        Mine is GNU/Linux so I don't think it will be much use to you

                        Libre Wave - Freedom respecting instruments and effects
                        My Patreon - HISE tutorials
                        YouTube Channel - Public HISE tutorials

                        Dan KorneffD 1 Reply Last reply Reply Quote 0
                        • Dan KorneffD
                          Dan Korneff @d.healey
                          last edited by

                          @d-healey bummer! It's literally the last thing holding me up from releasing this product :(
                          @Christoph-Hart this is going to be a closed project, by the way, so I'll be in touch soon.
                          If there's anything else you can think of that I could do to help track this down, let me know.

                          Dan Korneff - Producer / Mixer / Audio Nerd

                          1 Reply Last reply Reply Quote 0
                          • Dan KorneffD
                            Dan Korneff @Christoph Hart
                            last edited by

                            @christoph-hart said in Sample not triggered if MIDI overlaps:

                            Hmm, I can't replicate this in either Reaper or Cubase - overlapping notes still are triggered here.

                            Can you post a video so I can check it out? Does it look like I'm doing something wrong with the stuff I've already posted?

                            Dan Korneff - Producer / Mixer / Audio Nerd

                            1 Reply Last reply Reply Quote 0
                            • Dan KorneffD
                              Dan Korneff
                              last edited by

                              @Dominik-Mayer The embedded youtube video feature is awesome!

                              Dan Korneff - Producer / Mixer / Audio Nerd

                              1 Reply Last reply Reply Quote 0
                              • Dan KorneffD
                                Dan Korneff
                                last edited by

                                Maybe I could use a Timer to send a noteOff command directly after a noteOn is received?
                                What would that look like? Is there an example that shows how the timer works?

                                Dan Korneff - Producer / Mixer / Audio Nerd

                                d.healeyD 1 Reply Last reply Reply Quote 0
                                • d.healeyD
                                  d.healey @Dan Korneff
                                  last edited by

                                  @dustbro That might work but it doesn't solve the problem. This is a very strange issue. It would be good if someone else could recreate it.

                                  Libre Wave - Freedom respecting instruments and effects
                                  My Patreon - HISE tutorials
                                  YouTube Channel - Public HISE tutorials

                                  Dan KorneffD 1 Reply Last reply Reply Quote 0
                                  • Dan KorneffD
                                    Dan Korneff @d.healey
                                    last edited by Dan Korneff

                                    @d-healey From what I've read on the JUCE forums, this behavior may be by design. Apparently, playing a 2nd note without first receiving a noteOff would result in a midi note stuck on.
                                    I believe that the first noteOff message isn't received when it gets overlapped by the next note.
                                    For instance:
                                    Note on = play 1st sample
                                    Note on = play 2nd sample
                                    note off = stop 1st sample
                                    2nd sample is now stuck on.

                                    Dan Korneff - Producer / Mixer / Audio Nerd

                                    1 Reply Last reply Reply Quote 0
                                    • Dan KorneffD
                                      Dan Korneff
                                      last edited by

                                      I've had a couple beta testers say the instrument would cut out randomly (I guess similar to the video I posted above where the samples get cut off). I'm wondering if this is a result of note on/off messages getting outta whack by overlapping notes?

                                      Dan Korneff - Producer / Mixer / Audio Nerd

                                      1 Reply Last reply Reply Quote 0
                                      • Dan KorneffD
                                        Dan Korneff
                                        last edited by

                                        @Christoph-Hart @d-healey Are there any documents that explain how the Timer works?
                                        I've been looking at some scripts on the forum, but can't quite wrap my head around it.
                                        I'd like to experiment with using the noteOn to trigger a noteOff command at a timed interval (maybe 40ms) to see if it stops the issue I'm having.

                                        Here's what I've been tinkering with, but it's just not working:

                                        
                                        const var storeNoteNumber = -1;
                                        
                                        inline function AutoNoteOff()
                                        {
                                        
                                            Synth.startTimer(40);
                                        };
                                        
                                        function onNoteOn()
                                        {
                                            storeNoteNumber = Message.getNoteNumber();
                                            
                                            AutoNoteOff();
                                        }
                                        function onNoteOff()
                                        {
                                            if(Message.getNoteNumber() == storeNoteNumber)
                                            {
                                                Synth.stopTimer();
                                                storeNoteNumber = -1;
                                            }
                                        }
                                        function onController()
                                        {
                                            
                                        }
                                        function onTimer()
                                        {
                                            
                                            if(storeNoteNumber != -1)
                                            {
                                                Synth.noteOff(storeNoteNumber);
                                        	storeNoteNumber = -1;
                                            }
                                            else
                                            {
                                                Synth.stopTimer();
                                            }
                                        }
                                        
                                        function onControl(number, value)
                                        {
                                            
                                        }
                                        

                                        Dan Korneff - Producer / Mixer / Audio Nerd

                                        1 Reply Last reply Reply Quote 0
                                        • Christoph HartC
                                          Christoph Hart
                                          last edited by

                                          1. You can‘t change a const var defined number. Use reg instead.
                                          2. the startTimer argument is in seconds - this is highly inconsistent with the UI timers which are controlled in milliseconds, but I can‘t change it for backwards compatibility reasons. Use 0.04.
                                          Dan KorneffD 1 Reply Last reply Reply Quote 0
                                          • Dan KorneffD
                                            Dan Korneff @Christoph Hart
                                            last edited by

                                            @Christoph-Hart

                                            Synth.noteOff(storeNoteNumber);
                                            

                                            This line is giving me an error.
                                            Illegal operation in audio thread: String creation

                                            Dan Korneff - Producer / Mixer / Audio Nerd

                                            d.healeyD 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            18

                                            Online

                                            1.7k

                                            Users

                                            11.9k

                                            Topics

                                            103.6k

                                            Posts