Thank you Dan for your great guidance, I've learned so much. I've recreated this project with UE5.1 - if anyone here is interested, feel free to ping me and I'll be glad to share the project.
This is exactly what I want to do but got completely lost the second you opened the "classic throw the widget on the screen" blueprint and I never recovered! Absolute n00b here. How can I get to a point of understanding literally anything you're talking about here?
Hey Dan, have you used this on the latest UE5 release yet? I'm getting nothing found with Find All MIDIDevice Info, but running it in previous versions (including UE5 early access) it's returning all my devices. Even upgrading the same project from Early Access, where it's working, I no longer get them. Anyway keep up the great work, this is exactly the content I need. So much cool potential with this tech.
Same issue here EDIT: So I found that if I use the Find MIDIDevices node, break the info out and set a true branch if they meet the condition "Can Receive From"
@@kantpredict Hey can you elaborate a little more please. I 'm not sure how to get the MIDIDevice Input Controller after verifying if the Midi Devices can receive from
@@biiiiioshock so you run the Find All MIDI device node, then a For Each loop: break the output of the array of midi devices, branch off "if can receive" is TRUE, add it to an array and Print String of the name ofnthe device each time so you know your choices. Then you can choose an input from the array and Set MIDI Input Device. ( I'm doing this all off the top of my head so the names of the nodes might not be quite right). I might do a short video about it later.
Yo Dan ! I thought I read somewhere in the documentation (or heard on a stream) that Metasounds could be embedded within other metasounds (sort of like subpatches in Puredata, or functions in blueprints) is this really a thing or did I just dream it ? Thanks and god bless.
Would it be possible to get an explanation on how to use FFT analysis to drive actors/particles in UE5, essentially what I am dying to do is use Unreal to make visualizer videos, but I am abhorrently uneducated on game engines and coding in general?
Dan thank you for this video! *Extremely helpful* advice for thinking about Metasounds and Metasound-adjacent systems. Only slightly related, but do you all have any plans for any sort of node-level dynamic recording buffers? Wondering how possible it might be to build out something like an Octatrack in UE5 without getting into the SDK.
There is already a Submix Recorder that outputs either a SoundWave into your browser or a wav file into your saved directory. There is also a Wave Writer Node in MetaSounds, but that node is on a per MetaSound basis. So if your voice management is like mine, then it might not be as useful. Also don't know if the Wave Writer outputs during runtime and I think the Submix Recorder is Editor only. But those are examples of the feature already implemented in various ways.
@@DanReynoldsAudio Thanks Dan! As of this video my voice management is exactly(ish) your voice management, or at least what you show here, so i'll definitely check out the submix recorder. FWIW i'm in the process of learning Unreal by way of Metasounds, so vids (and tips) like this that show how Metasounds relate to the rest of the engine is super super useful. Thanks again for doing these.
@@mdunkley There are also free online courses at unrealengine.com covering a lot of the high level audio features from UE4 as well as other useful courses on things like Blueprints, etc.
Hey, thanks for the great tutorial. I got one question: Id like to implement wwise into this as wwise does offer more control over the instruments and we use it in the project already. Is that possible?
Maybe AudioLink? I'm not sure I'd agree that it offers more control, but I'm sure you're more comfortable with it. Either way, you're talking about two different audio engines with two different feature sets.
@@DanReynoldsAudio Thanks for the quick reply. To be honest i dont know much about game audio but I work with someone who is quite familiar with wwise :) I will have a look at that
Question about your voice management - you spawn a number of Metasounds (8) at creation and store them in an Array. Then at the NoteOn you GET a Metasound from that array and add it to the Active Voices map. Doesn't that mean that you'll have 16 Metasounds running in total? I'm thinking since the GET says it returns a copy of the item, so the original 8 will just stick around in the background and the copies will make the actual noise?
Answer to self; there's object references in the array, not the actual objects, so the copy is a copy of the reference - they both reference the same object.
@@_oskareriksson Correct, so there are only 8 actual objects spawned and the reference is only copied for the brief time it's used in the graph execution.
This is great Dan! I'm having some trouble spawning MeatSounds, with a set-up like yours trying to plug one into a 'Spawn Sound at Location' it states it's not compatible with Sound Base Object reference? Any advice? Thanks again!
Thank you Dan for your great guidance, I've learned so much.
I've recreated this project with UE5.1 - if anyone here is interested, feel free to ping me and I'll be glad to share the project.
yeah it would be good to have that project!
You're the King. Thanks for this
Really nice sounding synth Dan. It is really satisfying to play.
Cool
Dan this sounds freaking awesome!!!
Learned alot in this one, and that synth sounded great!
this is amazing!
Are you a metasound developer, Dan? Damn boi this is beyond amazing what you´ve done here
I am currently a Technical Audio Designer at Epic Games embedded with the Audio Engine development team.
Thanks for checking the video out.
Its interesting how to make knob which changes wave-form
Excellent work!!!!
This is exactly what I want to do but got completely lost the second you opened the "classic throw the widget on the screen" blueprint and I never recovered! Absolute n00b here. How can I get to a point of understanding literally anything you're talking about here?
wow, big thanks !
this was fun!
Hey Dan, have you used this on the latest UE5 release yet? I'm getting nothing found with Find All MIDIDevice Info, but running it in previous versions (including UE5 early access) it's returning all my devices. Even upgrading the same project from Early Access, where it's working, I no longer get them.
Anyway keep up the great work, this is exactly the content I need. So much cool potential with this tech.
Same issue here
EDIT: So I found that if I use the Find MIDIDevices node, break the info out and set a true branch if they meet the condition "Can Receive From"
@@kantpredict Thanks, that does the job!
@@kantpredict Thank you !
@@kantpredict Hey can you elaborate a little more please. I 'm not sure how to get the MIDIDevice Input Controller after verifying if the Midi Devices can receive from
@@biiiiioshock so you run the Find All MIDI device node, then a For Each loop: break the output of the array of midi devices, branch off "if can receive" is TRUE, add it to an array and Print String of the name ofnthe device each time so you know your choices. Then you can choose an input from the array and Set MIDI Input Device. ( I'm doing this all off the top of my head so the names of the nodes might not be quite right). I might do a short video about it later.
I get a crunchy sound, if I play to many notes at a time... Any ideas why?
Nice!nice!
Yo Dan ! I thought I read somewhere in the documentation (or heard on a stream) that Metasounds could be embedded within other metasounds (sort of like subpatches in Puredata, or functions in blueprints) is this really a thing or did I just dream it ?
Thanks and god bless.
That's on the road map, but not part of the Early Access version.
You can use the send/reciever to communicate between metasound patches. Not sure if it translates to an actual game though.
I still count this as #metasoundjamfriday
Yeah, I could've done it live. It took about 2 hours to build out from scratch.
@@DanReynoldsAudio its super helpful when you do these love them all thank you!
Would it be possible to get an explanation on how to use FFT analysis to drive actors/particles in UE5, essentially what I am dying to do is use Unreal to make visualizer videos, but I am abhorrently uneducated on game engines and coding in general?
Dan thank you for this video! *Extremely helpful* advice for thinking about Metasounds and Metasound-adjacent systems. Only slightly related, but do you all have any plans for any sort of node-level dynamic recording buffers? Wondering how possible it might be to build out something like an Octatrack in UE5 without getting into the SDK.
There is already a Submix Recorder that outputs either a SoundWave into your browser or a wav file into your saved directory.
There is also a Wave Writer Node in MetaSounds, but that node is on a per MetaSound basis. So if your voice management is like mine, then it might not be as useful.
Also don't know if the Wave Writer outputs during runtime and I think the Submix Recorder is Editor only.
But those are examples of the feature already implemented in various ways.
@@DanReynoldsAudio Thanks Dan! As of this video my voice management is exactly(ish) your voice management, or at least what you show here, so i'll definitely check out the submix recorder. FWIW i'm in the process of learning Unreal by way of Metasounds, so vids (and tips) like this that show how Metasounds relate to the rest of the engine is super super useful. Thanks again for doing these.
@@mdunkley There are also free online courses at unrealengine.com covering a lot of the high level audio features from UE4 as well as other useful courses on things like Blueprints, etc.
Hey, thanks for the great tutorial. I got one question: Id like to implement wwise into this as wwise does offer more control over the instruments and we use it in the project already. Is that possible?
Maybe AudioLink? I'm not sure I'd agree that it offers more control, but I'm sure you're more comfortable with it. Either way, you're talking about two different audio engines with two different feature sets.
@@DanReynoldsAudio Thanks for the quick reply. To be honest i dont know much about game audio but I work with someone who is quite familiar with wwise :) I will have a look at that
@@V4LKoholic Best of luck!
Question about your voice management - you spawn a number of Metasounds (8) at creation and store them in an Array. Then at the NoteOn you GET a Metasound from that array and add it to the Active Voices map. Doesn't that mean that you'll have 16 Metasounds running in total? I'm thinking since the GET says it returns a copy of the item, so the original 8 will just stick around in the background and the copies will make the actual noise?
Answer to self; there's object references in the array, not the actual objects, so the copy is a copy of the reference - they both reference the same object.
@@_oskareriksson Correct, so there are only 8 actual objects spawned and the reference is only copied for the brief time it's used in the graph execution.
This is great Dan! I'm having some trouble spawning MeatSounds, with a set-up like yours trying to plug one into a 'Spawn Sound at Location' it states it's not compatible with Sound Base Object reference? Any advice?
Thanks again!
Spawn Sound At Location outputs an Audio Component, not a Sound Base.
Will this replace Max/Jitter at some point?
Is there a good example of Max/Jitter being used in a game engine or in a game?
Great answer👌🏼
No final fantasy fans here?