Forum
    • Categories
    • Register
    • Login

    HISE Transformation to the new age

    Scheduled Pinned Locked Moved AI discussion
    30 Posts 6 Posters 310 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 @Christoph Hart
      last edited by

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

      but have you tried using an AI agent with the latest models?

      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'm waiting for someone to show me something impressive enough to get me interested in it to the point where I'll put some money down.

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

      Christoph HartC dannytaurusD 2 Replies Last reply Reply Quote 0
      • 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

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

                        16

                        Online

                        2.2k

                        Users

                        13.4k

                        Topics

                        116.6k

                        Posts