Wavewright: Godot as a digital instrument and the art of connecting things
This week, I had the opportunity to speak with an amazing developer who is pushing Godot well and truly into the digital instrument and music technology space.
Joon runs Bagel Seed Studios an indie software house based in Brooklyn, New York. Their current project is Wavewright - a modular music sandbox inspired by analogue modular synths.
A demo version was released at the tail-end of March 2026 and it's already starting to grow a dedicated community of players tinkering with modular synthesis. In this interview, I take the opportunity to learn more about their background across music and game development, hear about their approach to onboarding players, and discuss their plans for the full release.

Jared: Hi Joon, thanks so much for taking the time to speak with me today. First things first, can you tell us a little bit about your background? Have you come from a music/audio background, a programming background, or something else entirely?
Joon: I’ve been a software engineer by profession for about five years now, but my experience with game engines is relatively new. I first used Godot at the end of 2024 after doing my first game jam with some friends and started to fall in love with the concept of making games as a creative medium! As a hobby, I play a few instruments like the piano and bass and dabble with DAWs (Digital Audio Workstations) like Ableton. I took a class back in college called Interactive Music Systems, which was taught by Eran Egozy, the co-creator of Guitar Hero, and it was maybe my favourite class that I ever took in college! I learned a lot about music programming and got a lot of inspiration from it which eventually led to creating Wavewright several years later.

Jared: What inspired you to build Wavewright as a standalone experience rather than
something like a DAW plugin?
Joon: I guess the most truthful answer is that I initially started building Wavewright as a deep audio backbone to support an actual game that felt more like an adventure RPG in my
head. The idea was that music had magical power in the world and audio modules would be the conduit to harness this power. The player would have an inventory of modules that they acquire over the course of their adventures and build musical patches that also have magical abilities with customisation similar to games like Noita.

Joon: As I built out Wavewright more and more, however, I realised that I was actually having the most fun treating Wavewright as a musical system on its own, and it could be more powerful (and much less scope, haha) to not shoehorn a game into something that really wanted to be a playful, experimental music system instead.
Joon: In retrospect, I feel it makes sense for Wavewright to be a standalone experience for a few reasons. I wanted Wavewright to be accessible to folks who are newer to modular music systems and are interested in playing around with them but were previously put off by its complexity or financial cost. Having Wavewright be a separate software means that folks can learn how to make music without the upfront cost of choosing/buying/learning the DAW first. Wavewright also has a unified pixel-art aesthetic and design language throughout its modules, and having it separate from a DAW feels more consistent and makes it feel less out of place than if it were another plugin in a sea of others. That being said, I would love for people to try treating Wavewright like a plugin and sending the audio or MIDI signals that it outputs into their DAW of choice! I see potential in Wavewright being a playful staging workstation that gives musicians some drafts that could be touched up in a DAW.
Joon: As an aside, the music adventure idea hasn’t fully gone away for me: I recently saw a video for a game called Wireworks and thought that the developer did an ingenious job of turning modular components into a Vampire Survivors-ish tower defence game! I definitely think the experience that I gained making Wavewright gives me more confidence to work on something even more ambitious in the medium-term future.

Jared: I can definitely understand your perspective on wanting to build out Wavewright as a standalone experience first. For the record, a synth-powered RPG sounds like an amazing concept and I’d definitely play it! However, thinking about the project in its current format, can you explain what a modular synthesiser is and what players should expect if they were to play Wavewright?
Joon: Synthesisers, which first emerged in the mid-20th century, are musical machines that generate waveforms that we can hear. For example, a synthesiser can generate a sine
wave that we can actually hear if we use the signal to control a speaker drum to push air
molecules in the same shape as the signal! Physical synthesisers came first, and they
typically use electronic circuits and voltages to generate signals. Nowadays, there are
digital synthesisers that can generate signals programmatically without electronic
circuits.
Joon: Modular synths are synthesisers that are designed to work with and connect to other
modular synths instead of being an all-in-one package. For example, a sine wave module
can have its pitch controlled by another module instead of that functionality being
inherent to the sine wave module itself. Modules typically connect to each other using
patch cables, and signals travel between modules along these cables. Modular synths are
very flexible, but they can also be very complex due to the sheer number of connection
options available!
Joon: When you play Wavewright and open up a new project, you’ll be greeted by nothing but a blank canvas and the module menu. A valid approach would be to just start adding some modules and see what happens if you connect them! However, the best way to get started is probably to go through the tutorials. They’ll guide your hand through making
your first connections and give you a good conceptual base to explore modules with a
better sense of direction.


In Wavewright players connect multiple modules together to build more complex instruments
Jared: How did you approach the challenge of giving your players an authentic experience of combining synth modules without it being unapproachable to people with no background in audio?
Joon: This is Wavewright’s biggest goal as well as its biggest challenge. I want Wavewright to help newer folks build up modular audio concepts step by step while also encouraging people to experiment and try things out to see what works and what doesn’t! The main avenue for beginners currently is the set of initial tutorials. It starts with connecting a single sine wave module to a speaker module, and slowly builds concepts like keyboards, envelopes, chord, triggers, and drum sounds in an interactive way so that users feel like they’re making sounds and having fun as they learn the concepts.
Jared: What's surprised you most about how players have been interacting with the initial demo version of Wavewright?
Joon: Whenever someone sends me a video or audio snippet of something they made with Wavewright, it brings such a smile on my face! One of my close friends recreated a song from the Celeste soundtrack, which was mind-blowing. The demo hasn’t been out for that long yet and I’d like to keep getting the word out, but I’m half-expecting someone to share a fully-fledged track that they made solely in the Wavewright demo soon. It’s been very illuminating to see how others use modules in different ways than I do, and I’ve been taking notes to inform new module designs and ways to iterate on or improve current designs.
A sample project taken from the Wavewright Discord by kingcheeks
Jared: Why did you opt to use Godot for this project? How has it performed in terms of real-time audio processing?
Joon: To be honest, I initially started the project because I wanted a larger challenge to sink my teeth into for the main purpose of learning the game engine itself. I spent maybe one day trying to learn Unity before I got put off by its complexity and heaviness. Godot feels so lightweight and joyful to use in comparison, and the scene tree model has been really intuitive for me as a software engineer who’s been using conceptually similar frameworks like React in my past jobs. I’m opting to use C# currently over GDScript, and it’s been surprisingly adequate for real-time audio processing. However, I have noticed that some users on other machines are experiencing occasional pops in the audio, which could be related to performance. I’m planning to spend a few weeks to deeply profile Wavewright’s audio performance soon and see how to make the audio processing more robust. As a last resort, I could try to move audio processing into C++ via GDExtension, but my gut feeling is that this won’t be necessary.
Jared: What are the most difficult technical challenges you faced when building the
initial demo? How did you work through them?
Joon: Generally, the adage that the last 10% of work takes 90% of the time seems to ring true. Polish is quite laborious but worth the effort in my opinion! It’s been tough to balance implementing new features and modules with cleaning up the codebase, polishing the experience, and fixing bugs. My advice to game devs that also struggle with this problem is to follow what you find fun at the given moment in time! If you’re getting sick of bug fixing, ideate new features instead! If you’re sick of ideating, bug fixing can be a nice way to empty the mind and enter a bug-fixing flow state. I don’t want to feel like developing my project is becoming a chore or a labour without love.
Joon: Another small call-out is the process for actually cutting a demo build. For starters, using version control such as Git is non-negotiable. It is truly a must. The demo build contains a subset of the modules that would be available in the full version. However, we don’t want to leave all the assets for the modules in the full version in the demo build, since it would be trivial for a motivated person to extract the game’s files and make changes to access the full version. Removing the assets unique to the full release is always a large-scale change that has the potential to break things that you don’t expect, so that was also a challenge. Again, using Git and keeping the demo build on a separate branch was critical.
Jared: What does the day-to-day development of Wavewright look like? How do you
divide your time between active development, community engagement, etc.?
Joon: I keep a very rough spreadsheet of tasks for Wavewright that are organised by priority, size, and type. For a typical day of development, I’ll use the sheet to knock off tasks one-by-one that are the highest priority, and add things to the sheet and triage tasks as necessary. Priorities change depending on what I’m working towards: when I was pushing hard to get the demo out, I was very stringent with myself as to what was actually ‘high-priority’ versus just a nice-to-have.
Joon: These days, now that the demo is out, although I’m slowly building out more features and fixing bugs, I’ve been spending more time community engagement by maintaining a Wavewright Discord server, starting to make Youtube videos that showcase Wavewright, and making a few social media posts. I imagine that the ratio of time spent developing and doing community engagement will flip-flop in cyclic phases where more time will be spent on development when pushing for a release or new update, and more time on community engagement right after an update.
Jared: With the audience you’re building, can you tell me more about how they've been interacting with Wavewright? Are they primarily musicians curious about games, gamers with a passion for music, or a community you weren't expecting?
Joon: So far, there’s been a really nice mix of responses from people who are already very experienced in modular systems like VCV Rack and folks who never really got into modular synths before but felt inspired to try out Wavewright. I think I’d like to do a bit more community outreach to try to see what the demographic of users actually is, but my guess is that currently the people most drawn to it are musicians that also have an affinity for games. What would really make my day is if one day I got a message from a user that said that Wavewright was the spark that got them interested in making music, similar to how taking Interactive Music Systems back in college was the spark that got me interested in making musical software and games. If even one person was inspired in that way, I think all the effort I’ve put into Wavewright thus far will have been well worth it.
Jared: I think having the aim of Wavewright being a catalyst to allow users to explore music is a really worthwhile and noble goal. Is this helping you to plan for the future of the project? What do the next steps look like?
Joon: There are a few large features I’d like to tackle for the full release on top of fixing bugs and addressing audio performance. The first feature is incorporating modulation throughout the system, which is really the heart and soul of modular synthesis, although it is a more advanced concept. Modulation in physical modular systems is typically done with control voltages, or CV. Wavewright strives to be a PICO-8-like ‘fantasy’ system that doesn’t use explicit voltages anywhere, so this new signal type will just be called control signals. I’m really excited to build them out and expose interesting control ports for module parameters to greatly expand the range of audio possibilities! The ‘whoa’ moment for those not previously familiar with modular systems is that control signals and audio signals are one and the same, so you can use audio signals to control parameters, which leads to some very interesting effects!

Joon: The other large feature is the possibility of condensing a project into what I’ll call a higher-order module. Currently, you might have some reusable modular section or subsystem that has some functionality, and it might be quite large and take up a lot of space. I think it would be really cool to be able to add some utility modules that could take a project and expose just its ‘global’ input and output ports and treat everything else in the project as a ‘black box’ that other projects can use as if it was just another module. This would be a first step in designing official mod support where people could use a unified design language to create and design their own modules!

Modules included within the demo include: sequencers, gates, envelopes, oscilloscopes and more!
Jared: Wow! Those future features sound amazing and I can’t wait to try them out. The subsystem functionality reminds me of when I spent some time exploring Pure Data at university where you could bundle patches into reusable systems. I think that would be an amazing feature.
Joon: That's awesome! Pure Data is absolutely one of my inspirations. To shout out two other tools that also inspired Wavewright in some way that are also worth checking out:
- Max was actually inspired in part by Pure Data, and feels like its multimedia spiritual successor. It's well known for its integration with Ableton via Max for Live.
- Strudel is a browser implementation of a live music programming language called tidalcycles and is very fun to play around with.
Jared: Thank you so much for your time today! We’re all really looking forward to the full Wavewright release. For people who want to follow you and the project, where can they find you online?
Joon: The Wavewright demo is available for free on Steam! There’s also a community
Discord server that’s the best way to reach me as well as others interested in Wavewright. Thank you so much for the interview and I appreciate everyone’s support and enthusiasm for the project thus far!
Wavewright is being developed and published by Bagel Seed Studios, the demo was released on 23rd March 2026 and is available on Steam.


Member discussion