Csound Csound-dev Csound-tekno Search About

[Csnd] off-line rendering?

Date2014-03-07 11:01
FromRory Walsh
Subject[Csnd] off-line rendering?
I'm not sure if off-line rendering is the correct term for this but let me explain what I'm trying to do. I would like to process the entire contents of a function table in one go at i-time. At present I can do something like this to affect the gain:

instr 3
;reduce volume by accessing and reducing each sample in the table
iCnt init 0
iLen = ftlen(1)
until iCnt==iLen do
 iR tab_i iCnt, 1
 tabw_i iR*p4, iCnt, 1 
 iCnt=iCnt+1
enduntil
endin

I go through the entire table and modify each sample one by one, simple and very fast. But say I wanted to pass each sample through an signal modifier and process an entire table at i-time. Is that possible?  


Date2014-03-07 13:45
FromRory Walsh
Subject[Csnd] Re: off-line rendering?
I thought if I created a UDO and set ksmps to 1 that I might be able to do this, but that doesn't seem to work either..

opcode processEntireTable, i, i
i1 xin
setksmps 1
kCnt init 0
kLen = ftlen(1)
until kCnt==kLen do
 aR tab kCnt, 1
 aRev reverb aR, 30
 tabw aRev, kCnt, 1 
 kCnt=kCnt+1
enduntil
xout i1
endop




On 7 March 2014 11:01, Rory Walsh <rorywalsh@ear.ie> wrote:
I'm not sure if off-line rendering is the correct term for this but let me explain what I'm trying to do. I would like to process the entire contents of a function table in one go at i-time. At present I can do something like this to affect the gain:

instr 3
;reduce volume by accessing and reducing each sample in the table
iCnt init 0
iLen = ftlen(1)
until iCnt==iLen do
 iR tab_i iCnt, 1
 tabw_i iR*p4, iCnt, 1 
 iCnt=iCnt+1
enduntil
endin

I go through the entire table and modify each sample one by one, simple and very fast. But say I wanted to pass each sample through an signal modifier and process an entire table at i-time. Is that possible?  



Date2014-03-07 13:58
FromRory Walsh
Subject[Csnd] Re: off-line rendering?
On seconds thoughts shouldn't I set ksmps to be the same size as the table?


On 7 March 2014 13:45, Rory Walsh <rorywalsh@ear.ie> wrote:
I thought if I created a UDO and set ksmps to 1 that I might be able to do this, but that doesn't seem to work either..

opcode processEntireTable, i, i
i1 xin
setksmps 1
kCnt init 0
kLen = ftlen(1)
until kCnt==kLen do
 aR tab kCnt, 1
 aRev reverb aR, 30
 tabw aRev, kCnt, 1 
 kCnt=kCnt+1
enduntil
xout i1
endop




On 7 March 2014 11:01, Rory Walsh <rorywalsh@ear.ie> wrote:
I'm not sure if off-line rendering is the correct term for this but let me explain what I'm trying to do. I would like to process the entire contents of a function table in one go at i-time. At present I can do something like this to affect the gain:

instr 3
;reduce volume by accessing and reducing each sample in the table
iCnt init 0
iLen = ftlen(1)
until iCnt==iLen do
 iR tab_i iCnt, 1
 tabw_i iR*p4, iCnt, 1 
 iCnt=iCnt+1
enduntil
endin

I go through the entire table and modify each sample one by one, simple and very fast. But say I wanted to pass each sample through an signal modifier and process an entire table at i-time. Is that possible?