15 Aug 2000 aigeek   » (Journeyer)

jmelesky: Markov chains are easy, but probabilistic grammars are more accurate. You can even learn them from source data, if you have a bunch of "grammatical" source in a useful format.

raph wrote about waterfall:

Very pretty stuff, but the fact that the spectrum display is linear, rather than logarithmic, really bothers me.

It's not completely linear, but it's close and it bothers me too (and I wrote it). The problem is that XMMS gives crappy frequency resolution to vis plugins (43Hz per linear band). If waterfall used a log2 scale like your ears do, there would only be ten bands. I don't think that would look very good. Instead it uses 75 bands, but doing that on a log scale gets pretty screwed up with round off error. I copied the band sizes from the XMMS spectrum analyzer, but they're not ideal. The first 59 bands (up to ~2.5kHz) are 1:1 linear, and the rest are on a log scale.

The best looking way to fix it would be to have have waterfall do its own FFT at greater resolution. This would slow it down a bit.

The other solution is to use a real log scale, but with fewer bands. The downside to this is that the low freqs will still be squished together (due to poor resolution), though the high freqs will be squished even more, as they should be. I should probably just make this run-time configurable, but it's easy enough to change in the source if you care enough to recompile. -DFEWBANDS will drop it from 75 to 20, or you can roll your own (waterfall.h line 28, waterfall.c lines 760-768).

Latest blog entries     Older blog entries

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!