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...
  • Ігри

КОМЕНТАРІ • 127

  • @atom_zero5413
    @atom_zero5413 7 років тому +40

    Your dedication to this tutorial is awesome. Thank you so much!

  • @purpleice2343
    @purpleice2343 7 років тому +28

    "A lot of time"
    "Free"
    Subbed.
    EDIT: was worth it by the way.

    • @danielpetka9096
      @danielpetka9096 4 роки тому

      @Haloix Yeah it sounds silly, but for some reason had the same effect on me (I'm 19)

  • @donsun1561
    @donsun1561 6 років тому +2

    I'm so blown away by the knowledge and generosity to share here. Thanks so much!

  • @marcoflagg6601
    @marcoflagg6601 6 років тому +4

    Thanks so much for this series of tutorial. It's comprehensive, clear and useful. Kudos!

  • @gameeverything687
    @gameeverything687 3 роки тому

    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 👌❤

  • @dsworkshop8578
    @dsworkshop8578 2 роки тому

    4 years later, this is still VERY informative. cheers, PP.

  • @vamshivams5029
    @vamshivams5029 5 років тому +1

    i dont know why i like your intro so much .it doesnt get old

  • @ludomancerstudio
    @ludomancerstudio 2 роки тому

    a little thank you? i give you a HUGE thank you man, this is gold even 5 years after you posted it

  • @taylormurphy2551
    @taylormurphy2551 6 років тому

    Excellent intro to this tutorial. excited to see what's next!

  • @lori9313
    @lori9313 6 років тому +8

    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!

  • @andrewluttrell3277
    @andrewluttrell3277 3 роки тому

    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.

  • @webhancherx
    @webhancherx 3 роки тому

    This is the gold mine i’ve been looking for weeks. Thanks man.

  • @michaelmatthews919
    @michaelmatthews919 6 років тому

    dude these videos are great and have helped me greatly in my own projects! top stuff my man!

  • @konfliktingfrequencies6355
    @konfliktingfrequencies6355 5 років тому

    Thank you for your time, effort and sharing your knowledge

  • @spiritlevelup1036
    @spiritlevelup1036 6 років тому

    Thank you for these. I am using these ideas for a game and will definitely give credit!

  • @alfa_q
    @alfa_q 7 років тому

    Holy shit, the amount of effort put into this is amazing!

  • @ScottGameSounds
    @ScottGameSounds 4 роки тому

    Wow, I'm definitely going to this a try! Thanks Peter!

  • @Galbix007
    @Galbix007 7 років тому

    Awesome content, thank you very much for bringing us your knowledge!

  • @amal3227
    @amal3227 2 роки тому

    thank you! love your explanation so simple and to the point

  • @OnePlusTuque
    @OnePlusTuque 6 років тому +3

    Bless your heart for this, this had been bugging me for years now!

    • @PeerPlay
      @PeerPlay  6 років тому +1

      Thank you, and your welcome! I'm happy to help others. There aren't alot of good tutorials on this subject online

  • @enzima
    @enzima 2 роки тому

    Leaving some love for the algorithm. Thank you!

  • @diliupg
    @diliupg 5 років тому

    Your tutorials are very good. Thank You very much.

  • @warcraft3456
    @warcraft3456 6 років тому +14

    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

  • @EricBichara
    @EricBichara 3 роки тому

    Fantastic series!

  • @GamingGuruFaris
    @GamingGuruFaris 6 років тому

    your amazing brother thank you so much and u deserve more attention for real

  • @Emran17173
    @Emran17173 4 роки тому

    very use full ! thanks alot for sharing your knowledge .

  • @fredishseals4225
    @fredishseals4225 6 років тому

    Thanks man, this is really helpful

  • @dropbeardan9604
    @dropbeardan9604 Рік тому

    Thank you so very much for this, it's awesome and I love it.

  • @ykazykenov
    @ykazykenov 7 років тому +2

    You are amazing! Thank you!

  • @vertexcrusher
    @vertexcrusher 6 років тому

    this tutorial is really good. a 1000 thanks!

  • @CloudyNebula
    @CloudyNebula 6 років тому

    Thanks a lot for this tutorial!

  • @statichost
    @statichost 4 роки тому

    Merci beaucoup, n’ont pas encore regardé! Salud!

  • @trsayurs
    @trsayurs 7 років тому

    Thank you, please make more! I am looking for shader tutorials

  • @ivikiel
    @ivikiel 6 років тому

    Man you are amazing!! .. Thanks from Chile

  • @papercolor8259
    @papercolor8259 6 років тому

    Thanks, this is really useful

  • @TotallyL337
    @TotallyL337 4 роки тому

    Thanks for making this tutorial

  • @raffiitch
    @raffiitch 5 років тому

    thank you, great tutorial

  • @Kikikan
    @Kikikan 7 років тому

    OMG Thank you so much! You're awesome!

  • @MrChristopher2413
    @MrChristopher2413 6 років тому

    This is amazing!!

  • @SAARIDEALmusic
    @SAARIDEALmusic 6 років тому

    Thank You for this!!

  • @JVSMGAMES
    @JVSMGAMES 3 роки тому +1

    Thank you 😊❤️

  • @gabrielpoupou1479
    @gabrielpoupou1479 7 років тому

    Thank you. ok i've done them all.

  • @anastasia9963
    @anastasia9963 7 років тому

    thank you! this is great

  • @cuchocorrea
    @cuchocorrea 2 роки тому

    Thank you so much!

  • @hzqhassan
    @hzqhassan 7 років тому

    Im late but I absolutely love it. Thank you

  • @kilahuy
    @kilahuy 7 років тому +2

    good stuff!

  • @amirsaeed8733
    @amirsaeed8733 3 роки тому

    FANTASTIC

  • @gravity5898
    @gravity5898 5 років тому +1

    Thank you sooo much, people like you encourage me to keep going with my open source career...

  • @samre3006
    @samre3006 5 років тому

    Thankyou. I am a new subscriber.

  • @MegaGameCore
    @MegaGameCore 7 років тому

    Dude this is awsome :D

  • @scenes_dot
    @scenes_dot 7 років тому

    So much Thank you !!

  • @user-to2ih9rv5g
    @user-to2ih9rv5g 6 років тому

    Thank you very much!!!

  • @XarmonixMusic
    @XarmonixMusic Місяць тому

    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.

  • @arvindkumarmanisekaran7173
    @arvindkumarmanisekaran7173 4 роки тому

    Thank you!

  • @gamemechanics3579
    @gamemechanics3579 2 роки тому

    Thanks dude

  • @Fraktalist
    @Fraktalist 7 років тому

    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

  • @REAVER_Game
    @REAVER_Game 6 років тому

    Big thanks !

  • @ZbychMorderca666
    @ZbychMorderca666 6 років тому

    Thanks Dude!

  • @MrTjahzi
    @MrTjahzi 6 років тому

    thanks man!

  • @paritybit_softwares
    @paritybit_softwares Рік тому

    Thanks brother

  • @arcsibo
    @arcsibo 6 років тому

    Thank you sooooooooo very mutch!

  • @d1a9n8a8
    @d1a9n8a8 3 роки тому

    thank you !

  • @lost_alter
    @lost_alter 3 роки тому

    Thank you :)

  • @andrewmasek2170
    @andrewmasek2170 6 років тому

    Thanks so much :D

  • @rezadarooei248
    @rezadarooei248 6 років тому

    thank you you are awesome and genoruos

  • @sepinaco
    @sepinaco 3 роки тому

    Awesome this serie, thanks you so much for your work (L)

  • @Funny_mojo
    @Funny_mojo Рік тому

    Thank you

  • @Tristoo
    @Tristoo 3 роки тому

    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!

  • @MaxiCrows
    @MaxiCrows 4 роки тому

    I was seeing all your list of video.. i have to buy a time machine, this will be a hard work

  • @aahnak9182
    @aahnak9182 7 років тому

    Thank you ^^

  • @AlexTuduran
    @AlexTuduran 5 років тому +1

    Is there any way to also get the phase data or the FFT output as complex (re, im)?

  • @lfernandods
    @lfernandods 7 років тому

    Awsome!!

  • @kangawallapuss
    @kangawallapuss 6 років тому

    Thankyou!

  • @iFexnitro
    @iFexnitro 5 років тому

    Love u

  • @bigjamar
    @bigjamar 5 років тому

    Excelente..!!...muchas gracias..!!

  • @nullcase404
    @nullcase404 5 років тому

    thank you!!!!!!!!

  • @dice4572
    @dice4572 6 років тому

    thanks!

  • @IsaGoodFriend
    @IsaGoodFriend 6 років тому

    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?

  • @harvinderwander7253
    @harvinderwander7253 6 років тому +1

    Huges thanks liked , subscribed

  • @rabiefathallah6485
    @rabiefathallah6485 3 роки тому

    thank u

  • @Assassin21BEKA
    @Assassin21BEKA 3 роки тому

    Can i use it for generating images based of descrete furie transform?

  • @dylanking165
    @dylanking165 2 роки тому

    little thank you

  • @z-time3291
    @z-time3291 11 місяців тому

    thank you bro, i hope you foun many money for your noodles, you help me a lot

  • @papercolor8259
    @papercolor8259 4 роки тому

    Great

  • @AdityaPatel-gv6nk
    @AdityaPatel-gv6nk Рік тому

    Someday imma make a tomorrow land experience using this

  • @wardvroeijenstijn5008
    @wardvroeijenstijn5008 4 роки тому

    tank u

  • @ThePCxbox
    @ThePCxbox 4 роки тому

    No idea why i skipped to 2k khz when 1khz hurt my ears bad enough, but great video!

  • @ganeshthyadi6898
    @ganeshthyadi6898 4 роки тому

    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

  • @pastuh
    @pastuh 3 роки тому

    Can you show how to create frequency effect? :X

  • @dunghn94
    @dunghn94 6 років тому

    i love you

  • @Thesupperals
    @Thesupperals 3 роки тому +1

    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.

  • @konradswart4069
    @konradswart4069 5 років тому

    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.

  • @gabrielpoupou1479
    @gabrielpoupou1479 7 років тому

    i've hear'em all, i'm a master.

    • @PeerPlay
      @PeerPlay  7 років тому

      FlusherCheese you mean all the tutorial parts? well you can't as there are coming more! ;)

  • @NoClicksOnMe
    @NoClicksOnMe 5 років тому +19

    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.

    • @kilometerbob2662
      @kilometerbob2662 4 роки тому +2

      he literally said might wanna turn down your speakers

    • @NoClicksOnMe
      @NoClicksOnMe 4 роки тому

      @@kilometerbob2662 He literally said it one time five minutes after the video started and playing multiple audio samples at 6db+ louder than his voice.

    • @fourscoreand9884
      @fourscoreand9884 3 роки тому +1

      This comment should be voted up.

  • @KenderWebos
    @KenderWebos 5 місяців тому

  • @theloafdude8304
    @theloafdude8304 5 років тому

    When I get a credit card, I'll donate those noodles

  • @TheDaanDude
    @TheDaanDude 7 років тому

    dude, je krijgt wel noodles van me hoor!

  • @josecutileiro7270
    @josecutileiro7270 Рік тому

    : )

  • @BogdanCichy
    @BogdanCichy 3 роки тому

    :O

  • @tushargupta3236
    @tushargupta3236 4 роки тому

    you go your like subscribe and the comment , will do something when I will have extra noodles