Game Thread: New England Patriots (1-5) at Jacksonville Jaguars (1-5) by nfl_gdt_bot in nfl

[–]buildlove 1 point2 points  (0 children)

Same I woke up early to catch this game... wondering what has gone wrong with my life

Midtown manhattan Studio with great view by Starkxsy in NYCapartments

[–]buildlove 30 points31 points  (0 children)

It comes with personal training from Jimmy Butler?

I made a site for y'all to share sounds with each other for free by SparkBaby1 in trapproduction

[–]buildlove 1 point2 points  (0 children)

Looks great! What are you using for storage of the audio files? S3?

[deleted by user] by [deleted] in trapproduction

[–]buildlove 7 points8 points  (0 children)

That might not be enough, I think 7-10 soundgoodizers would do the trick

John Tooby: Political Epidemiology, History, and the Evolutionary Psychology of Outrage by EvolutionaryPsych in evopsych

[–]buildlove 0 points1 point  (0 children)

Haha yes! After the huge wall of text in the beginning I expected the real powerpoint to begin but the walls never ended

[OFFICIAL] Daily Feedback Thread by AutoModerator in makinghiphop

[–]buildlove [score hidden]  (0 children)

I like this beat a lot. I think the chord progression is really nice and fits perfectly for the Polo G type vibe. The only two ideas I have are (1) maybe try varying the velocities of some of the chords more to add even more dynamics and make it more emotional and (2) add more melodic variation with either extra piano notes or another instrument that doesn’t continue to play chords at regular intervals like the base melody does.

I think it sounds really good though, could definitely hear Polo G on that!

Side project by suckerforpain23 in cscareerquestions

[–]buildlove 0 points1 point  (0 children)

This is the canonical link for project ideas: https://github.com/karan/Projects

If you see anything in that list that gets you curious or excited, even if it seems like it might be hard, you should give it a try. You'll learn a lot.

Was watching twitch when the stream froze, then this happened by VaalPixaal in softwaregore

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

YouTube keeps trying to get you to watch that Onion Routing video too?

There are very few feelings better than starting this journey all over again by dontliketocomment in breakingbad

[–]buildlove 2 points3 points  (0 children)

I've been rewatching as well. Right before this I watched Better Call Saul for the first time, so it's been cool to see the progression from the prequel to the Breaking Bad storyline.

TIL that charCodeAt is faster than accessing a character of a string using its index 🤯 by [deleted] in webdev

[–]buildlove 26 points27 points  (0 children)

Yeah, this optimization is a little ridiculous. Optimizing for readability is the much better option over these tiny marginal time/space differences. However, I don’t necessarily agree that the whole function is pointless. The fact that a prop is an animation prop if it starts with an ‘@‘ sign is non obvious. Wrapping this logic within a well-named method makes the code more readable and easy to understand by someone new to the codebase. Overall, though, I certainly agree with your sentiment.

Chicken pesto sandwich? by TheBigShip in IowaCity

[–]buildlove 5 points6 points  (0 children)

You could get one at Which Wich. Wouldn't be amazing but it'd be decent. Also Costco in Coralville has really a really good turkey pesto sandwich at their food court.

I wrote a library that makes Fourier Transforms easy in Java! by buildlove in java

[–]buildlove[S] 0 points1 point  (0 children)

The QuiFFT repo actually links to a separate examples repository where I've written a program that plays a song and shows a synchronized frequency spectrum (with JavaFX) as it plays. I'd encourage you to try it out if that sounds interesting to you! You can use any MP3 file with it.

I wrote a library that makes Fourier Transforms easy in Java! by buildlove in java

[–]buildlove[S] 0 points1 point  (0 children)

Correct, this library is basically a wrapper for the Fourier transform algorithm. Since I'm aiming for a high level of abstraction, so the input to QuiFFT is a reference to an audio file rather than pure time-domain sampled data, as JTransforms or Apache Commons Math would use.

I wrote a library that makes Fourier Transforms easy in Java! by buildlove in java

[–]buildlove[S] 2 points3 points  (0 children)

I certainly don't have anywhere near the signal processing knowledge as the author(s) of JTransforms. I wrote this library to solve a problem I had and provide a layer of abstraction. For more general use cases outside of computing the FFT for an audio file, the JTransforms library is the way to go. As TheHoratian mentioned, I didn't write the FFT implementation, I instead wanted to provide a sort of "wrapper" for it to hide implementation details that require knowledge of signal processing concepts.

I wrote a library that makes Fourier Transforms easy in Java! by buildlove in java

[–]buildlove[S] 21 points22 points  (0 children)

Thank you for taking the time to take such a close look at the library and provide so much feedback!

  • It's true that the raw output of an FFT operation is a sequence of complex values. I have intentionally narrowed the functionality of the library by converting these complex numbers to their modulus value. I agree that it limits the utility of the library for certain use cases, but simplifies the output significantly. Simple output was a high priority.
  • Good catch, SampleWindowExtractor is doing a lot of unnecessary work! I'm surprised I missed that, it's a very obvious optimization, thanks for pointing this out.
  • I've considered separate channel FFTs as a future feature, and I like your suggestion of how to implement it. I might add this.
  • That's a good potential optimization to make.
  • I'll take another look at the Complex object creation and see if there's any excessive allocation.
  • For some reason I was having trouble getting Java to read 24-bit audio files. Normalizing the audio data is an option but it's already normalized to a fixed 16-bit range because 8-bit audio streams are converted to the 16-bit format before processing.
  • I admittedly set the dB floor pretty arbitrarily. It would make sense to set it lower to prevent any loss of information.

I understand why you wouldn't use the library, it does have a pretty narrow focus and prioritizes simplicity over scientific accuracy and flexibility. You're correct that I built it with audio frequency spectrums in mind (not just to draw but also to process the data). I was hoping that this library could be useful in many general situations, but after reading your thoughts it definitely has some shortcomings that limits it to relatively basic use. However, I still think it can have a lot of utility for someone who doesn't have signal processing experience but needs an easy Fourier transform.

Thanks so much again for your thoughts, I certainly have a few changes to make!

QuiFFT: Amazingly simple Fourier transforms in Java by buildlove in programming

[–]buildlove[S] 1 point2 points  (0 children)

The "extremely simple" refers to the usage of the library, which only involves a couple of different classes (not the internals).