-- | Linear Predictive Coding (LPC) Resynthesis module CsoundExpr.Opcodes.Spectral.Lpcresyn (lpfreson, lpinterp, lpread, lpreson, lpslot) where import CsoundExpr.Base.Types import CsoundExpr.Base.MultiOut import CsoundExpr.Base.SideEffect import CsoundExpr.Base.UserDefined -- | * opcode : lpfreson -- -- -- * syntax : -- -- > ares lpfreson asig, kfrqratio -- -- -- * description : -- -- Resynthesises a signal from the data passed internally by a -- previous lpread, applying formant shifting. -- -- -- * url : lpfreson :: (K k0) => Arate -> k0 -> Arate lpfreson a0sig k1frqratio = opcode "lpfreson" args where args = [to a0sig, to k1frqratio] -- | * opcode : lpinterp -- -- -- * syntax : -- -- > lpinterp islot1, islot2, kmix -- -- -- * description : -- -- Computes a new set of poles from the interpolation between two -- analysis. -- -- -- * url : lpinterp :: (K k0) => Irate -> Irate -> k0 -> SignalOut lpinterp i0slot1 i1slot2 k2mix = outOpcode "lpinterp" args where args = [to i0slot1, to i1slot2, to k2mix] -- | * opcode : lpread -- -- -- * syntax : -- -- > krmsr, krmso, kerr, kcps lpread ktimpnt, ifilcod [, inpoles] [, ifrmrate] -- -- -- * description : -- -- Reads a control file of time-ordered information frames. -- -- -- * url : lpread :: (K k0) => [Irate] -> k0 -> String -> MultiOut lpread i0init k1timpnt s2file = opcode "lpread" args where args = [to k1timpnt, to s2file] ++ map to i0init -- | * opcode : lpreson -- -- -- * syntax : -- -- > ares lpreson asig -- -- -- * description : -- -- Resynthesises a signal from the data passed internally by a -- previous lpread. -- -- -- * url : lpreson :: Arate -> Arate lpreson a0sig = opcode "lpreson" args where args = [to a0sig] -- | * opcode : lpslot -- -- -- * syntax : -- -- > lpslot islot -- -- -- * description : -- -- Selects the slot to be use by further lp opcodes. -- -- -- * url : lpslot :: Irate -> SignalOut lpslot i0slot = outOpcode "lpslot" args where args = [to i0slot]