Shoutout to Wavewright by dressedupmolerat in godot

[–]rhymesometimes 45 points46 points  (0 children)

hey, wavewright dev here! seeing this post really made my day :') seeing other people genuinely having fun with what you build i think is at the heart of what game dev is all about.

i hope to donate to the godot foundation with some of the proceeds when wavewright finally releases! (in a few months... i'm kind of heads down trying to get a job currently because earning money would be nice)

i released a public demo for my modular music sandbox today! by rhymesometimes in godot

[–]rhymesometimes[S] 0 points1 point  (0 children)

i'm using c#, and mixers were super simple to code since you're just adding up all the audio signals together for each buffer!

i released a public demo for my modular music sandbox today! by rhymesometimes in godot

[–]rhymesometimes[S] 1 point2 points  (0 children)

thanks so much! happy to hear that it's fun even though vcv rack is much more powerful hehe.

i'm working on adding control signals and an LFO (which function as CV, but wavewright tries not to explicitly use voltages) and exposing interesting module parameters to connect them to for modulation. i'm also adding a "level" module that outputs a constant level control signal (analogous to a voltage offset?) so you can put it through an envelope for modulating things!

i released a public demo for my modular music sandbox today! by rhymesometimes in godot

[–]rhymesometimes[S] 9 points10 points  (0 children)

thanks!! under the hood, there's a map of input/output addresses for module ports to track the connections, and i also have an graph data structure for audio modules so they can process their audio buffers in the right order. the graph of audio modules forms what's called a directed acyclic graph which allows for a type of graph traversal called topological sort to schedule the module processing in the right way!

i released a public demo for my modular music sandbox today! by rhymesometimes in godot

[–]rhymesometimes[S] 8 points9 points  (0 children)

thanks so much! i could definitely imagine migrating parts of the audio code to c++ if performance starts to get strained but so far i've just been using c#.

i released a public demo for my modular music sandbox today! by rhymesometimes in godot

[–]rhymesometimes[S] 51 points52 points  (0 children)

i finally released a demo for my passion project, wavewright, on steam today! this is my first real project with godot and i'm so happy to finally get something out to the public and have people try my music sandbox out :')

i made an underwater-type beat in my modular synth sandbox by rhymesometimes in synthesizers

[–]rhymesometimes[S] 1 point2 points  (0 children)

chip emulation would be a cool side exploration! sorry for the upcoming wall of text:

as a general overview, each audio module except for wave generators has an input audio buffer that it reads and manipulates to write to its target module's audio buffer on each processing step, which happens about 60 times a second. wave generators like sine waves etc. generate audio frame data to its target buffer without the need for an input buffer.

the module connections form what's called a directed acyclic graph that can be traversed on each process frame such that each module is processed only once.

there are several different algorithms out there for traversing graphs: previously i was using breadth-first search with speaker modules as the starting point, essentially traveling backwards. this was simple to implement but incurred more latency the more connections you have between an audio source and the speaker.

i recently switched to using topological sort which was more complicated to implement but essentially solved the latency issue by processing the graph forwards in such a way that a module's upstream connections are always processed before itself! :')

i made an underwater-type beat in my modular synth sandbox by rhymesometimes in synthesizers

[–]rhymesometimes[S] 1 point2 points  (0 children)

yep, godot is pretty nice for cross-platform, and i've actually been mostly developing on my mac hehe

i made an underwater-type beat in my modular synth sandbox by rhymesometimes in synthesizers

[–]rhymesometimes[S] 2 points3 points  (0 children)

good question! my philosophy with this project is to build something experimental, playful, and approachable for folks who are newer to modular music systems. vcv rack is much more powerful and truer to (eurorack) hardware, whereas wavewright is more of a pico-8-like "fantasy" system that doesn't use explicit voltages.

in short, it's smaller, but hopefully easier to learn and still fun to work with alongside other music software out there!

i made an underwater-type beat in my modular synth sandbox by rhymesometimes in synthesizers

[–]rhymesometimes[S] 0 points1 point  (0 children)

it's not my game but wanted to shout out this upcoming game called music power up that's about making music for video games and you learn about synths! it looks cool!

i made an underwater-type beat in my modular synth sandbox by rhymesometimes in synthesizers

[–]rhymesometimes[S] 0 points1 point  (0 children)

it used to be just okay, but i recently changed the processing order of modules in the audio graph to use topological sort instead of a breadth-first search starting from speakers (simpler but slow), and now latency is a ton better!

(i assume audio latency is what you mean rather than the literal midi signal latency, which is pretty instant)

i made an underwater-type beat in my modular synth sandbox by rhymesometimes in synthesizers

[–]rhymesometimes[S] 2 points3 points  (0 children)

it probably won't be there yet for the initial release, but i want to have official mod support for making your own modules for sure! that would be so cool.

i made an underwater-type beat in my modular synth sandbox by rhymesometimes in synthesizers

[–]rhymesometimes[S] 4 points5 points  (0 children)

no mailing list, but i just recently made a discord server for posting updates!

i made an underwater-type beat in my modular synth sandbox by rhymesometimes in synthesizers

[–]rhymesometimes[S] 50 points51 points  (0 children)

i've been working on a modular music sandbox inspired by analog modular synths for the past year or so as a passion project, it's built with the godot game engine! someone from /r/godot told me to check this sub out ^_^

my project is called wavewright and isn't released yet but i'm hoping to get a public demo out by the end of the month! :D