Live data from Hacker News

Show HN: I've built a spectrogram analyzer web app

webfft.net

61–70 of 71 posts

Re: Show HN: I've built a spectrogram analyzer web app

#61

Earlier quoted context omitted.

Unfortunately I think the answer is “we don’t know” we have loads of techniques (ex: band pass filter) and hypotheses (ex: harmonic frequencies and timbre) but we haven’t been able to implement them perfectly which seems to be why deep learning has worked so well. Personally I hypothesize that the reason it’s so hard is that the sources are intermixed sharing frequencies so isolating to certain frequencies doesn’t is…

Speech is pretty well understood - there are two complementary aspects to it, speech production (synthesis) and speech recognition (via the changing frequency components as show up in the spectrogram). When we recognize speech is almost as if we're hearing the way the speaker is articulating words, since what we're recognizing is the changing resonant frequencies ("formants") of the vocal tract corresponding to artic…

Agreed theoretically however if I gave you two spectrograms, would you be able to tell which one is clear speech and which one is garbled? I’d bet we’d be able to come up with one that wouldn’t pass the sniff test.

If you know of any implementations that can look at a spectrogram and say “hey there’s peaks at 150hz, 220hz and 300hz with standard deviations of 5hz, 7hz, and 10hz, decreasing in frequency over time thus this is a deep voice saying ‘ay’” and get it right every time I’d be really interested in seeing it (besides neural networks)

Re: Show HN: I've built a spectrogram analyzer web app

#62
post #5

Can you recommend any good references to begin understanding the Spectrogram ? I work in DL based Noise cancellation - major part of my work involves analyzing spectrograms - I find it very difficult to do my work without having an ability to critically analyze these images. Any help from anybody ?

For human speech: o The tall vertical lines reflect "plosives" - sudden releases of sound energy often at the begining of words from having mouth/airway closed then open, as in the first letter of "put" or "tea" o The high frequencies come from "fricatives" like the first letter of "see" or "free" where air is being passed through the teeth or almost closed lips o The lower frequencies are where most of the recogniza…

Thanks for sharing this! I didn’t know about these terms before. Every consider writing a blog post/tutorial on your knowledge of human speech in spectrograms? This is much more digestible than most of what’s out there

Re: Show HN: I've built a spectrogram analyzer web app

#63
post #37
post #25

Here is a spectrogram of the track, "Look" from the album, "Songs about my Cats" by Venetian Snares. https://imgur.com/sRe6Ypv Aphex twin did something similar, but this is more playful in my opinion.

This is very interesting what was the Aphex Twin’s track with this concept?

https://www.youtube.com/watch?v=wSYAZnQmffg at around 5m30

Re: Show HN: I've built a spectrogram analyzer web app

#64

Earlier quoted context omitted.

Speech is pretty well understood - there are two complementary aspects to it, speech production (synthesis) and speech recognition (via the changing frequency components as show up in the spectrogram). When we recognize speech is almost as if we're hearing the way the speaker is articulating words, since what we're recognizing is the changing resonant frequencies ("formants") of the vocal tract corresponding to artic…

Agreed theoretically however if I gave you two spectrograms, would you be able to tell which one is clear speech and which one is garbled? I’d bet we’d be able to come up with one that wouldn’t pass the sniff test. If you know of any implementations that can look at a spectrogram and say “hey there’s peaks at 150hz, 220hz and 300hz with standard deviations of 5hz, 7hz, and 10hz, decreasing in frequency over time thus…

Maybe an expert linguist (not me) could do a pretty good job of distinguishing noisy speech in most cases, but a neural net should certainly be able to be super-human as this.

Some sources of noise like the constant background hum (e.g. computer fan) are easy to spot though.

Re: Show HN: I've built a spectrogram analyzer web app

#65
post #43
post #25

Here is a spectrogram of the track, "Look" from the album, "Songs about my Cats" by Venetian Snares. https://imgur.com/sRe6Ypv Aphex twin did something similar, but this is more playful in my opinion.

I once (badly) did something similar as a student [1]. Unfortunately it's in Matlab so I can not run it any more. [1] https://jo-m.ch/posts/2015/01/hack-the-spectrum-hide-images-...

I also made something similar using Python a long time ago [1]. It's a extremely simple script so it should still work.

[1] https://github.com/DanielAllepuz/ImageToSound

Re: Show HN: I've built a spectrogram analyzer web app

#67

Izotope, associated with MIT researchers, makes arguably the best such tool for the pro audio industry. Their RX suite is truly miraculous, allowing audio engineers to visualize frequencies in a similar manner, but also offering brush-like tools to do things such as "deleting a dog bark from a guitar take" fairly easily.

Seems like you never saw or used SpectraLayers (commercial tool from Steinberg) or Sonic Visualiser (OSS project). Both have much more advanced visualization capabilities than RX. However, RX definitely has the more advanced "semi-automated" editing / repair features.

Re: Show HN: I've built a spectrogram analyzer web app

#68
post #2

Author here. This is a basic spectrogram visualizer that's mobile friendly. It allows to select regions on the spectrogram and play them separately. There is no grand plan behind this web app: it's just a handy basic tool to capture sounds on your phone and see what they look like.

Hi, I love it. Perhaps we should chat about making it for radio data as well? We could potentially use it for our radar systems.

You can reach me at: ssgh at mm dot st.

Re: Show HN: I've built a spectrogram analyzer web app

#69

Nice - very fast (using WebGPU?). I like the interesting ability to play a "rectangular" (time + frequency limited) section of the audio.

I do have a WebGL-based implementation of FFT, but here I used good old JS. When properly written, it gets translated into really fast machine code, which is even faster than WebAssembly (I tried!). WebGL's problem is the high toll on the CPU--GPU bridge. When you need to transfer a block of audio data from CPU to GPU to perform calculations, you wait. When you need to transfer the FFT data back, you wait. These waits quickly outweight everything else. However on wavelet transforms GPU comes first because you can store some pre-computed FFTs on GPU and reuse them in multiple runs.

Re: Show HN: I've built a spectrogram analyzer web app

#70
post #30
post #11

Earlier quoted context omitted.

Very neat! May I suggest adding a button to switch to log scale for frequency? I love the ability to select and play back just a particular set of frequencies. But voice uses only about ~15% of the screen height [1], so it's hard to play with. [1] https://en.wikipedia.org/wiki/Voice_frequency

You can select an area and zoom into it. Another option is to change sample rate in the config in the top right.

Zooming is not really a way to get what I'm after, because I was trying to hear particular bands one after the other. E.g., trying to listen to one octave after the next. And since the octave relationship isn't linear, I'm thinking a non-linear scale would better match what I was trying to do.
Post reply on HN