Forum
    • Categories
    • Register
    • Login

    Instrument Design problem.......

    Scheduled Pinned Locked Moved General Questions
    24 Posts 4 Posters 37 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.
    • David HealeyD
      David Healey @Lindon
      last edited by

      @Lindon If it's a custom effect could you implement the MIDI handling directly inside it using MIDI nodes?

      Free HISE Bootcamp Full Course for beginners.
      YouTube Channel - HISE tutorials
      My Patreon - More HISE tutorials

      LindonL 1 Reply Last reply Reply Quote 0
      • LindonL
        Lindon @David Healey
        last edited by

        @David-Healey said in Instrument Design problem.......:

        @Lindon If it's a custom effect could you implement the MIDI handling directly inside it using MIDI nodes?

        perhaps, not sure that will solve the delay problem, but itas not so problematic on the FM side so I will look at it... thanks again.

        HISE Development for hire.
        www.channelrobot.com

        dannytaurusD 1 Reply Last reply Reply Quote 0
        • dannytaurusD
          dannytaurus @Lindon
          last edited by dannytaurus

          @Lindon Claude says:

          The delay is not the real problem. Two things are going on: the interface script is deferred, so its onNoteOn runs after the note has already been rendered, and Gain / Filter are shared effects with parameter smoothing, so every change ramps from the old value and also ramps the tail of the previous hit. Per-note values on one shared effect can never be clean while drums are still ringing.

          The per-voice route avoids all of it:

          1. Put a Script Processor in the sampler's MIDI chain (not the deferred interface). It's onNoteOn runs on the audio thread before the sampler sees the event. For gain and pitch use Message.setGain(dB), Message.setCoarseDetune / setFineDetune. They are baked into the event and applied at voice start, no ramp.
          2. For the filter (or anything else), use the Event Data Modulator. In the same MIDI processor:
            const var rm = Engine.getGlobalRoutingManager();
            function onNoteOn()
            {
                rm.setEventData(Message.getEventId(), 0, nextValue); // slot 0, 0..1
            }
          

          Then add a polyphonic Filter to the sampler's FX chain and an Event Data Modulator (SlotIndex 0) in its Frequency Modulation chain. The value is captured when that voice starts and never touches older voices. Set DefaultValue to something sensible (it is 0% by default), or make sure every note-on writes the slot. The same modulator in the sampler's Gain and Pitch chains works if you would rather keep everything on one mechanism.

          Timers, delayEvent and polling loops all add latency and still leave the previous hit on the wrong setting.

          No idea if that's useful, but since you don't use Claude I thought you might want to see it's input.

          HISE dev latest / super.engineering + Claude Fable / Figma + Affinity
          Meat Beats: https://meatbeats.com
          Klippr Video: https://klippr.video

          David HealeyD LindonL 2 Replies Last reply Reply Quote 0
          • David HealeyD
            David Healey @dannytaurus
            last edited by David Healey

            @dannytaurus said in Instrument Design problem.......:

            the interface script is deferred,

            It isn't Claude.. or is?

            Free HISE Bootcamp Full Course for beginners.
            YouTube Channel - HISE tutorials
            My Patreon - More HISE tutorials

            dannytaurusD 1 Reply Last reply Reply Quote 0
            • LindonL
              Lindon @dannytaurus
              last edited by Lindon

              @dannytaurus thanks, sadly Claude has it wrong as the interface script isnt deferred and point 1 was Daves idea so thats worth a try, point 2 is interesting never thought of doing it this way might give it a go, tho my knowledge in this area is very very limited.

              thank again.

              HISE Development for hire.
              www.channelrobot.com

              LindonL 1 Reply Last reply Reply Quote 1
              • dannytaurusD
                dannytaurus @David Healey
                last edited by

                @David-Healey said in Instrument Design problem.......:

                It isn't Claude.. or is?

                What do you mean? I just asked Claude to read the post and suggest a solution.

                HISE dev latest / super.engineering + Claude Fable / Figma + Affinity
                Meat Beats: https://meatbeats.com
                Klippr Video: https://klippr.video

                David HealeyD 1 Reply Last reply Reply Quote 0
                • LindonL
                  Lindon @Lindon
                  last edited by

                  @Lindon ok so heres my first question:
                  assuming Im attaching to Filter frequency using index 0, what do I put in nextValue, can it be a normalised value or does it have to be in the applicable range (20 ->20K )??

                  HISE Development for hire.
                  www.channelrobot.com

                  1 Reply Last reply Reply Quote 0
                  • David HealeyD
                    David Healey @dannytaurus
                    last edited by David Healey

                    @dannytaurus said in Instrument Design problem.......:

                    What do you mean? I just asked Claude to read the post and suggest a solution.

                    Claude stated that the interface script is deferred, when it isn't. There is nothing in this thread to indicate it is but I'd figured from Lindon's post that is isn't and Lindon has confirmed that now.

                    I find Claude (AI in general) makes assumptions and states them as facts. That wastes tokens and waste my time chasing down an empty rabbit hole.

                    Free HISE Bootcamp Full Course for beginners.
                    YouTube Channel - HISE tutorials
                    My Patreon - More HISE tutorials

                    dannytaurusD 1 Reply Last reply Reply Quote 0
                    • dannytaurusD
                      dannytaurus @David Healey
                      last edited by

                      @David-Healey Yeah, all AI models make mistakes. I often challenge anything that doesn't sound right. It will just apologise and course correct.

                      HISE dev latest / super.engineering + Claude Fable / Figma + Affinity
                      Meat Beats: https://meatbeats.com
                      Klippr Video: https://klippr.video

                      David HealeyD griffinboyG 2 Replies Last reply Reply Quote 1
                      • dannytaurusD
                        dannytaurus @David Healey
                        last edited by

                        @David-Healey said in Instrument Design problem.......:

                        If you do need to script it I'd put this stuff in a separate MIDI processor and leave the interface deferred.

                        Claude may have picked it up from this line. I had it read the whole topic, not just Lindon's original post.

                        HISE dev latest / super.engineering + Claude Fable / Figma + Affinity
                        Meat Beats: https://meatbeats.com
                        Klippr Video: https://klippr.video

                        1 Reply Last reply Reply Quote 0
                        • David HealeyD
                          David Healey @dannytaurus
                          last edited by David Healey

                          @dannytaurus Yep that's the way. The problem is if you don't know that what it's said is incorrect you can't challenge it.

                          @dannytaurus said in Instrument Design problem.......:

                          Claude may have picked it up from this line.

                          Yes, and in context I'm suggesting to Lindon that he defers his non-deferred Interface script and instead uses a separate non-deferred MIDI processor,

                          Free HISE Bootcamp Full Course for beginners.
                          YouTube Channel - HISE tutorials
                          My Patreon - More HISE tutorials

                          dannytaurusD 1 Reply Last reply Reply Quote 0
                          • dannytaurusD
                            dannytaurus @David Healey
                            last edited by dannytaurus

                            @David-Healey

                            The problem is if you don't know that what it's said is incorrect you can't challenge it.

                            Same as humans. And the HISE documentation, for that matter! 😂

                            HISE dev latest / super.engineering + Claude Fable / Figma + Affinity
                            Meat Beats: https://meatbeats.com
                            Klippr Video: https://klippr.video

                            1 Reply Last reply Reply Quote 0
                            • griffinboyG
                              griffinboy @dannytaurus
                              last edited by griffinboy

                              @dannytaurus
                              For this reason I only ever use AI to advise with code, if it's something with an instantly falsifiable result (eg. that math was supposed to result in a flat frequency response, but we measured ripples, therefore it failed). Making it reason about abstract problems and solutions still performs very badly in the absence of good measurement tools to determine sucess.

                              Actually, even if an Agent is in a good feedback loop where it can run the code in question, and check the result of its idea, I've found that it still ends up cheating the problem and writing the code in a way that will come back to bite you later, even if the immediate answer is correct.

                              Perhaps it will continue to improve, the advancements in this field have been speedy indeedy.

                              Custom C++ DSP (for commission)

                              dannytaurusD 1 Reply Last reply Reply Quote 1
                              • dannytaurusD
                                dannytaurus @griffinboy
                                last edited by dannytaurus

                                @griffinboy Respectfully disagree. My experience is overwhelmingly positive.

                                Context:

                                I code with agents 3-4 hours every day, often longer, and I only use the best models available.

                                With respect to HISE, the agents have access to the full HISE and JUCE source code, the documentation website, the MCP server and CLI tools.

                                The rest of my work with agents is on Ruby on Rails web applications, static websites, business intelligence and planning, and brainstorming. Quite a wide range.

                                HISE dev latest / super.engineering + Claude Fable / Figma + Affinity
                                Meat Beats: https://meatbeats.com
                                Klippr Video: https://klippr.video

                                griffinboyG 1 Reply Last reply Reply Quote 0
                                • griffinboyG
                                  griffinboy @dannytaurus
                                  last edited by griffinboy

                                  @dannytaurus
                                  That's interesting!
                                  Maybe we are working on different kinds of projects?

                                  I've been using GPT Astra Max, for DSP science. And I've found it to not be "clever enough" with it's coding. Part of the problem is likely that a lot of DSP solutions are proprietary and so there is a gap in it's knowledge, but even when I supply the solutions, the code (or advice) produced, is short sighted, and blocks off many quite important optimizations down the line if I were to take it's advice seriously.

                                  And without a very good measurement harness (super-resolution frequency response, phase, sidebands, etc), it wasn't able to QA audio properly either to realize that its solution was nonsense.

                                  It's the kind of thing where I think many people would take it's word for it as well.

                                  Custom C++ DSP (for commission)

                                  dannytaurusD 2 Replies Last reply Reply Quote 1
                                  • dannytaurusD
                                    dannytaurus @griffinboy
                                    last edited by dannytaurus

                                    @griffinboy Yes, different projects indeed.

                                    I can see agents and models lacking the detailed-oriented work necessary from your work, but it's a stretch to extend the 'false positives' arguments to all agents/models across all work.

                                    In your case, the amount of resources the agent has to refer to is key. Exactly the 'gap in knowledge' that you mentioned.

                                    HISE dev latest / super.engineering + Claude Fable / Figma + Affinity
                                    Meat Beats: https://meatbeats.com
                                    Klippr Video: https://klippr.video

                                    griffinboyG 1 Reply Last reply Reply Quote 0
                                    • dannytaurusD
                                      dannytaurus @griffinboy
                                      last edited by dannytaurus

                                      @griffinboy By the way, do you know that agents will happily decompile binaries now? For research purposes only of course.

                                      'Proprietary' is starting to lose meaning.

                                      HISE dev latest / super.engineering + Claude Fable / Figma + Affinity
                                      Meat Beats: https://meatbeats.com
                                      Klippr Video: https://klippr.video

                                      griffinboyG 1 Reply Last reply Reply Quote 0
                                      • griffinboyG
                                        griffinboy @dannytaurus
                                        last edited by griffinboy

                                        @dannytaurus
                                        You're probably right, that it's more than good enough for a wide variety of tasks!

                                        The knowledge gaps become an issue in fields where information is less free. And noticeable in fields where small imperfections = failure.

                                        However, I've also had to trundle through quite a lot of entirely vibecoded codebases lately from various clients and there have been some horrible dumpster fires 😧 lol.
                                        So my perspective is probably a bit tainted by these experiences! 😆

                                        Custom C++ DSP (for commission)

                                        1 Reply Last reply Reply Quote 1
                                        • griffinboyG
                                          griffinboy @dannytaurus
                                          last edited by griffinboy

                                          @dannytaurus
                                          That much is true.
                                          Technically.
                                          Not legally, by the way.
                                          At least not where I am, in the UK.

                                          You can decompile software partially and only in the case that you're making a piece of software that needs to be compatible with the thing you are decompiling. Not so that you can learn it's inner workings for any other reason.

                                          My loophole was to go and talk to a large number of developers about their works.
                                          It cost a lot of money and time to do the interviews, but that's one way to gain a lot of knowledge on a subject, learning personally from the best in each discipline. No decompiling needed.

                                          (sorry Lindon! I've messed up your thread a little)

                                          Custom C++ DSP (for commission)

                                          1 Reply Last reply Reply Quote 0
                                          • First post
                                            Last post

                                          14

                                          Online

                                          2.8k

                                          Users

                                          14.0k

                                          Topics

                                          121.5k

                                          Posts