Forum
    • Categories
    • Register
    • Login

    HISE Transformation to the new age

    Scheduled Pinned Locked Moved AI discussion
    46 Posts 7 Posters 428 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.
    • Christoph HartC
      Christoph Hart @David Healey
      last edited by

      @David-Healey Yes I also tried Big Pickle, it has nothing to do with what Opus 4.5 / 4.6 can crank out. I'll try to remember a few of the things that stood out to me in my progress of last week.

      • oneshotting a HTTP RestServer for HISE that accepts HTTP requests with a correct threading model.
      • finding a bug in a compiled network code that caused a voice to not be killed. It explored it's way through the DLL boundary to the internal class that handles modulation chains and found the one bool flag that I forgot to set
      • iteratively increasing the robustness and approximation to what looks like flawless HiseScript code by feeding the conversation history back to itself and just tell it to "learn from your mistakes"
      • don't get me started on web dev, it's game over there.
      • let it crawl through the HISE source code, extract every single LAF method I define in the ScriptLAF class, analyse the function body, connect it to the correct hise component class (eg. "drawAhdsrGraph" will most likely affect a hise::AhdsrGraph) and write a one-liner description to every obj property that matches exactly what it does, then create a JSON object that I can use for the MCP server. Then let it write a guideline.md file that instructs it to repeat that process whenever I need. Bash script on steroids.
      • paste in long weird template compiler errors and get a 5 word sentence back what the problem is and how to solve it. It also wrote this beauty of a C++ template code that a human will never understand, but it works perfectly:
      struct VoiceSetter : container::Helpers::sub_tuple<renderer<Oscillators, NumOutputs>...>
      	{
      		using GainModVS = typename core::extra_mod<NumVoices>::VoiceSetter;
      		using GateVS = typename envelope::extra_mod_gate<NumVoices>::VoiceSetter;
      		// Use empty tuple when addModToOutputs() is false, otherwise tuple of NumOutputs VoiceSetters
      		using GainModTuple = std::conditional_t<addModToOutputs(),
      			template_helpers::repeat_tuple_t<GainModVS, NumOutputs>,
      			std::tuple<>>;
      		using GateTuple = std::conditional_t<addModToOutputs(),
      			template_helpers::repeat_tuple_t<GateVS, NumOutputs>,
      			std::tuple<>>;
      		// Delegating constructor for when we have outputs to manage
      		template <size_t... Is>
      		VoiceSetter(render_group& t, bool forceAll, std::index_sequence<Is...>) :
      			container::Helpers::sub_tuple<renderer<Oscillators, NumOutputs>...>(t.oscillators, forceAll),
      			gainModSetters{ GainModVS(t.outputGainMods[Is], forceAll)... },
      			gateSetters{ GateVS(t.outputGates[Is], forceAll)... }
      		{}
      		// Delegating constructor for when we have no outputs to manage
      		VoiceSetter(render_group& t, bool forceAll, std::index_sequence<>) :
      			container::Helpers::sub_tuple<renderer<Oscillators, NumOutputs>...>(t.oscillators, forceAll),
      			gainModSetters{},
      			gateSetters{}
      		{}
      		// Public constructor - dispatches to appropriate delegating constructor
      		VoiceSetter(render_group& t, bool forceAll) :
      			VoiceSetter(t, forceAll,
      				std::conditional_t<addModToOutputs(),
      				std::make_index_sequence<NumOutputs>,
      				std::index_sequence<>>{})
      		{
      		}
      
      		GainModTuple gainModSetters;
      		GateTuple gateSetters;
      	};
      

      compared to the complexity of these tasks, even a mid-tier HISE project should be trivial to implement as soon as the knowledge gap between C++ and HiseScript is solved (and that's my task now).

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

        @Christoph-Hart said in HISE Transformation to the new age:

        template code that a human will never understand

        Is there a version that a human would be able to understand or is this the sort of thing that even if a human wrote it would still be gibberish?

        How is it for adding features or fixing bugs in the HISE codebase? This is where I would be most interested.

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

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

          @Christoph-Hart said in HISE Transformation to the new age:

          Ralph loop.

          Are you doing this with a single AI model? I recently read a workflow for Rails that used different AI models/platforms to provide code review of the first model's work.

          Seems like this would help to prevent infinite loops, which were a huge problem with earlier models.

          Meat Beats: https://meatbeats.com
          Klippr Video: https://klippr.video

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

            @David-Healey said in HISE Transformation to the new age:

            Na I played around with OpenCode and Big Pickle and got bored waiting for it to fail, so then I went back to work :)

            I had no idea you hadn't already tried this out properly.

            Do a $20/mo plan somewhere, for one month, and I think you might be converted.

            Heck, you don't even need to pay - most of them have a free plan that resets token limits every day, or few hours.

            Meat Beats: https://meatbeats.com
            Klippr Video: https://klippr.video

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

              @David-Healey said in HISE Transformation to the new age:

              How is it for adding features or fixing bugs in the HISE codebase?

              https://github.com/christophhart/HISE/pulls?page=1&q=+is%3Apr+author%3Aweavermedia

              All my PRs, except the oldest two, were made in Cursor with Claude.

              Meat Beats: https://meatbeats.com
              Klippr Video: https://klippr.video

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

                @dannytaurus I'll take a look at it this evening 👍

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

                1 Reply Last reply Reply Quote 1
                • OrvillainO
                  Orvillain @David Healey
                  last edited by

                  @David-Healey said in HISE Transformation to the new age:

                  @dannytaurus said in HISE Transformation to the new age:

                  Nah, this is the start.

                  Tell me that again in 5 years

                  I'm not quite as cynical as I seem, I use AI all the time, I'm just cautious.

                  I also am concerned about AI inbreeding which is a real problem with limited solutions at the moment.

                  Honestly, this stuff isn't going away. It really isn't. This is the future of coding. Developers in future will be systems architects. They won't be solely opinionated language purists anymore.

                  Musician - Instrument Designer - Sonic Architect - Creative Product Owner
                  Crafting sound at every level. From strings to signal paths, samples to systems.

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

                    @dannytaurus I gave Claude the same task I gave Big Pickle and it failed in the same way, only much much faster.

                    But then I pushed it some more and it seems to have completed the task successfully!

                    The task in this case to allow relative paths for script includes.

                    Need to do more testing but hopefully a PR incoming.

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

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

                      Ok I think I'm seeing the benefit - I get to be lazy :)

                      Relative include paths PR
                      Relative font paths PR
                      Custom Settings floating tile label alignment PR

                      On the HISE script side of things I'm not sure I would want to pass it over to AI since I enjoy scripting and I think I could write it more quickly myself than back and forth with an AI. However I find writing laf can be tedious so the Ralph technique with that would be useful to me. I'd also find it useful for DSP/ScriptNode/Faust work.

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

                      LindonL dannytaurusD 3 Replies Last reply Reply Quote 0
                      • LindonL
                        Lindon @David Healey
                        last edited by

                        @David-Healey said in HISE Transformation to the new age:

                        Ok I think I'm seeing the benefit - I get to be lazy :)

                        Relative include paths PR
                        Relative font paths PR
                        Custom Settings floating tile label alignment PR

                        On the HISE script side of things I'm not sure I would want to pass it over to AI since I enjoy scripting and I think I could write it more quickly myself than back and forth with an AI. However I find writing laf can be tedious so the Ralph technique with that would be useful to me. I'd also find it useful for DSP/ScriptNode/Faust work.

                        Okay, if this guy is in, I'm in.....

                        HISE Development for hire.
                        www.channelrobot.com

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

                          @David-Healey said in HISE Transformation to the new age:

                          Ok I think I'm seeing the benefit - I get to be lazy :)

                          By Jove, I think he's got it!

                          Meat Beats: https://meatbeats.com
                          Klippr Video: https://klippr.video

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

                            @David-Healey said in HISE Transformation to the new age:

                            Ok I think I'm seeing the benefit - I get to be lazy :)

                            Relative include paths PR
                            Relative font paths PR
                            Custom Settings floating tile label alignment PR

                            On the HISE script side of things I'm not sure I would want to pass it over to AI since I enjoy scripting and I think I could write it more quickly myself than back and forth with an AI. However I find writing laf can be tedious so the Ralph technique with that would be useful to me. I'd also find it useful for DSP/ScriptNode/Faust work.

                            Well this is lovely stuff, but before I (and a bunch of other people) get into using this stuff I think we should all try and get on the same commit - and clearly one near the front....if not the latest....

                            Maybe we should have a list of things we would like to see fixed before we all transition to a latest build and enter this all new Systems Architect world...

                            So I cant do this until this bug is addressed:

                            https://forum.hise.audio/topic/14165/latest-version-of-hise-breaks-existing-presets/40?_=1771154413502

                            Is there a way for some Claude savvy person who might want to take a swing at getting it resolved?

                            I'd do it my self but as you can see Im in the Catch 22 position: I cant fix it until Im on a latest build and I cant get on a latest build until its fixed....

                            HISE Development for hire.
                            www.channelrobot.com

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

                              @Lindon said in HISE Transformation to the new age:

                              try and get on the same commit - and clearly one near the front....if not the latest....

                              I'm on the master branch now... by which I mean yesterday I reset the master branch of my fork to track the latest changes in my development branch. It's about time we got back to the master I think.

                              @Lindon said in HISE Transformation to the new age:

                              https://forum.hise.audio/topic/14165/latest-version-of-hise-breaks-existing-presets/40?_=1771154413502

                              I too need this one fixing and I wouldn't feel confident using AI to fix it because I don't fully understand the problem myself at the code level and therefore I wouldn't be able to evaluate if the AI's output is good or bad beyond "it seems to work".

                              With the PRs I made above I targetted relatively simple tasks that are not interwoven with multiple parts of the codebase.

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

                              LindonL dannytaurusD 2 Replies Last reply Reply Quote 1
                              • LindonL
                                Lindon @David Healey
                                last edited by

                                @David-Healey said in HISE Transformation to the new age:

                                @Lindon said in HISE Transformation to the new age:

                                https://forum.hise.audio/topic/14165/latest-version-of-hise-breaks-existing-presets/40?_=1771154413502

                                I too need this one fixing and I wouldn't feel confident using AI to fix it because I don't fully understand the problem myself at the code level and therefore I wouldn't be able to evaluate if the AI's output is good or bad beyond "it seems to work".

                                With the PRs I made above I targetted relatively simple tasks that are not interwoven with multiple parts of the codebase.

                                OK this one looks like its a great candidate for @Christoph-Hart 's all new love affair with Claude and Ralf.... any chance?

                                HISE Development for hire.
                                www.channelrobot.com

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

                                  @Lindon we will not let Ralph loose on the HISE source code in the foreseeable future (or ever) - any kind of architectural change I tried in the last weeks had me code review every single line of code multiple times. Plus the ralph loop needs a validator step where it can check if it‘s done, and what would that be for complex bugs in HISE?

                                  But you guys raise an interesting an realistic opportunity that has arisen with AI: the time that it takes you to wait for me fixing trivial to easy bugs should be gone once we setup a workflow that somehow leverages this distinction. I‘m thinking of this flow of events: 1. user finds a bug. 2. user starts a verified and sophisticated analysis process that evaluates the severity and complexity of the problem. 3a. if the complexity is below a threshold to be defined, user launches an agent to fix it. 4. user confirms that the bug is fixed and then makes a pull request. I‘ll review all prs regularly and merge the ones that I approve, the other ones will be discussed or rejected. 3b) if the complexity is too high to confidently exclude any side effect that fix could introduce then the agent will create a thorough analysis of the problem that then can be passed on to me in a format that let‘s me easily review and think about a proper solution.

                                  The „easy route“ has been verified to be working effectively with the fixes that Dan did 2 months ago, so I think we just need to setup a formalized procedure that you can follow that ensures that I‘m not bombarded with PRs that I need to reevaluate each time for side effects, etc

                                  LindonL 1 Reply Last reply Reply Quote 2
                                  • LindonL
                                    Lindon @Christoph Hart
                                    last edited by Lindon

                                    @Christoph-Hart This sounds like a very good approach. But what about the issue that I think we all need to get on a HISE commit that we can use as a basis for this "new world order". Perhaps the bug I pointed at which seems to fit in 3b, would be a good test case for you to try this new approach?

                                    HISE Development for hire.
                                    www.channelrobot.com

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

                                      @Lindon let me cycle back and forth with claude about this idea, it‘s pretty good at „generalizing“ problems like this and come up with a formalized procedure. I can imagine that my terrible branch policy of stuffing everything in the develop branch might not survive this process ;)

                                      I think what could help me is to look in the issues for open bugs and do a naive assessment yourself whether you would flag this as 3a or 3b, then just list them here. This could offer a valuable insight for the baseline of how much the analysis needs to do - if we agree there 100% of the time, then perfect, otherwise there needs to be some kind of AI assisted step.

                                      LindonL 1 Reply Last reply Reply Quote 0
                                      • LindonL
                                        Lindon @Christoph Hart
                                        last edited by Lindon

                                        @Christoph-Hart Ok let me head off to GitHub then, how do you want me to report back?

                                        HISE Development for hire.
                                        www.channelrobot.com

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

                                          @Lindon yup, just post 10 issues or so with a assessment of whether you would expect the AI to be able to perfectly oneshot the fix.

                                          You can be sneaky AF and include issues that you like to be resolved first in this list, this kind of training data poisoning is harmless and well deserved…

                                          LindonL 1 Reply Last reply Reply Quote 0
                                          • LindonL
                                            Lindon @Christoph Hart
                                            last edited by

                                            @Christoph-Hart said in HISE Transformation to the new age:

                                            @Lindon yup, just post 10 issues or so with a assessment of whether you would expect the AI to be able to perfectly oneshot the fix.

                                            You can be sneaky AF and include issues that you like to be resolved first in this list, this kind of training data poisoning is harmless and well deserved…

                                            OK, well I'll def. include the one I care about most at the moment...

                                            HISE Development for hire.
                                            www.channelrobot.com

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

                                            13

                                            Online

                                            2.2k

                                            Users

                                            13.4k

                                            Topics

                                            116.6k

                                            Posts