3 ms·
First I thought the script just made things bounce at intervals, but then I noticed the different boxes for base, mid and high range sounds actually follow the
by gorg75 9y ago
First I thought the script just made things bounce at intervals, but then I noticed the different boxes for base, mid and high range sounds actually follow the changes in the music. How do they do this? - I guess I should read the source code :)
- mhasbini 9y agoIt uses AnalyserNode[0] to get frequency data and moves the elements based on the frequency ratio[1][2]. [0] https://developer.mozilla.org/en-US/docs/Web/API/AnalyserNode/getByteFrequencyData https://developer.mozilla.org/en-US/docs/Web/API/AnalyserNod... [1] https://github.com/Okazari/Rythm.js/blob/4693385a2d854f0c5f1a98bbd22dc364464a691a/src/Analyser.js#L20-L32 https://github.com/Okazari/Rythm.js/blob/4693385a2d854f0c5f1... [2] https://github.com/Okazari/Rythm.js/blob/c054c475e6e758878db30381674f1b0623470342/src/rythm.js#L45-L54 https://github.com/Okazari/Rythm.js/blob/c054c475e6e758878db... -- edit: formatting
- Okazari 9y agoThe other answer show exactly the good code lines. To describe it fast : I keep an history of frequency (size customable) and compare the subscribed frequency range to its relative history max / min value. I get a percentage out of it that i give to the dance function associated to this specific class.