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).