Audio Visualization - Unity/C# Tutorial [Part 1 - FFT/Spectrum Theory]
Вставка
- Опубліковано 16 вер 2016
- Support me in creating tutorials by becoming a patron on my Patreon and get access to the full source code of all tutorials.
/ peerplay
A new tutorial series by Peer Play, made by Peter Olthof.
Learn how to code your own music visualizer using c#.
In these series you will learn how to:
- use Fast Fourier Transform (FFT)
- Visualize music into gameobjects
- Scripting buffers for visualisation
- Applying scripts to models, lights, transforms, camera, and shaders.
Learn more about FFT Windows: www.ni.com/white-paper/4844/en/
If you like these tutorials, please consider a small donation.
www.paypal.com/cgi-bin/webscr... - Ігри
Your dedication to this tutorial is awesome. Thank you so much!
"A lot of time"
"Free"
Subbed.
EDIT: was worth it by the way.
@Haloix Yeah it sounds silly, but for some reason had the same effect on me (I'm 19)
I'm so blown away by the knowledge and generosity to share here. Thanks so much!
Thanks so much for this series of tutorial. It's comprehensive, clear and useful. Kudos!
Oh hey, I'm so glad this came up as a recommendation. I was trying to find your work the other day because I used it a few years ago for a visualizer and now I need it again. Perfect 👌❤
4 years later, this is still VERY informative. cheers, PP.
i dont know why i like your intro so much .it doesnt get old
a little thank you? i give you a HUGE thank you man, this is gold even 5 years after you posted it
Excellent intro to this tutorial. excited to see what's next!
We had to program an audio visualizer blindly at one of our college exams. By blindly I mean that you could only test it after the exam... It's an awesome tutorial, thanks!
Thank you for this tutorial man, I've been wanting to do this ever since I started working with Unity and this helped make it happen.
This is the gold mine i’ve been looking for weeks. Thanks man.
dude these videos are great and have helped me greatly in my own projects! top stuff my man!
Thank you for your time, effort and sharing your knowledge
Thank you for these. I am using these ideas for a game and will definitely give credit!
Holy shit, the amount of effort put into this is amazing!
Wow, I'm definitely going to this a try! Thanks Peter!
Awesome content, thank you very much for bringing us your knowledge!
thank you! love your explanation so simple and to the point
Bless your heart for this, this had been bugging me for years now!
Thank you, and your welcome! I'm happy to help others. There aren't alot of good tutorials on this subject online
Leaving some love for the algorithm. Thank you!
Your tutorials are very good. Thank You very much.
that 3k hertz example scared the shit out of me xD (don't watch this in the middle of the night on a high volume) ;P
Good point, stranger.
Good point, stranger.
Good point, stranger.
Fantastic series!
your amazing brother thank you so much and u deserve more attention for real
very use full ! thanks alot for sharing your knowledge .
Thanks man, this is really helpful
Thank you so very much for this, it's awesome and I love it.
You are amazing! Thank you!
this tutorial is really good. a 1000 thanks!
Thanks a lot for this tutorial!
Merci beaucoup, n’ont pas encore regardé! Salud!
Thank you, please make more! I am looking for shader tutorials
Man you are amazing!! .. Thanks from Chile
Thanks, this is really useful
Thanks for making this tutorial
thank you, great tutorial
OMG Thank you so much! You're awesome!
This is amazing!!
Thank You for this!!
Thank you 😊❤️
Thank you. ok i've done them all.
thank you! this is great
Thank you so much!
Im late but I absolutely love it. Thank you
good stuff!
FANTASTIC
Thank you sooo much, people like you encourage me to keep going with my open source career...
Thankyou. I am a new subscriber.
Dude this is awsome :D
So much Thank you !!
Thank you very much!!!
I am following your tutorials to make a program at the moment, I plan to include a link to your channel, and give you credits for essentially teaching me how to make it and while I share it, they can come and follow along too if they are interested.
Thank you!
Thanks dude
thanks man. i make tutorials myself (german tutorials) and i know the time and effort, that goes into it. thanks a lot, this is very useful! *thumbsup
Big thanks !
Thanks Dude!
thanks man!
Thanks brother
Thank you sooooooooo very mutch!
thank you !
Thank you :)
Thanks so much :D
thank you you are awesome and genoruos
Awesome this serie, thanks you so much for your work (L)
Thank you
Fuck bro I took off my headphones for that 10k hz cuz I knew it was gonna be bad. It still drilled a hole in my head with the headphones like a meter away.
Great video!
I was seeing all your list of video.. i have to buy a time machine, this will be a hard work
Thank you ^^
Is there any way to also get the phase data or the FFT output as complex (re, im)?
Awsome!!
Thankyou!
Love u
Excelente..!!...muchas gracias..!!
thank you!!!!!!!!
thanks!
Do you know if there's a way to take the fft visualization and convert it back into samples? Like taking the fft, modifying it, and converting it back into audio?
Huges thanks liked , subscribed
thank u
Can i use it for generating images based of descrete furie transform?
little thank you
thank you bro, i hope you foun many money for your noodles, you help me a lot
Great
Someday imma make a tomorrow land experience using this
tank u
No idea why i skipped to 2k khz when 1khz hurt my ears bad enough, but great video!
Can you make an video on android music player with a spectrum Visualization..
like the spectrum Visualization used in music videos by bassboosted,NCS..etc
Can you show how to create frequency effect? :X
i love you
Here is my trouble with your theory. As the pitch of a note gets higher, the identification of said such spectrum belonging to the note, changes orientation. For example, On the First A of the piano (in 88 keys), It uses a square wave. As the octave goes up, the square wave transforms into an almost perfect sine wave. So in a sense, A piano would be identified within 2 separate waves such as the synth, and bass. To play your way, the lowest low of a piano would be 28 hertz and the highest high would be 4,186Hertz.
Wouldn't it be wise to instead use an audio listener to have an AI use as references instead? This way nothing will pass through and you get to use all the base notes on 5 octave, multiply or divide 12√2 by 1.0594 for higher or lower octave for each note and have a wider variety for distinction of an instrument.
Ik vind het érg knap wat je hier doet.
Maar.....
Ik vraag mij af. Heb je ook al eens gekeken naar midi, en hoe je daarmee midi animaties kunt maken? Ikzelf ben geïnspireerd door om te beginnen synthesia, de videos van Stephen Malinowski, (smalin) en Andy Fillebrown. Ik wilde dat ook kunnen, en begon te onderzoeken hoe ik via het programmeren van computers zulke animaties kan maken.
Om te illustreren hoe graag ik zulke animaties wil maken, vertel ik even wat ik tot nu toe gedaan heb in de afgelopen jaren.
Ik heb, geexperimenteerd met Embarcadero's CBuilder en Delphi. Dit mislukte, omdat ik via die talen, en de Windows API taal alleen maar toegang heb tot de windows GDI, en niet tot de grafische kaart. Dat maakt deze benadering veel te beperkt. Toch heb ik een aantal animaties hiermee gemaakt.
Ik heb toen geprobeerd om OpenGL en DirectX te leren. Maar dat duurt járen. En daar heb ik het geduld niet meer voor.
Ik ging toen naar Blender. Voornamelijk omdat Andy Fillebrown zei dat dat betrekkelijk eenvoudig zou zijn. Helaas bleek dat níet zo! Eigenlijk was het feit, dat ál zijn video's maar één soort animatie laat zien een 'give-away'.
Blender, samen met Animation Nodes leek in éérste instantie zeer veelbelovend. Ik moest echter wel Python leren, en dat heb ik ook gedaan. Maar toen ik mijn animaties begon te maken met Blender en Animation Nodes (ik heb er twee gemaakt) bleek Blender achterelkaar te crashen. Ik moest het renderen steeds weer opnieuw starten, omdat ófwel Blender crashte, ófwel eindeloos hetzelfde plaatje zat te renderen. Dus gaf ik dat maar op.
Toen heb ik de Wolfram taal en Mathematica uitgeprobeerd. Mathematica geeft mij toegang tot de grafische kaart. Bovendien rendert Mathematica stabiel, en beloofde midi te ondersteunen (wat het absoluut niet goed doet, helaas!).Mathematica rendert echter redelijk snel. Maar de Wolfram taal is zéér abstrakt. Het gebruikt de krachtigste manier om te programmeren die er is. De Wolfram taal is zeer verwant aan lisp, wat, op Mathematica na, de meest abstrakte computer taal is die er is. Dit maakt het maken van animaties met Mathematica zéér lastig.
Maar toch. Ik heb er één midi animatie mee gemaakt. En zo ontdekt dat het wél kan. Het is echter hondsmoeilijk!
Op dit moment ben ik Unity en C# aan het leren. Dit lijkt op dit moment de meest veelbelovende benadering. Temeer omdat veel animatie-functionaliteit al in Unity zit. Bovendien, vanaf versie 18.3 kan ik de recorder gebruiken om de animaties te renderen. Dit is overigens precies wat mij overhaalde om Unity uit te proberen, en niet de grote concurrent, Unreal, wat ik liever zou doen, omdat ik C++ al kende. Dus ik moest wél de horde van C# nemen. Gelukkig lijkt C# erg op C++. Bovendien ken ik de programmeer concepten al van Delphi.
Maar nu heb ik nog wel het probleem om midi files om te zetten in data structuren met absolute tijden, waarbij ook rekening gehouden moet worden met de tempo track van de midi file. En daar ben ik nog niet uit. Ik denk echter wel dat ik al dichtbij zit.
De reden waarom ik juist midi zo belangrijk vind, is dat je alléén met midi in je animaties anticipaties kan maken. Ik heb enkele videos van jou bekeken, en, hoe knap ik ze ook vind, in allemaal wordt geluid rechtstreeks gebruikt om te animeren. En dus zit er in de animatie als zodanig geen enkele anticipatie.
Ik vind dat véél te beperkt, omdat schoonheid áltijd in één of andere vorm van anticipatie uitgedrukt wordt. Als je rechtstreeks van geluid naar beeld gaat, dan kun je de anticipatie van de muziek niet in je animatie uitdrukken. Of in ieder geval is het hondsmoeilijk, omdat het algoritme dan op één of andere manier vanaf het speel-moment verderop in de geluidsfile moet kijken, en dan wat het ziet in één of andere begrijpelijke data structuur moet vangen, die je dan in je animatie zou moeten stoppen. Ik zou niet weten of dit wel kan. Het is in ieder geval nog moeilijker dan een computerprogramma maken dat de éne gesproken taal kan omzetten in de andere, puur via geluid. Iets wat ook maar niet wil lukken met computers.
Met midi zit alle anticipatie al in de file, omdat midi alleen speel-informatie bevat. Daardoor zijn alleen met midi animaties zoals die van Andy Fillebrown of van Stephen Malinowski (smalin) mogelijk.
Bekijk mijn kanaal eens. Dan kun je in ieder geval ind e paar animaties zien wat ik bedoel. En kijk dan ook eens naar smalin en Andy Fillebrown.
i've hear'em all, i'm a master.
FlusherCheese you mean all the tutorial parts? well you can't as there are coming more! ;)
A loud audio warning would be nice. This video could easily cause ear damage, especially at the volume levels and frequencies used. My ears are still ringing from scrubbing through the video. Having one in each of these locations would be even better; the title, a pinned comment, the video itself, and through annotations.
he literally said might wanna turn down your speakers
@@kilometerbob2662 He literally said it one time five minutes after the video started and playing multiple audio samples at 6db+ louder than his voice.
This comment should be voted up.
❤
When I get a credit card, I'll donate those noodles
dude, je krijgt wel noodles van me hoor!
: )
:O
you go your like subscribe and the comment , will do something when I will have extra noodles