Hey Guys
I'm trying to record to a table between two given points (e.g. note on and note off at a given pitch) so that an array will resize the length of time between those points. So far I can only set the array size in advance and then record(using [tabwrite~]) from a given point. Any ideas how I'd record like that?
God Bless
Andrew
_________________________________________________________________
With Windows Live, you can organise, edit, and share your photos.
http://clk.atdmt.com/UKM/go/134665338/direct/01/
Hi,
i think the easiest way would be to write on the disk first (using writesf~), and then read the file to a table (using soundfiler and the "resize" flag). This way the size of the table will be automatically adjusted to match the size of the file. The downside is, you don't have access to the sound during the recording. If you do need access while recording (or if you just don't want to use the HDD) maybe you should prepare a table with the max recording length (according to your system capabilities, taste etc.) and after the recording is done (with a noteoff message for example..) you resize the table to the actual length of the recording by sending a message like the following:
; mytable resize $1
(where $1 is the length of the recording in samples)
and at the same time you prepare the next "big" table for the next recording..
i guess, this is one flexible and economical approach.. but i'm sure there are many ways to do it. just told you what came to me first! sorry if i can't be clear enough right now.. :-)
ciao
2009/9/27 Andrew Faraday jbturgid@hotmail.com
Hey Guys
I'm trying to record to a table between two given points (e.g. note on and note off at a given pitch) so that an array
will resize the length of time between those points. So far I can only set the array size in advance and then record
(using [tabwrite~]) from a given point. Any ideas how I'd record like that?
God Bless
Andrew
Beyond Hotmail - see what else you can do with Windows Live. Find out more. http://clk.atdmt.com/UKM/go/134665375/direct/01/
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
I'm a bit unclear here exactly what you want to do, but for a live looper I made recently, I simply created a large buffer which could be recorded into. While it was recording, I had a counter object recording how many milliseconds worth of sound I had captured, so that when I wanted to loop or access in some other way whatever I had captured, I could translate the ms back to samples and use that as the max value. To loop I used [phasor~] multiplied by the length of the buffer I had used, to granulate I used the last sample as the last possible position. Hope that makes sense, and helps you think of how to deal with your specific problem.
D.
Andrew Faraday wrote:
Hey Guys
I'm trying to record to a table between two given points (e.g. note on and note off at a given pitch) so that an array
will resize the length of time between those points. So far I can only set the array size in advance and then record
(using [tabwrite~]) from a given point. Any ideas how I'd record like that?