This is freaking cool! I have already tried your solution and it works like a charm! But I wonder if it is possible to call Unity and SDK APIs in rust? It looks like it is quite difficult to achieve from what I have researched so far.
Very cool explanations, really gave me an awesome start to developing some midi music in unity. Though the original video is very good, the leap from that to trying to implement something like this is fairly large. Would love to see a breakdown of how multiple notes are handled (right now i separated then to multiple synth generators per note, seems like a very wasteful solution) Also envelop and filters could be nice for a future video. Keep it up this is awesome!
Hi, I've been a teacher for 5+ years trying to make educational videos interesting for kids around this topic blabla... but THIS VIDEO... ... 30 seconds in... .. THIS FORMAT.. .. IT WORKS .. you found it sir, the perfect balance between too much and too little educational vs entertaining 50/50 enjoyable and instructable VERY good job whoever you are! PS. this is the first video I've seen from you hope the others arent shit :D
This is incredibly good! I am pretty new to Unity and was investigating synthesis here for a music game. Lovely - you saved me so much time with very educating video :) Thank you!
Just discovered your channel and I am surprised to see how undiscovered you currently are. Keep it up! You're going to blow up, I can feel it! Your visual aids were very helpful for me in understanding what you were discussing about the components of synthesized waveforms. You made it as simple as possible, but not to the point of losing the fidelity of what you're trying to convey and that is a testament to your understanding of the subject. I subscribed and I look forward to your future content. Best of luck to your endeavors!
Wow what a raving review! Thanks for the encouragement! 😁 I just finished a huge milestone in my studies so I definitely plan to make more content on my work soon!
This is a great video! Loving the animations and the energy! It sort of feels like you might still need a background in music theory or some intuition to make it all come together in a nice-sounding way as it seems like you "just know" which chords and progression to use? Do you have any recommendations for resources? Thanks for blessing us with the amazing video!
Honestly I don't have a background in music at all lol. You can do a lot with just simple chords! I made music for a bit in FL Studio and just played around with that. Music production RU-vid is full of useful people and tutorials
"Something that makes a good software engineer is knowing you're a bad software engineer" - I've never heard anything more true than this. Am software engineer working for 6+years now. Subbed.
I was excited to try this - I cloned your repo origin/main as of 2023-11-10 but I'm getting compiler errors in the Synthic.Handlers classes upon opening the project in the Unity editor. "error CS0234: The type or namespace name 'Native' does not exist in the namespace 'Synthic' (are you missing an assembly reference?)". It feels like the Rust code needs to be compiled to reference "Lib", but I'm totally guessing and have never compiled Rust code. Any tips you can provide will be very appreciated!
I probably need to put a note of this somewhere. But the original synthic did not use rust. So if you want to try out the version used in this video. Check out the old-synthic branch. Let me know if that helps!
@@KentBrakewell Nothing that should be noticable. Plus the rust version is more incomplete anyways. Should probably make the rust version an off branch instead of main
wow man this is really advanced. how do you think you would approach creating a standalone drum program that exports the tracks after the drum parts have been mapped out in an interactive way similar to a drum plugin? i doubt a unity app could plug into a daw so i think unity would need to export wave files as separate tracks of the drum kit.
Yeah unfortunately unity does not have a lot of good ways of embedding itself into another app which would stop you from building your own VST plugin with it. But you could create a VST that relies on another process and uses whatever your choice of IPC to talk to your unity program.
Sorry it came off like that. It was meant as a follow up to my previous video where I dive into the code behind creating waveforms and then explain here how waveforms create music.
Very informational and presentation is amazing. Your videos really helped me get started with my procedural music and sound generation. Thank you so much for this guide!
I didn't know C# even had this -- though it doesn't sound that scary if you learned C++ before C#. Learning what assemblies are and how to make them might be the next step, since I'm still relatively new to C# and have seen the term thrown around without a real explanation, while C++ and Java lack them (at least in the versions I learned, I'm a bit behind the times with those languages now).
Holy smokes that was fast! Thank you so much for your support! I better step up my game and get my next video out soon so you all have some new content 😅
When uploading to app stores, they do not look at your code. They only care if the app works as advertised. So any usage of unsafe code is fine, as long as it doesn't crash your program or make it behave in an unexpected way.
Very enlightening video, thanks. I did some work and found that if I use the OnAudioFilterRead to implement some procedural sound effects, such as playing the MiddleC sound when the keyboard is pressed. But I found that due to the different scheduling logic of OnUpdate and OnAudioFilterRead, there is an obvious delay from key press to sound playback. Is this implement not suitable for interactive sound effects?
Interesting that you found the delay noticeable. In my experience even if it takes a while frame to register the key press and set the audio it's only a 16ms delay. How long is the delay for you?
Well I have a previous video going over a starter framework for generating sounds. I have a more advanced one I'm working on now so either do some exploring or wait for me to release my new one! 😁
It just happened by default in the unity version I was using at the time when the script had a OnAudioFilterRead method. Seems like it doesn't now which is a bug. There are a few workarounds if you look it up on Google lol
Great video! I followed along very well an sparked lots of ideas! :D For those who do not want/can use the burst compiler, you can precalculate the sinewave for example and store it in an array and read from there. I have to check how this interacts with filters and such, but I got similar or better performance as with burst compiler and its super easy to implement :)
Thanks for the comment! That is definitely a good way to go. In fact, I have a synth filter that caches the input from a runtime synth that does pretty much exactly this! If the data you are using for sounds can be prerendered, it's always a good idea to do so. Great tip! Glad you are enjoying my content 😁