Re: [PD] Looping

2007-01-30 Thread Thomas Mayer
PORRES wrote:
> hi there, I edited a nice sample to play looped in od, but it clicks a
lot, i dont know why... anyone ever had this problem and has any ideas
on overcoming it?

What do you use for looping? [tabplay~ sample_array] or
[tabread4~ sample_array]? If using the latter object, do you use [line],
[line~] or [vline~] for reading the sample?

Please be more specific, maybe you can attach your patch.

cu Thomas
-- 
"Prisons are needed only to provide the illusion that courts and police
are effective. They're a kind of job insurance."
(Leto II. in: Frank Herbert, God Emperor of Dune)
http://thomas.dergrossebruder.org/

___
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Looping

2007-01-30 Thread PORRES
actually i just adapted from B08.sampler.loop doc example (it uses tabread~)... 
which in fact alerts about discontinuity problems, and I was wondering if there 
was another way around... cheers

Thomas Mayer <[EMAIL PROTECTED]> wrote: PORRES wrote:
> hi there, I edited a nice sample to play looped in od, but it clicks a
lot, i dont know why... anyone ever had this problem and has any ideas
on overcoming it?

What do you use for looping? [tabplay~ sample_array] or
[tabread4~ sample_array]? If using the latter object, do you use [line],
[line~] or [vline~] for reading the sample?

Please be more specific, maybe you can attach your patch.

cu Thomas
-- 
"Prisons are needed only to provide the illusion that courts and police
are effective. They're a kind of job insurance."
(Leto II. in: Frank Herbert, God Emperor of Dune)
http://thomas.dergrossebruder.org/


 
-
Sucker-punch spam with award-winning protection.
 Try the free Yahoo! Mail Beta.___
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Looping

2007-01-30 Thread Thomas Mayer
PORRES wrote:
> actually i just adapted from B08.sampler.loop doc example (it uses 
> tabread~)... which in fact alerts about discontinuity problems, and I was 
> wondering if there was another way around... cheers

Have a look at B09.sampler.loop.smooth for an easy way to avoid this
behaviour. If you want other envelopes, there are other means to build
those, e.g. using [envgen].

cu Thomas
-- 
"Prisons are needed only to provide the illusion that courts and police
are effective. They're a kind of job insurance."
(Leto II. in: Frank Herbert, God Emperor of Dune)
http://thomas.dergrossebruder.org/

___
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Looping

2007-01-30 Thread PORRES
the problem with B09 is that it cuts too much information from the sample... I 
need it to be constantly loud when looping around! Got it?

Thanks a bunch.
Cheers
Alex

Thomas Mayer <[EMAIL PROTECTED]> wrote: PORRES wrote:
> actually i just adapted from B08.sampler.loop doc example (it uses 
> tabread~)... which in fact alerts about discontinuity problems, and I was 
> wondering if there was another way around... cheers

Have a look at B09.sampler.loop.smooth for an easy way to avoid this
behaviour. If you want other envelopes, there are other means to build
those, e.g. using [envgen].

cu Thomas
-- 
"Prisons are needed only to provide the illusion that courts and police
are effective. They're a kind of job insurance."
(Leto II. in: Frank Herbert, God Emperor of Dune)
http://thomas.dergrossebruder.org/

___
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


 
-
Don't get soaked.  Take a quick peak at the forecast 
 with theYahoo! Search weather shortcut.___
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Looping

2007-01-30 Thread Thomas Mayer
PORRES wrote:
> the problem with B09 is that it cuts too much information from the sample... 
> I need it to be constantly loud when looping around! Got it?

If you have the zexy externals installed, then you can try using
[>~ 0.001] after the [cos~] object in B09. The output will be 1, if
greater than 0.001, 0 for smaller values. So, basically, it will cut off
small portions of the beginning and end of the samples.

cu Thomas
-- 
"Prisons are needed only to provide the illusion that courts and police
are effective. They're a kind of job insurance."
(Leto II. in: Frank Herbert, God Emperor of Dune)
http://thomas.dergrossebruder.org/

___
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Looping

2007-01-30 Thread Kyle Klipowicz

Either that, or you could even create your own table with the desired
envelope and send the phasor~ output to a tabread4~ that reads it ,
instead of using cos~ shenanigans.

~kyle

On 1/30/07, Thomas Mayer <[EMAIL PROTECTED]> wrote:

PORRES wrote:
> the problem with B09 is that it cuts too much information from the sample... 
I need it to be constantly loud when looping around! Got it?

If you have the zexy externals installed, then you can try using
[>~ 0.001] after the [cos~] object in B09. The output will be 1, if
greater than 0.001, 0 for smaller values. So, basically, it will cut off
small portions of the beginning and end of the samples.

cu Thomas
--
"Prisons are needed only to provide the illusion that courts and police
are effective. They're a kind of job insurance."
(Leto II. in: Frank Herbert, God Emperor of Dune)
http://thomas.dergrossebruder.org/

___
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list




--

http://theradioproject.com
http://perhapsidid.blogspot.com

(()()()(()))()()())(
(())(())()(((
))(__
_())(()))___
(((000)))oOO

___
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Looping

2007-02-02 Thread PORRES
hi there, I tried the object from zexy, and it did cut a tiny bit of the end, 
anyway, that actually creates a harder clicking, as for enveloping it, I wonder 
if I dont have to envelope it at all, because I want to loop it and keep it 
constantly loud... like a sinthesiser wave form table.

cheers
alex

Kyle Klipowicz <[EMAIL PROTECTED]> wrote: Either that, or you could even create 
your own table with the desired
envelope and send the phasor~ output to a tabread4~ that reads it ,
instead of using cos~ shenanigans.

~kyle

On 1/30/07, Thomas Mayer  wrote:
> PORRES wrote:
> > the problem with B09 is that it cuts too much information from the 
> > sample... I need it to be constantly loud when looping around! Got it?
>
> If you have the zexy externals installed, then you can try using
> [>~ 0.001] after the [cos~] object in B09. The output will be 1, if
> greater than 0.001, 0 for smaller values. So, basically, it will cut off
> small portions of the beginning and end of the samples.
>
> cu Thomas
> --
> "Prisons are needed only to provide the illusion that courts and police
> are effective. They're a kind of job insurance."
> (Leto II. in: Frank Herbert, God Emperor of Dune)
> http://thomas.dergrossebruder.org/
>
> ___
> PD-list@iem.at mailing list
> UNSUBSCRIBE and account-management -> 
> http://lists.puredata.info/listinfo/pd-list
>


-- 

http://theradioproject.com
http://perhapsidid.blogspot.com

(()()()(()))()()())(
(())(())()(((
))(__
_())(()))___
(((000)))oOO

___
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


 
-
Any questions?  Get answers on any topic at Yahoo! Answers. Try it now.___
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] looping a list

2007-12-19 Thread Derek Holzer
The textfile, coll, pool, and iem_matrix objects are all good places to 
start looking I personally use [coll] for storing/retrieving file 
names by line number. Plus some kind of counter structure, with a [mod] 
equivalent to the number of symbols in your list, would allow looping of 
the line numbers.

[playlist] would be an option as well, if all your files are in the same 
directory.

d.

altern wrote:
> hi
> 
> sometimes i get stucked on easy things like this while using PD, i guess 
> because my head is too used to text programming...
> 
> I need to loop a list of symbols. I have an arbitrary length list like
> |hi hola kaixo moi(
> 
> and i need to be able to get the individual items to loop it.
> 
> The idea is that given a list with sound/video files names, to be able 
> to jump from one to the next when the prev has ended, and maybe come 
> back to the first when all are played.
> 
> i know this must be absolutely trivial but i just dont know where to 
> start from. I havent done much work with lists in PD so far.
> 
> thanks
> 
> enrike
> 
> ___
> PD-list@iem.at mailing list
> UNSUBSCRIBE and account-management -> 
> http://lists.puredata.info/listinfo/pd-list
> 

-- 
derek holzer ::: http://www.umatic.nl ::: http://blog.myspace.com/macumbista
---Oblique Strategy # 63:
"Don't break the silence"

___
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] looping a list

2007-12-19 Thread altern
thanks!, [coll] does what I needed

enrike

Derek Holzer(e)k dio:
> The textfile, coll, pool, and iem_matrix objects are all good places to 
> start looking I personally use [coll] for storing/retrieving file 
> names by line number. Plus some kind of counter structure, with a [mod] 
> equivalent to the number of symbols in your list, would allow looping of 
> the line numbers.
> 
> [playlist] would be an option as well, if all your files are in the same 
> directory.
> 
> d.
> 
> altern wrote:
>> hi
>>
>> sometimes i get stucked on easy things like this while using PD, i 
>> guess because my head is too used to text programming...
>>
>> I need to loop a list of symbols. I have an arbitrary length list like
>> |hi hola kaixo moi(
>>
>> and i need to be able to get the individual items to loop it.
>>
>> The idea is that given a list with sound/video files names, to be able 
>> to jump from one to the next when the prev has ended, and maybe come 
>> back to the first when all are played.
>>
>> i know this must be absolutely trivial but i just dont know where to 
>> start from. I havent done much work with lists in PD so far.
>>
>> thanks
>>
>> enrike
>>
>> ___
>> PD-list@iem.at mailing list
>> UNSUBSCRIBE and account-management -> 
>> http://lists.puredata.info/listinfo/pd-list
>>
> 


___
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] looping a list

2007-12-19 Thread Frank Barknecht
Hallo,
altern hat gesagt: // altern wrote:

> sometimes i get stucked on easy things like this while using PD, i guess 
> because my head is too used to text programming...
> 
> I need to loop a list of symbols. I have an arbitrary length list like
> |hi hola kaixo moi(
> 
> and i need to be able to get the individual items to loop it.
> 
> The idea is that given a list with sound/video files names, to be able 
> to jump from one to the next when the prev has ended, and maybe come 
> back to the first when all are played.

The [list]-abs collection has several objects that would do this, like
[list-dripslow], or [list-seek]. These are abstractions so you could
study how it's done. But you could also use [textfile] with [until]. For a
ready-made abstraction, see attached "ezmenu". Use a counter in front
of it to scroll back and forth.

Ciao
-- 
 Frank Barknecht _ __footils.org__


ezmenu.pd
Description: application/puredata


ezmenu-help.pd
Description: application/puredata
___
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] looping a list

2007-12-19 Thread Frank Barknecht
Hallo,

oops, forgot example txt-file for ezmenu. Attached again.

Ciao
-- 
 Frank Barknecht _ __footils.org__


ezmenu-help.pd
Description: application/puredata


ezmenu.pd
Description: application/puredata
prime
retrograde
inversion
retro-inversion
sequence
series
alea
rota
___
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Looping samples with tabread4~

2007-05-16 Thread Kevin McCoy

If you are interested in saving yourself the headache (I was wanting to do
the same thing last summer) you can just use the susloop~ external from
bsaylor.

On 5/16/07, Mikael Gunnerås <[EMAIL PROTECTED]> wrote:


 Hi!

Maybe I haven't looked hard enough but I just haven't been able to find
any examples on building a sample playback engine  that will allow for
sample-start, loop-start and loop-end positions to be set. The question is
what would be the easiest way to achieve this.

I have been thinking about ways to achieve the sample clock driver but
since I'm new to PD perhaps my thinking is too complex.

My ideas have been:

   1. Should I try generating the sample clock driver using two phasor~
   objects where one phasor~ handles sample-start 'til loop-end and let the
   other one (loop-start 'til loop-end) kick in once the first one has
   completed it's first and single run.
   2. Perhaps using a vline~ for the first part instead of a phasor~
   3. Simply using one phasor~ object and offsetting the start value of
   it's second cycle to the loop-start position
   4. Simply using a vline~ object and "loop it" with a different start
   position the second time onwards.



I suppose I would have to use the samphold~ object to make the shift
between phasor~ or vline~ or just to offset the start position of a phasors~
second cycle.

Any ideas or examples on how to best achieve this would be more than
welcome.



/Mikael

___
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management ->
http://lists.puredata.info/listinfo/pd-list





--



http://pocketkm.blogspot.com
___
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Looping samples with tabread4~

2007-05-16 Thread Frank Barknecht
Hallo,
Mikael Gunnerås hat gesagt: // Mikael Gunnerås wrote:

> My ideas have been:
> 1.Should I try generating the sample clock driver using two
> phasor~ objects where one phasor~ handles sample-start ‘til loop-end and
> let the other one (loop-start ‘til loop-end) kick in once the first one
> has completed it’s first and single run.
> 2.Perhaps using a vline~ for the first part instead of a phasor~
> 3.Simply using one phasor~ object and offsetting the start value
> of it’s second cycle to the loop-start position
> 4.Simply using a vline~ object and “loop it” with a different
> start position the second time onwards.

I'd simply do 4).

With a phasor~ it will be harder to get the starting time of the
sample-playing correct, as the phase-inlet of phasor~ is
block-quantized, and starting to play a sample exactly in time often
is important.

I attached a slightly unfinished alternate version of [play-samp~]
from RTC-lib that lets you set a starting position to play a sample.
This is just as an example.

Ciao
-- 
 Frank Barknecht _ __footils.org_ __goto10.org__


play-samp-start~.pd
Description: application/puredata


play-samp-start~-test.pd
Description: application/puredata
___
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Looping samples with tabread4~

2007-05-16 Thread padawan12


You're on exactly the right track and thinking all the right things. 
An important value to grab is the length of the sample (in samples)
which you can get from [soundfiler]. Multiply your [phasor~] by the
magnitude of the loop and add it to an offset in samples and that should
be the table index you need.
(please excuse awful html formatting , using webmailer )
andy
 



 




Hi!
Maybe I haven’t looked hard enough but I just haven’t been able to find any examples on building a sample playback engine  that will allow for sample-start, loop-start and loop-end positions to be set. The question is what would be the easiest way to achieve this.
I have been thinking about ways to achieve the sample clock driver but since I’m new to PD perhaps my thinking is too complex.
My ideas have been:

Should I try generating the sample clock driver using two phasor~ objects where one phasor~ handles sample-start ‘til loop-end and let the other one (loop-start ‘til loop-end) kick in once the first one has completed it’s first and single run. 
Perhaps using a vline~ for the first part instead of a phasor~ 
Simply using one phasor~ object and offsetting the start value of it’s second cycle to the loop-start position 
Simply using a vline~ object and “loop it” with a different start position the second time onwards. 
 
I suppose I would have to use the samphold~ object to make the shift between phasor~ or vline~ or just to offset the start position of a phasors~ second cycle.
Any ideas or examples on how to best achieve this would be more than welcome.
 
/Mikael

___
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Looping samples with tabread4~

2007-05-16 Thread Luigi Rensinghoff

Have a look at s-bitcrusher

http://mccormick.cx/projects/s-abstractions/page/abstractions

just as an inspiration for a GUI maybe, its not exactly what you  
want, but its worth a look



Luigi


Am 16.05.2007 um 23:08 schrieb [EMAIL PROTECTED]:


You're on exactly the right track and thinking all the right things.

An important value to grab is the length of the sample (in samples)

which you can get from [soundfiler]. Multiply your [phasor~] by the

magnitude of the loop and add it to an offset in samples and that  
should


be the table index you need.

(please excuse awful html formatting , using webmailer )

andy





Hi!

Maybe I haven’t looked hard enough but I just haven’t been able to  
find any examples on building a sample playback engine  that will  
allow for sample-start, loop-start and loop-end positions to be  
set. The question is what would be the easiest way to achieve this.


I have been thinking about ways to achieve the sample clock driver  
but since I’m new to PD perhaps my thinking is too complex.


My ideas have been:

Should I try generating the sample clock driver using two phasor~  
objects where one phasor~ handles sample-start ‘til loop-end and  
let the other one (loop-start ‘til loop-end) kick in once the first  
one has completed it’s first and single run.

Perhaps using a vline~ for the first part instead of a phasor~
Simply using one phasor~ object and offsetting the start value of  
it’s second cycle to the loop-start position
Simply using a vline~ object and “loop it” with a different start  
position the second time onwards.


I suppose I would have to use the samphold~ object to make the  
shift between phasor~ or vline~ or just to offset the start  
position of a phasors~ second cycle.


Any ideas or examples on how to best achieve this would be more  
than welcome.



/Mikael

___
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management -> http://lists.puredata.info/ 
listinfo/pd-list


___
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Looping samples with tabread4~

2007-05-16 Thread Derek Holzer
Hi Mikael,

I was  just messing around with this last week on the list here. Look up 
the "mod~" thread in the archives, perhaps even the one marked FIXED, 
and you'll find some solutions based on phasor~ which will do what you want.

best,
d.

Mikael Gunnerås wrote:
> Hi!
> 
> Maybe I haven’t looked hard enough but I just haven’t been able to find 
> any examples on building a sample playback engine  that will allow for 
> sample-start, loop-start and loop-end positions to be set. 

-- 
derek holzer ::: http://www.umatic.nl
---Oblique Strategy # 145:
"Slow preparation, fast execution"

___
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Looping samples with tabread4~

2007-05-16 Thread Kyle Klipowicz
Very nice patch. It's clean and efficient! Thanks for sharing.

~Kyle

On 5/16/07, Frank Barknecht <[EMAIL PROTECTED]> wrote:
> Hallo,
> Mikael Gunnerås hat gesagt: // Mikael Gunnerås wrote:
>
> > My ideas have been:
> > 1.Should I try generating the sample clock driver using two
> > phasor~ objects where one phasor~ handles sample-start  til loop-end and
> > let the other one (loop-start  til loop-end) kick in once the first one
> > has completed it s first and single run.
> > 2.Perhaps using a vline~ for the first part instead of a phasor~
> > 3.Simply using one phasor~ object and offsetting the start value
> > of it s second cycle to the loop-start position
> > 4.Simply using a vline~ object and  loop it  with a different
> > start position the second time onwards.
>
> I'd simply do 4).
>
> With a phasor~ it will be harder to get the starting time of the
> sample-playing correct, as the phase-inlet of phasor~ is
> block-quantized, and starting to play a sample exactly in time often
> is important.
>
> I attached a slightly unfinished alternate version of [play-samp~]
> from RTC-lib that lets you set a starting position to play a sample.
> This is just as an example.
>
> Ciao
> --
>  Frank Barknecht _ __footils.org_ __goto10.org__
>
> ___
> PD-list@iem.at mailing list
> UNSUBSCRIBE and account-management -> 
> http://lists.puredata.info/listinfo/pd-list
>
>
>


-- 

http://theradioproject.com
http://perhapsidid.blogspot.com

(()()()(()))()()())(
(())(())()(((
))(__
_())(()))___
(((000)))oOO

___
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Looping samples with tabread4~

2007-05-17 Thread Matteo Sisti Sette
Frank Barknecht wrote:

>> 4. Simply using a vline~ object and ?loop it? with a different
>> start position the second time onwards.

>I'd simply do 4).

That's ok if you're not gonna change the pitch while playing the sample.

Suppose for a moment that you don't need a sample start point different from 
the loop start point, i.e. the begin and end point don't change from the 
first to the second time.
The phasor solution (which is trivial in this case) allows you to have a 
signal as an input to the phasor, thus allowing to change the pitch of the 
sampler in real time and smoothly. This is not possible (afaics) with the 
vline~ solution.

I would like to find a solution that mantain that possibility but does 
switch to the loop region after reproducing the correct sample portion the 
first time.

Obviously I don't know if Mikael Gunner, who posted the original message, 
wanted this :)


One solution for reproducing a sample with a signal pitch input without 
using a phasor is:

(input pitch ~)
|
[rpole 1]
|
[tabread4~]

(sending a [clear( to the rpole when starting playing)

However, the only way I can think of in order to switch from this to the 
phasor (or to jump to a given point of the sample) at the correct time 
independently of pitch history, is to use a [threshold~]; but that wouldn't 
be accurate because it's block-quantized.

Any other idea?


Hey!!! I just had one. But I would like anybody to suggest a simpler or more 
elegant one.

I may use 2 phasors (or an rpole and a phasor), both fed with the same pitch 
input.

Let's suppose this is the sample:
|-SS-LB-LE--|
where:
SS= sample start (where we want the sample to start playing the first time)
LB= loop begin
LE= loop end

With appropriate calculations, the two phasors can be adjusted so that:
1) Phasor A reproduces the sample the first time from SS to LE in its first 
cycle. In subsequent cycles it would do the same but it will be muted so we 
don't mind.
2) Phasor B reproduces the loop region; its initial phase is calculated in 
such a way that at the beginning, when it is muted, it will be producing 
garbage, but when phasor A will reach point LB for the first time, phasor B 
will also be on LB, so that, during ONE cycle of phasor B, the two phasors 
will be reproducing *exactly* the same portion LB-LE synchronously.

So, at any moment of that cycle, we can (and we must) safely switch from the 
output of phasor A to that of phasor B; we don't need to do a crossfade 
because the two outputs are perfectly identical.

So, for detecting when to switch, we can use a [threshold~] on LB on the 
output of phasor A, even if threshold is block quantized. No matter if the 
actual switching occurs with a delay of almost one block, it will still be 
safe to switch.

There is a limitation, that is a minimum loop region size: if B is the block 
size (usually 64) and P is the maximum pitch we are willing to allow (where 
a pitch of 1 means original speed, 2 means twice the original speed etc), 
the loop region must be at least B*P. this formula may be wrong but 
however there is a minimum loop size related to the block size. I guess this 
is rarely an issue.


Any simpler idea?

Bye
m. 

 
 
 --
 Email.it, the professional e-mail, gratis per te: http://www.email.it/f
 
 Sponsor:
 La Cronaca del Carnevale di Ivrea 2007 visto su www.localport.it: per 
conoscere il Carnevale, per rivivere l’edizione 2007. Acquistalo on line
 Clicca qui: http://adv.email.it/cgi-bin/foclick.cgi?mid=6430&d=17-5

___
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Looping samples with tabread4~

2007-05-17 Thread Roman Haefeli
On Thu, 2007-05-17 at 11:21 +0200, Matteo Sisti Sette wrote:
> Frank Barknecht wrote:
> 
> >> 4. Simply using a vline~ object and ?loop it? with a different
> >> start position the second time onwards.
> 
> >I'd simply do 4).
> 
> That's ok if you're not gonna change the pitch while playing the sample.

theoretically, this approach should also work well with changing the
pitch while playing, if i am not totally mistaken. i never tried to
implement it myself yet, but since you send a message to [vline~] you
also know at any time, where [vline~] actually is. the idea is to
measure the time between the inital message to [vline~] and the moment,
where you want to change the pitch. with the timevalue and the values
from the initial message you could calculate [vline~] actual position.
with taking into account [vline~]'s actual position and the new pitch,
you could generate a new message for [vline~]. like that, it should be
possible to change the pitch at any time with (sub-?)sample accuracy and
without having jumps in the playback.

roman






___ 
Der frühe Vogel fängt den Wurm. Hier gelangen Sie zum neuen Yahoo! Mail: 
http://mail.yahoo.de


___
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Looping samples with tabread4~

2007-05-17 Thread Matteo Sisti Sette
Yes, I did once exactly what you describe, and it works.

(well to be precise I didn't do *exactly* what you described: I snapshotted 
the vline~ output to get the current position, so it worked only within 
block accuracy; however, I understand your solution and it should definitely 
work with (sub)sample accuracy)


However, in this approach the pitch input is control, i.e. number, it is not 
a signal.
This doesn't allow for a signal input pitch.

You can "change the pitch at any time" but you cannot have an oscillator 
*continuously* regulating the pitch for instance.



- Original Message - 
From: "Roman Haefeli" <[EMAIL PROTECTED]>
To: "Matteo Sisti Sette" <[EMAIL PROTECTED]>
Cc: 
Sent: Thursday, May 17, 2007 12:27 PM
Subject: Re: [PD] Looping samples with tabread4~


On Thu, 2007-05-17 at 11:21 +0200, Matteo Sisti Sette wrote:
> Frank Barknecht wrote:
>
> >> 4. Simply using a vline~ object and ?loop it? with a different
> >> start position the second time onwards.
>
> >I'd simply do 4).
>
> That's ok if you're not gonna change the pitch while playing the sample.

theoretically, this approach should also work well with changing the
pitch while playing, if i am not totally mistaken. i never tried to
implement it myself yet, but since you send a message to [vline~] you
also know at any time, where [vline~] actually is. the idea is to
measure the time between the inital message to [vline~] and the moment,
where you want to change the pitch. with the timevalue and the values
from the initial message you could calculate [vline~] actual position.
with taking into account [vline~]'s actual position and the new pitch,
you could generate a new message for [vline~]. like that, it should be
possible to change the pitch at any time with (sub-?)sample accuracy and
without having jumps in the playback.

roman






___
Der frühe Vogel fängt den Wurm. Hier gelangen Sie zum neuen Yahoo! Mail: 
http://mail.yahoo.de 

 
 
 --
 Email.it, the professional e-mail, gratis per te: http://www.email.it/f
 
 Sponsor:
 Gioca on-line con Best Western e…parti in vacanza!
 Clicca qui: http://adv.email.it/cgi-bin/foclick.cgi?mid=6500&d=17-5

___
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Looping samples with tabread4~

2007-05-17 Thread Roman Haefeli
On Thu, 2007-05-17 at 12:49 +0200, Matteo Sisti Sette wrote:
> Yes, I did once exactly what you describe, and it works.
> 
> (well to be precise I didn't do *exactly* what you described: I snapshotted 
> the vline~ output to get the current position, so it worked only within 
> block accuracy; however, I understand your solution and it should definitely 
> work with (sub)sample accuracy)

since there is [vsnapshot~], even this approach should work with sample
accuracy.


> However, in this approach the pitch input is control, i.e. number, it is not 
> a signal.
> This doesn't allow for a signal input pitch.

hey, but you showed us an interesting use of [rpole~] for doing that. i
think that this is a nice example of using the elementary filters in
other contexts than filter design. i probably would have found often
much more straightforwards solutions for certain problems, if i'd
thought of using elementary filters.

roman 







___ 
Der frühe Vogel fängt den Wurm. Hier gelangen Sie zum neuen Yahoo! Mail: 
http://mail.yahoo.de


___
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Looping samples with tabread4~

2007-05-17 Thread Matteo Sisti Sette

> > However, in this approach the pitch input is control, i.e. number, it is 
> > not
> > a signal.
> > This doesn't allow for a signal input pitch.

> hey, but you showed us an interesting use of [rpole~] for doing that.

Yeah, what I miss is how to seamlessly switch from the first cycle to the 
next ones. I did propose a solution to that, but I hope there's a simpler 
one
I guess a sort of [vthreshold~] would do that.

However I'm glad you appreciated the elementary filter stuff.

Btw, I think we never got (or I missed) the answer to the interesting 
question: what does the "v" stand for?

 
 
 --
 Email.it, the professional e-mail, gratis per te: http://www.email.it/f
 
 Sponsor:
 Gioca on-line con Best Western! Puoi vincere buoni-sconto per soggiorni in 
tutto il mondo e un week-end per due persone a Positano. Iscriviti subito!
 Clicca qui: http://adv.email.it/cgi-bin/foclick.cgi?mid=6497&d=17-5

___
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Looping samples with tabread4~

2007-05-17 Thread Roman Haefeli
On Thu, 2007-05-17 at 13:40 +0200, Matteo Sisti Sette wrote:
> > > However, in this approach the pitch input is control, i.e. number, it is 
> > > not
> > > a signal.
> > > This doesn't allow for a signal input pitch.
> 
> > hey, but you showed us an interesting use of [rpole~] for doing that.
> 
> Yeah, what I miss is how to seamlessly switch from the first cycle to the 
> next ones. I did propose a solution to that, but I hope there's a simpler 
> one
> I guess a sort of [vthreshold~] would do that.


yeah, there are a lot of objects in pd, that need to be 'v'-ized. there
is [tabwrite~], the phase-inlets of all oscillators [osc~], [phasor~],
[tabosc~], [threshold~] and maybe [tabplay~], which come to my mind

> However I'm glad you appreciated the elementary filter stuff.
> 
> Btw, I think we never got (or I missed) the answer to the interesting 
> question: what does the "v" stand for?

i think, this is still unanswered.

roman





___ 
Telefonate ohne weitere Kosten vom PC zum PC: http://messenger.yahoo.de


___
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Looping samples with tabread4~

2007-05-17 Thread Frank Barknecht
Hallo,
Matteo Sisti Sette hat gesagt: // Matteo Sisti Sette wrote:

> Frank Barknecht wrote:
> 
> >> 4. Simply using a vline~ object and ?loop it? with a different
> >> start position the second time onwards.
> 
> >I'd simply do 4).
> 
> That's ok if you're not gonna change the pitch while playing the sample.

Yes, my suggestion is for a one-shot sampler with a looping end and
constant pitch.

> Suppose for a moment that you don't need a sample start point different from 
> the loop start point, i.e. the begin and end point don't change from the 
> first to the second time.
> The phasor solution (which is trivial in this case) allows you to have a 
> signal as an input to the phasor, thus allowing to change the pitch of the 
> sampler in real time and smoothly. This is not possible (afaics) with the 
> vline~ solution.

For one-shot sampler phasor~ is not good IMO because of the
quantiztion of the phase-inlet. phasor~ samplers would be terrible for
drum-samplers.

Also because of the phasor~ quantization it's hard to start playing with
vline~ and then switch to looping phasor, unless you do a crossfade.
(But a crossfade would work.)

> One solution for reproducing a sample with a signal pitch input without 
> using a phasor is:
> 
> (input pitch ~)
> |
> [rpole 1]
> |
> [tabread4~]
> 
> (sending a [clear( to the rpole when starting playing)

Puh, wouldn't [rpole~ 1] maybe be dangerous? Anyway I don't see any
advantage in rpole~ over phasor~.

> However, the only way I can think of in order to switch from this to the 
> phasor (or to jump to a given point of the sample) at the correct time 
> independently of pitch history, is to use a [threshold~]; but that wouldn't 
> be accurate because it's block-quantized.
> 
> Any other idea?
> 
> 
> Hey!!! I just had one. But I would like anybody to suggest a simpler or more 
> elegant one.
> 
> I may use 2 phasors (or an rpole and a phasor), both fed with the same pitch 
> input.
> 
> Let's suppose this is the sample:
> |-SS-LB-LE--|
> where:
> SS= sample start (where we want the sample to start playing the first time)
> LB= loop begin
> LE= loop end
> 
> With appropriate calculations, the two phasors can be adjusted so that:
> 1) Phasor A reproduces the sample the first time from SS to LE in its first 
> cycle. In subsequent cycles it would do the same but it will be muted so we 
> don't mind.
> 2) Phasor B reproduces the loop region; its initial phase is calculated in 
> such a way that at the beginning, when it is muted, it will be producing 
> garbage, but when phasor A will reach point LB for the first time, phasor B 
> will also be on LB, so that, during ONE cycle of phasor B, the two phasors 
> will be reproducing *exactly* the same portion LB-LE synchronously.

Show us the code! ;) 

This may work, but indeed would be very complicated. Also I assume,
that changing the frequency of the phasor~ before you've reached the
loop area would completely mess up the caluclations of phase and/or
frequency of the second phasor~, especially as you can only set the
phase of a phasor~ once every block.

> Any simpler idea?

susloop~

Ciao
-- 
 Frank Barknecht _ __footils.org_ __goto10.org__

___
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Looping samples with tabread4~

2007-05-17 Thread Frank Barknecht
Hallo,
Frank Barknecht hat gesagt: // Frank Barknecht wrote:

> > One solution for reproducing a sample with a signal pitch input without 
> > using a phasor is:
> > 
> > (input pitch ~)
> > |
> > [rpole 1]
> > |
> > [tabread4~]
> > 
> > (sending a [clear( to the rpole when starting playing)
> 
> Puh, wouldn't [rpole~ 1] maybe be dangerous? Anyway I don't see any
> advantage in rpole~ over phasor~.

Ah, now I see that you probably mean rpole~ as a vline~ replacement,
not as one for phasor~.  Yes, that would be interesting, however one
needs to adjust to possibly different sample rates between the sample
file and Pd, for example if you load a 44.1 kHz sample into a Pd
running with 48 kHz: The speed of the ramp would need to be
adjusted accordingly as rpole~ always advances with Pd's sample rate,
while for playing a 44.1 sample at normal speed you need to use a ramp
that advances with 44.1 kHz every sample.

Ciao
-- 
 Frank Barknecht _ __footils.org_ __goto10.org__

___
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Looping samples with tabread4~

2007-05-17 Thread Martin Peach
Roman Haefeli wrote:
> On Thu, 2007-05-17 at 13:40 +0200, Matteo Sisti Sette wrote:
>   
>
>> Btw, I think we never got (or I missed) the answer to the interesting 
>> question: what does the "v" stand for?
>> 
>
> i think, this is still unanswered.
>
>   
Most likely it stands for 'vector', which is the name used in the pd 
source code for a block of samples.

Martin


___
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Looping samples with tabread4~

2007-05-17 Thread Matteo Sisti Sette
> For one-shot sampler phasor~ is not good IMO because of the
> quantiztion of the phase-inlet. phasor~ samplers would be terrible for
> drum-samplers.

Yeah, obviously "my" solution only makes sense if we want a continuous 
signal pitch.


>> (input pitch ~)
>> |
>> [rpole 1]
>> |
>> [tabread4~]
>>
>> (sending a [clear( to the rpole when starting playing)
>
>Puh, wouldn't [rpole~ 1] maybe be dangerous? Anyway I don't see any
>advantage in rpole~ over phasor~.

Why dangerous?

And yes, when looping there's no advantage of rpole over phasor. For the 
first cycle that only plays once however, or for the case of playing a 
sample with variable pitch but without loop, the advantage of rpole is IMHO 
simplicity: you don't have to scale the input and output depending on sample 
length as with phasor.


>Show us the code! ;)

Of course I will, as soon as I try it.


>This may work, but indeed would be very complicated. Also I assume,
>that changing the frequency of the phasor~ before you've reached the
>loop area would completely mess up the caluclations of phase and/or
>frequency of the second phasor~, especially as you can only set the
>phase of a phasor~ once every block.

Not totally sure until i try and code it, but I think the phase of the 
phasor(s) (and the scaling factors) only need to be set up at the very 
beginning, and changing the frequency at any moment won't mess up anything 
since the frequency feeds both phasors (or both the phasor and the rpole) at 
the same time.
However I may be missing something until I write down some formula.


Thanks,
m. 

 
 
 --
 Email.it, the professional e-mail, gratis per te: http://www.email.it/f
 
 Sponsor:
 Gioca on-line con Best Western! Puoi vincere buoni-sconto per soggiorni in 
tutto il mondo e un week-end per due persone a Positano. Iscriviti subito!
 Clicca qui: http://adv.email.it/cgi-bin/foclick.cgi?mid=6498&d=17-5

___
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Looping samples with tabread4~

2007-05-17 Thread Frank Barknecht
Hallo,
Matteo Sisti Sette hat gesagt: // Matteo Sisti Sette wrote:

> And yes, when looping there's no advantage of rpole over phasor. For the 
> first cycle that only plays once however, or for the case of playing a 
> sample with variable pitch but without loop, the advantage of rpole is IMHO 
> simplicity: you don't have to scale the input and output depending on sample 
> length as with phasor.

Unfortunatly also rpole~ is quantized to blocks, when it comes to
setting it's internal state through messages. See attached patch.
Otherwise it would be a useful vline~ replacement. But as such it
really requires working completely in the signal domain.

> >Show us the code! ;)
> 
> Of course I will, as soon as I try it.
> 
> >This may work, but indeed would be very complicated. Also I assume,
> >that changing the frequency of the phasor~ before you've reached the
> >loop area would completely mess up the caluclations of phase and/or
> >frequency of the second phasor~, especially as you can only set the
> >phase of a phasor~ once every block.
> 
> Not totally sure until i try and code it, but I think the phase of the 
> phasor(s) (and the scaling factors) only need to be set up at the very 
> beginning, and changing the frequency at any moment won't mess up anything 
> since the frequency feeds both phasors (or both the phasor and the rpole) at 
> the same time.

Hm, yes, that's right! Changing the frequency of the looping phasor~ B
as well as that of phasor~ A should still let them both end at LB at
the same time, at least if my considerations below are correct:

To meet at LB the phase difference between both phasors (in samples)
should be: 
 
 d = (LB - SS) mod (LE - LB)

which gets a bit simpler if SS is assumed to be 0: 
 
 d = LB mod (LE - LB)

Anyway the frequency of the phasor doesn't even show up in this
formula, so the calculation is independent from frequency and thus
should hold true for any changes in phasor frequency as well.

Ciao
-- 
 Frank Barknecht _ __footils.org_ __goto10.org__


vrpole.pd
Description: application/puredata
___
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] looping at the end of sample

2012-08-01 Thread Patrice Colet
hello,

 what is 'resonance part'?

in principle you compute the loop size in ms and send the result to [phasor~] 
or [vline~] for driving [tabread4~]

Colet Patrice

- Mail original -
> De: "Jean-Marie Adrien" 
> À: "pd-list@iem.at List" 
> Envoyé: Mercredi 1 Août 2012 10:10:31
> Objet: [PD] looping at the end of sample
> 
> Hi list
> have looked at the archives threads concerning  managing the
> tabread4~'s index  for reading an audio sample from the beginning
> and then loop on a chunk at the end (in the resonance part).
> Many things during the last years, but nothing very clear to me...
> Any patch around for playing sample from start and loop at the end ?
> Jm
> ___
> Pd-list@iem.at mailing list
> UNSUBSCRIBE and account-management ->
> http://lists.puredata.info/listinfo/pd-list
> 

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Looping through an array a specific number of times

2012-10-04 Thread Patrice Colet

> De: "Rick T" 
>
> I'm trying to loop a wav file a specific number of times after I load
> it into an array and play it using tabread4~.
> 

It depends on how you read the table, if you are using [line~] it's easy, you 
just have to count how many time it's triggered,
but for some reasons I don't know, the sound quality will be bad with long 
soundfiles...

If you are using [phasor~] you can count ramp reset,
here is a track to do this:

http://www.mail-archive.com/pd-list@iem.at/msg46735.html

> I was going to use moses and a spigot and I found the "loop" object
> but it doesn't have any help information it's just another
> sub-patch.
> Is their another object I should use to control the amount of loops a
> sound file plays?
> 
> Thanks
> Rick
> 
> ___
> Pd-list@iem.at mailing list
> UNSUBSCRIBE and account-management ->
> http://lists.puredata.info/listinfo/pd-list
> 

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list