Csound Csound-dev Csound-tekno Search About

Re: [Cs-dev] Linear algebra and fsigs - attention Victor Lazzarini

Date2008-05-15 22:39
Fromvictor
SubjectRe: [Cs-dev] Linear algebra and fsigs - attention Victor Lazzarini
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