My solution was to have more than one buffer (e.g, 2), but if you're doing data storage and analysis this is a real pain, because you have some lists of data (e.g. from bonk|) you may want to access beginning at the end of one and continuing into another. The solution is to have a meta-table, storing the start and end-points of the tables in terms of data elements, and if you start in one and extend into aqnothe then the index is wrapped.
E.g.:
254 to 286, table 1 extends to 263.
table number is 1, so meta-table entry 1 always reads 263
(last entry of table 1).
> output of meta-table for one is stored as right inlet of > object, routing values greater than 263 to table 2, and taking 264 away from the table index. The sequence is read using kalashinkov object, so overlap is
not noticeable.
With windowed audio, there has to be an unnoticable break between the two tables, but >~ and <~ can be fed to *~ objects (right inlet) to accomplish this.
Will try to put a patch together, when my computer gets back here :)
Lone Shark "Aviation" out now on http://www.pyramidtransmissions.comhttp://www.myspace.com/sharktracks----- Original Message ----
From: Tim Flood <timflood23@hotmail.com>
To: pd-list@iem.at
Sent: Thursday, 15 November, 2007 8:36:38 PM
Subject: [PD] Loop record using arrays?
Hello Everyone-
I am working on a patch that uses several short sample buffers to record live audio input. By default, recording stops once the end of the buffer is reached. But what if you want to do loop recording in which new audio data overwrites the old data on each pass? Is this possible using the standard vanilla pd objects [tabread4~], [tabwrite~] [array]?
Thank you in advance,
-Tim
Windows Live Hotmail and Microsoft Office Outlook – together at last.
Get it now!
with unlimited storage.