| I am not sure I understand your question, but here it goes anyway.
Each frame is generated processed once a new frame appears at
the input. This is dictated by the frame rate, which is determined by
the analysis hopsize. For instance, say we have a hopsize of 256
frames and a window size of 1024 (4 overlaps). A full frame of
1024 samples is produced every 256 samples of time-domain input
(audio rate), it does not matter what the k-rate is, but of course
the f-sig opcode process function is called every k-period, sometimes
producing new output (when there is a new frame at its input), sometimes
not producing anything (so of course the k-period cannot be bigger
than the hopsize, otherwise we would drop frames). If say k-rate is
64 samples, then a new frame is produced/consumed every 4 k-periods
exactly. But there is no need for hopsize to be an exact multiple of
the k-rate, because frames will get processed as they become available.
Victor
----- Original Message -----
From: "Michael Gogins"
To: "Csound Developers"
Sent: Thursday, May 15, 2008 10:13 PM
Subject: [Cs-dev] Linear algebra and fsigs - attention Victor Lazzarini
>I am in the midst of implementing general-purpose linear algebra opcodes
>for Csound in the orchestra language.
>
> These involve creating real and complex vectors and matrices, getting and
> setting elements, elementwise arithmetic, various norms, trace,
> determinant, array-array arithmetic (e.g. dot product), inverse, LU
> decomposition, QR decomposition, and QR-based eigenvalue and eigenvector
> decomposition. Creation happens only at i-rate, all other operations can
> happen at i-rate or k-rate. There are conversions to and from a-rate
> signals, function tables, and f-sigs.
>
> I am about half-way done with this work.
>
> I have a question for Victor and other developers of the PVS opcodes. I
> see from the documentation that the pvs opcodes actually fire not at
> k-rate, but a rate determined by the FFT width and windowed overlap.
>
> It does not make sense to implement this for the linear algebra opcodes,
> but I need to understand how to make the array operations synchronize with
> the f-sig variables. Is it ever the case that the f-sigs change at the
> same rate as k-rate, or an integral multiple or divisor of k-rate? If so,
> what is the governing relation so that a user of linear algebra with f-sig
> variables can remain synchronized with them? If there is an integral
> ratio between the f-sig rate and k-rate, then the user can program linear
> algebra operations at that ratio, e.g. if an f-sig changes 1/2 as often as
> k-rate, then the user can operate on that f-sig only every other k-period
> (obviously, it has to be just the right period!).
>
> Does doing this make sense? Does one fsig ever contain more than one
> window's worth of data?
>
> Thanks,
> Mike
>
>
>
> -------------------------------------------------------------------------
> This SF.net email is sponsored by: Microsoft
> Defy all challenges. Microsoft(R) Visual Studio 2008.
> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
> _______________________________________________
> Csound-devel mailing list
> Csound-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/csound-devel
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Csound-devel mailing list
Csound-devel@lists.sourceforge.net |