Re: [music-dsp] What happened to that FPGA for DSP idea

2017-09-27 Thread raito
Hi everyone,

Some of this stuff looks an awful lot like the development of computer
graphics technology.

First, there were fixed pipeline software renderers.

Then, as the software renderers were starting to have programmable
pipelines, dedicated hardware came into use.
But the hardware used the old fixed pipelines.

Then the hardware matured, and we're back to programmable pielines.

Seems to me that DSP has had a lot of the same trajectory. Might be
something to be learned there.

Neil Gilmore
ri...@raito.com

> Glad to see there's good interest in the subject, I'm sure it will become
> more important
> with time, because of the traditional computer architectures being
> relatively ineffective
> for a lot of stuff FPGAs can do,
>
> Now, I've put Vivado high level design (free) on the fastest computer I
> use, even on SSD
> for testing it, and looked at the examples some more to "get it". There's
> a lotto get
> still, even simple things like making a C function with a array lookup,
> and it's clear the
> sw is still being built up, for instance such C function will work, and
> can be pipelined
> to a 2-delay, 1 repeat cycle lookup simply by using traditional C, but as
> soon as I
> changed the example's source code from "256" short array to any other
> memory size, the
> implementation would take like 256 or even 1000 clock cycles :) .
>
> Also, I'm feeling like looking a bit at stuff that (out of necessity)
> interested me as a
> student, like does it make a difference to write a standard formula, like
> exp(x)sin(x)
> with separate function blocks for the two library computations. In single
> precision
> floating point a design comes through the C-to-verilog+dedicated-blocks
> easily enough
> (though it takes a bit longer than simpler examples), and fits my small
> Zynq 7010, but now
> it would require a little lower clock than 100MHz (which never happened
> with the other,
> even more complicated examples, which usually could run higher).
>
> I had hoped to put my Bwise->Maxima->Fortran->C wave form formulas
> straight through the
> compiler , which is like really big to try out, and that's hopeless unless
> I make
> intelligent coprocessors for the basic function elements and somehow would
> make my own
> connections and schedules. It's still cool though that more or less these
> chips (mine was
> just a bit too small for this software version's output) I could run
> double precision
> trigonometric functions faster than a 3GHz I7 with 4 cores running could
> keep up with,
> using the same C code (if I didn't err in the data somewhere, but I don't
> think so).
>
> T.
> ___
> dupswapdrop: music-dsp mailing list
> music-dsp@music.columbia.edu
> https://lists.columbia.edu/mailman/listinfo/music-dsp
>
>


___
dupswapdrop: music-dsp mailing list
music-dsp@music.columbia.edu
https://lists.columbia.edu/mailman/listinfo/music-dsp



[music-dsp] Reverb, magic numbers and random generators

2017-09-27 Thread gm


I have this idée fixe that a reverb bears some resemblance with some 
types of random number generators especially the lagged Fibonacci generator.


Consider the simplified model reverb block


 +-> [AP Diffusor AP1] -> [AP Diffusor Ap2] -> [Delay D] ->
 |  |
 -<--


and the (lagged) fibonacci generator

xn = xn-j + xn-k (mod m)

The delay and feedback is similar to a modulus operation (wrapping) in 
that that
the signal is "folded", and creates similar kinds of patterns if you 
regard the

delay length as a period.
(convolution is called "folding" in Germand btw)

For instance, if the Delay of the allpass diffusor length is set to 0.6 
times the delay length
you will get an impulse pattern in the period that is related to the 
pattern of the operation

xn = xn-1 + 0.6 (mod 1) if you graph that on a tile.

And the quest in reverb designing is to find relationhips for the AP Delays
that result in a smooth, even and quasirandom impulse responses.
A good test is the autocorrelation function wich should ideally be an 
impulse on a uniform noise floor.


So my idea was to relate the delay time D to m and set the AP Delays to 
D*(Number/m),

where Number is the suggested numbers j and k for the fibonacci generator.

The results however were mixed, and I cant say they were better than 
setting the

times to the arbitray values I have been using before.
(Which were based on some crude assumptions about distributing the 
initial impulse as fast as possible, fine tuning per ear and rational 
coprime aproximations for voodoo).
The results were not too bad either, so they are different from random 
cause the numbers Number/m
have certain values and their values are actually somewhat similar to 
the values I was using.


Any ideas on that?
Does any of this make sense?
Suggestions?
Improvements?
How do you determin your diffusion delay times?
What would be ideal AP delay time ratios for the simplified model reverb 
above?




















___
dupswapdrop: music-dsp mailing list
music-dsp@music.columbia.edu
https://lists.columbia.edu/mailman/listinfo/music-dsp