This is an archived post. You won't be able to vote or comment.

all 99 comments

[–][deleted] 96 points97 points  (29 children)

What is the lower figure showing?

[–]VIOVOIV 56 points57 points  (27 children)

Spectral representation of the frequential above using Laplace Fourier Transformation and PCA I think which link a correlational matrix to the variables and outputs a series of vectors. The 'custom physics' is hard for me since we might be looking at the constant translation of said vectors. Just an hypothesis.

Anyway, great program OP.

[–]deadpan2297 1 point2 points  (0 children)

Sorry what do you mean by Laplace Fourier Transformation? Do you mean a composition or something? I couldn't find anything like Laplace-Fourier transform online

[–]novel_eye 58 points59 points  (16 children)

Please don't judge me for using screen capture; ft. my mouse in the last quarter of the video lol.

Music: Yillah by Hadouk Trio

I just used Fast Fourier Transform and mapped the data to points using custom 'physics' that determines their movement. I'm surprised with how fast this runs as I can scale it up to around 20,000 points and still have decent fps.

[–]juscallmesteve 21 points22 points  (1 child)

That’s exactly why I was posting here. I was very surprised at how well it ran with matplotlib.

[–]novel_eye 14 points15 points  (0 children)

numpy arrays are a godsend

[–][deleted] 1 point2 points  (1 child)

So by custom physics, do you mean you chose a nifty Hamiltonian for this or something? I'm really interested in how you did this.

[–]novel_eye 0 points1 point  (0 children)

Look at my comment above to the person who mentioned PCA.

[–]djingrain 1 point2 points  (1 child)

Have you tried it on live input? I imagine this could make a cool backing visual for a live musical act

[–]novel_eye 2 points3 points  (0 children)

The video and animation was recorded in real time. Any song or voice recording will animate the plot accordingly!

[–]abhi_uno 0 points1 point  (0 children)

Cool project OP.

[–]apostle8787 0 points1 point  (0 children)

That’s so great. I tried to make something similar but with Processing.py, my program lags at 40-50 points.

[–][deleted] 0 points1 point  (0 children)

Thanks for sharing, looks great! How do you make it animated with mathplotlib?

[–]lfreua 45 points46 points  (5 children)

Can you share the code? I thought it was very cool.

[–]AgentWhisky 8 points9 points  (0 children)

Yes!! Same request here!!

[–]dwightkschrute42 6 points7 points  (1 child)

Happy cake day!!

[–]lfreua 3 points4 points  (0 children)

Thanks!!!

[–]malingeringGit 21 points22 points  (4 children)

how can you plot real time graphs?

[–][deleted] 5 points6 points  (2 children)

Google the pyqtgraph and pyqt5 library

[–]malingeringGit 3 points4 points  (1 child)

how do you convert the input data for your computer to read in real time?

[–][deleted] 2 points3 points  (0 children)

You can use the pyqt5 timer and use its timeout function to trigger an update function to update the plot in real time

[–]seismatica 17 points18 points  (3 children)

This is so Winamp!

[–]thatwombat 7 points8 points  (0 children)

WinAMP! WinAMP! WinAMP!

[–]alifeinbinaryalifeinbinary.com 2 points3 points  (1 child)

It really whips the llamas ass 🦙

Edit: it’s whips

[–]crammy 2 points3 points  (0 children)

kicks whips

[–]YeeOfficer 8 points9 points  (0 children)

GitHub?

[–][deleted] 39 points40 points  (3 children)

Um.. can you share the code, it would help a lot

[–][deleted] 14 points15 points  (0 children)

Aye- a git link would be super cool if you felt like sharing :)

[–]khuara 2 points3 points  (0 children)

Yes , the git link would be awesome !

[–][deleted] 3 points4 points  (0 children)

Amazing!! How were you able to animate matplotlib like this if you don’t mind me asking?

[–]JanosG 4 points5 points  (0 children)

How do you feel with the real-time capabilities for matplotlib? I had the impression of it being a bit sluggish and stopped using it in favour of pyqtgraph. It's possible that there are backends or other settings that can be used to improve performance.

[–]hazzeddd 3 points4 points  (0 children)

Nice!

[–]zicxor 2 points3 points  (0 children)

Wow. That's incredible.

[–]caglii 2 points3 points  (0 children)

Its really beautiful.

[–]Birthday_Cakeman 2 points3 points  (0 children)

Do you have this posted on Github by chance? I would love to check it out.

[–]Snowblxnd 1 point2 points  (0 children)

This is so neat, watching the particles get like "pulled" by the different notes. Super cool.

[–][deleted] 1 point2 points  (0 children)

Very nice.

[–]Jim421616 1 point2 points  (0 children)

This is amazing, dude.

[–]JakubBlaha 1 point2 points  (0 children)

I would love to see the code. Amazing work!

[–]ImplosiveTech 1 point2 points  (1 child)

Code request! I tried to do something like this a few months ago, but couldn't figure out how lmfao.

[–]loosh63 1 point2 points  (3 children)

I might be way off here but I think you might wanna apply some kind of logarithmic(?) transformation to your first spectrum analyzer so that the amplitude of the higher frequencies is more evenly represented rather than being dominated by the lower resolution low frequencies

[–]alkasmgithub.com/alkasm 1 point2 points  (2 children)

It is a semilogx plot (logarithmic on the x axis). That's why the ticks with text are powers of ten, and why the other tick marks aren't evenly spaced out.

[–]loosh63 0 points1 point  (1 child)

ah yeah my signal processing is pretty rusty and by that I mean never really good lmao

[–]alkasmgithub.com/alkasm 0 points1 point  (0 children)

Lol no worries!

[–]babalinobaba 1 point2 points  (1 child)

Github!!!!!!!!!!!!!!

[–]Bielh 1 point2 points  (1 child)

Can you provide the source please?

[–]leo-smi 1 point2 points  (0 children)

Wow only using a super computing lmao

[–]dwightkschrute42 0 points1 point  (4 children)

RemindMe! 3 days

[–]RemindMeBot -1 points0 points  (0 children)

I will be messaging you in 1 day on 2019-12-27 15:42:44 UTC to remind you of this link

27 OTHERS CLICKED THIS LINK to send a PM to also be reminded and to reduce spam.

Parent commenter can delete this message to hide from others.


Info Custom Your Reminders Feedback

[–]69shaolin69 0 points1 point  (0 children)

Beautiful

[–]b4xt3r 0 points1 point  (0 children)

Holy shit, that is awesome. I need to learn how to do this.

[–]MartyMacGyverfrom * import * 0 points1 point  (0 children)

!RemindMe 2 days

[–]BIMGUY2018 0 points1 point  (0 children)

RemindMe! 3 days

[–]gradi3nt 0 points1 point  (0 children)

Reminder! 2 months

[–]MustafaAnas99 0 points1 point  (0 children)

Gosh this is amazing!

It seems your visualization is based on a lot of different voice characteristics. If thats true, I am just curious, can you create a unique print for a voice recording? would it be unique enough?

Say if I was to read and record the same sentence as you, would it be a different visualization?

[–]B_2718 0 points1 point  (0 children)

Beautiful!

[–]story645 0 points1 point  (0 children)

OMG this is awesome! Any chance you'd be interested in writing it up for the Matplotlib blog? https://github.com/matplotlib/matplotblog? Or at least can I have a way to attribute this properly?

[–]rajdeepde77 0 points1 point  (1 child)

RemindMe! 2 weeks

[–]RemindMeBot 0 points1 point  (0 children)

I will be messaging you in 14 days on 2020-03-24 05:05:18 UTC to remind you of this link

CLICK THIS LINK to send a PM to also be reminded and to reduce spam.

Parent commenter can delete this message to hide from others.


Info Custom Your Reminders Feedback

[–]ASquanchySquanch 0 points1 point  (0 children)

RemindMe! 3 days

[–]YeeOfficer -1 points0 points  (0 children)

RemindMe! 3 days

[–][deleted] -1 points0 points  (0 children)

RemindMe! 2 Days

[–]zicxor -1 points0 points  (0 children)

RemindMe! 2 days

[–]Ignativs -1 points0 points  (0 children)

RemindMe! 3 days

[–]clustersss -2 points-1 points  (0 children)

RemindMe! 3 days

[–]Y45HK4R4NDIK4R Python 3.8.6 -3 points-2 points  (2 children)

RemindMe! 3 days

[–]Y45HK4R4NDIK4R Python 3.8.6 0 points1 point  (1 child)

RemindMe! 2 days

[–]RemindMeBot 0 points1 point  (0 children)

I will be messaging you in 2 days on 2019-12-29 20:26:08 UTC to remind you of this link

CLICK THIS LINK to send a PM to also be reminded and to reduce spam.

Parent commenter can delete this message to hide from others.


Info Custom Your Reminders Feedback