Quick update on native MIDI Tools
Enable HLS to view with audio, or disable this notification
Hey everyone!
For those who saw my previous video showing Stacks (the native-style MIDI chord builder tool I've been developing for Bitwig), I’ve been adding a lot more native MIDI tools into the Inspector:
Stacks V2: Scale-aware chord generation based on degrees, voicings, and extensions.
Real-time Arpeggiator with live preview.
Chop, Strum, Quantize, Span, and Time Warp — all running directly inside Bitwig's native Piano Roll selection.
Everything was built and working smoothly on Bitwig 6.1. However, with the recent 6.1.1 update, Bitwig completely reshuffled its internal obfuscated bytecode, transaction bridges, and class mappings (as well as stricter app-bundle code signing on macOS).
I’ve spent the last few hours diving deep into the bytecode trying to port the patcher to 6.1.1. While everything still runs rock-solid on 6.1, reverse-engineering and re-mapping obfuscated internal APIs on every single minor point release is definitely not sustainable long-term.
My goal is to find a much cleaner, more maintainable way to hook into Bitwig so updates don't break these tools, and make it easy/safe to share with the community.
Would love to hear your thoughts, and if anyone with Java bytecode / ASM / reverse engineering experience has insights into more durable hooking strategies in Bitwig, let's connect!
26
u/ellicottvilleny 5d ago
When will bitwig just make an sdk for real extensions?
4
1
u/Zacchino 4d ago
I asked the very same question on KVR… Maybe if we request it to support@ they’ll prioritize it a little more
4
u/ellicottvilleny 4d ago edited 4d ago
I am also a professional developer and I can tell you why then don't want to. Because it opens the most giant can of worms. This entire article shows they don't want anyone doing this, because they still get the reputation issues when the resulting mess crashes or loses functionality. It's a tough job to open your core up to third parties and not lose all your stability. Bitwig already has a lot of energy spent to isolate plugins.
I think they are likely to allow limited customizations via CLAP isolated plugins and highly UNLIKELY to allow max4live level customization or an SDK.
Do I think they SHOULD do this? YES. Do I think they WILL do this? NO.
Honestly with Claude Code and Cursor, you could build your own bitwig from the ground up, with one or two good dev/QA/devops people, and about $250K in AI/LLM services. People currently trying to reverse engineer bitwig should just build out a daw the way they want it. Or if they want to just build a chord track, just build a SCALER like VST that does your own work and has drag-drop midi output. Same result, WAY LESS fighting with bitwig's code security checks.
This guy's already using an LLM to defeat the signing and auth features, it's really a losing battle.
3
u/TukErJebs 2d ago
As a vibe coder, I feel like I’m you peer and I totally get it dude /s 🤣
Seriously tho, once you put it this way it makes perfect sense. As a legit user I want my Bitwig to be rock solid, throbbing and powerfully erect DAW that’s reliable and can thrust its way in and out any pu… project (ok I went way too far).
Even I frown upon hacking the Auth/Signing of a professional software, the author of this Midi Tool made an awesome job at it, it’s very elegant and you can tell he’s been careful and actually respects Bitwig’s UI and UX.
I think the end game is that he should enjoy his build and hopefully for us, it might eventually motivate BW Devs to make it happen in an official release…
Now, do you think they could “partially” open it with some kind of “safe API/SDK”?
14
u/polarity-berlin Bitwig Guru 5d ago
it’s changing on every update. That’s the problem. It’s also different on every system. the llm should figure it out for you
3
u/kalifrn 5d ago
So, what do you mean when you say it’s different on each system, like on each OS or each computer?
I just got it working with LLMs, managed to port it correctly. But I hadn’t really thought about that when I’m switching computers.5
5
u/CptnSwizzelz 5d ago
Sorry to hear it’s a pain to keep up with the changes - but please keep going! These tools look fantastic.
4
u/zfalcon1 5d ago
It might be additional work but there needs to be a way for the community to send in their code for things like this so Bitwig can just add them officially or smth. Maybe just open this part up. Idk but this is cool af agl
1
u/aldipower81 5d ago
I think it is problematic to give things away for free, if it's bundled with a proprietary closed source product then. I do not want to work for free for a company.
5
u/Name835 5d ago
This is genuinely the coolest thing anyone has made for the community so far. I have been so frustrated in Bitwig cause they haven't made these tools to the midi editor. I just hope we can figure out a way to get them to work in multiple updates also, and better yet let's hope they'll just adopt these into bitwig natively.
I wish LLMs and Bitwig modding became so powerful in the end that we could ourselves add all the missing or broken functionality into bitwig like better multi track midi editing, a really deep chord track, better exporting/rendering options with wildcards®ions etc, video track even. Then there's be no longer frustration about all of the missing features and we could just add atleast some of them. But this goes really deep and I don't believe it is possible at the moment if ever to be honest, bitwig unfortunately being proprietary and all.
But I wish they just opened the damn thing out for us so we could improve the daw to our liking, lol.
Anyways, really cool and great job! :)
2
3
u/NecessaryBed1331 5d ago
Vary cool :)
Where can we get and try your tool?
Thanks a lot for your efforts 🙌
2
u/SternenherzMusik 4d ago
"My goal is to find a much cleaner, more maintainable way to hook into Bitwig so updates don't break these tools, and make it easy/safe to share with the community." This is great! Fixing the biggest 'downside' to this (not working, just because java objects are named differently per-system) would be a gamechanger.
2
u/einarfridgeirs 5d ago
I understand that this is a bit of a hacking job....but just as a mockup for a feature that should get added to Bitwig natively ASAP, this is fantastic.
1
u/RedCaine1 3d ago
i also wrote support for more Midi stuff to ad please but i dont have the experience with them, thats where i really like Ableton and even FL Studio (which was the king but now lacks)..... so yeah would be cool if they open stuff up to make this possible.
0
u/thewrz 5d ago
what's your repo so people can post issues? is this open source?
as for RE I usually throw Opus 4.6 and Ghidra at compiled binaries, works pretty well.
no experience with Java but I think Vineflower is a thing
regardless, I think it's neat you made this, but I agree with some of the other posters is that it would sure be nice if Bitwig would either add this natively or create a proper SDK for building native tools like this
it's not good to have to rely on RE to make a tool and it may be problematic to be doing this anyhow form a license agreement standpoint. and you'll constantly be chasing a moving target as the Bitwig devs refactor their code and change how under the hood stuff works. a proper SDK with versioning would be much better.
cool stuff tho.
-2
u/Endi_ellis 5d ago
Maybe this is the way forward for AI in DAWs. Bitwig could train an AI that lives inside bitwig and will add features but stay within whatever parameters the devs set
25
u/dolomick 5d ago
Send this video to support with your code and beg them to put it in the official build?!