Hi there peeps,
I'm building a basic granular synth type patch using [phasor~] and [tabread4~] to read an array.
What I want is to be able to have a bang go off every time the phasor hits zero... but I can't figue it out.
Any suggestions?
cheers
J
Bang on Zero!
Hi there peeps,
I'm building a basic granular synth type patch using [phasor~] and [tabread4~] to read an array.
What I want is to be able to have a bang go off every time the phasor hits zero... but I can't figue it out.
Any suggestions?
cheers
J
i'm not sure, but i believe [edge~] is what you're looking for.
or, instead of phasor~, use [metro] and [line~] or [vline~]
eg:
[loadbang]
|
| [r $0-freq]
| |
[metro]
|
| [r $0-freq]
| |
[f ]
|
[t f b]
| \
|
|
[0, 1 $1(
|
[line~] (or vline~ for super accuracy, for a granular process, line~ should be fine)
|
[tabread4~]
i know that looks like a lot of objects, but most of them are control / non-signal abjects and will use very little cpu. the only signal~ objects are [line~] and [tabread4~].
(or whatever name you want to give it) is basically the same as the frequency input for your phasor~, and the output~ of the line~ object is basically the same as the output of your phasor~
Thanks guys, I'll try these out.
I can't find any documentation for [edge~]... how exactly does it work?
ha, that's funny, i asked the same in another thread just one day ago, and maelstorm gave me the hint, that it's a native max object and posted that link here:
http://www.cycling74.com/docs/max5/refpages/msp-ref/edge~.html
So I'm playing around with [edge~] and [phasor~], but it's being a bit weird...
You would assume it would output a bang once each cycle right???
But it only seems to bang when you reset the phase...
Am I missing something?
@mod said:
[loadbang]
|
| [r $0-freq]
| |
[metro]
|
| [r $0-freq]
| |
[f ]
|
[t f b]
| \
|
|
[0, 1 $1(
|
[line~] (or vline~ for super accuracy, for a granular process, line~ should be fine)
|
[tabread4~]
MOD: Just wondering if there's any particular reason you've put "$0" in your and [r] names?J
@SlicelikeaninJa said:
So I'm playing around with [edge~] and [phasor~], but it's being a bit weird...
You would assume it would output a bang once each cycle right???
But it only seems to bang when you reset the phase...
Am I missing something?
[edge~] reports a bang when it leaves zero (left outlet) or returns to zero (right outlet). Because the signal is digital, it is unlike that [phasor~] will actually hit zero on every cycle. What you want to do is something like this:
[phasor~]
|
[expr~ $v1<.5] <--send a 1 if less than .5, as a [phasor~] does
| at the end of its cycle. This creates a 0-1 square wave.
|
[edge~] <--bangs when it jumps from 0 to 1 at the end of the cycle
|
[bng]
I'm hoping this 0-1 square wave conversion may solve the following similar issue:-
How to automatically stop a phasor one cycle after re-setting the phase.
I have tried using the samphold~ object combined with env~ or snapshot~, so that when the phasor wraps around, the samphold~ samples a 1 signal, which can then be used to set the phasor to zero (effectively stopping the phasor). See below:-
[r $0-phasestop]
|
[0(
|
[phasor~}
| \
| \
| [sig~ 1] \
| | \
| [samphold~]
| |
| [env~]
| |
| [sel 1]
| |
| [bng]
| |
|
However, it doesn't seem to work, perhaps it creates a feedback loop. Is there any way of telling the phasor to run for only 1 cycle at a time?
Wouldn't [phasorshot~] be suited for this?
|] [] |.| ][|-| -- http://soundcloud.com/domxh
yes, hopefully it would ~ sounds like the right sort of thing, but where can I find it? doesn't seem to be in pd-extended's standard libraries.
Thanks Domien
for homemade [phasorshot~] use mod's example but instead of [metro] just use a bang object
Dual 1.8 IBM G5: Mac OSX 10.4.11 -- Asus eeePC 701: Pure:Dyne / eeeXubuntu GNU/Linux -- myspace.com/thearifd
On my pd-extended installation it's located in the extra/tof folder. I thought this was standard included in extended.
|] [] |.| ][|-| -- http://soundcloud.com/domxh
The tof library never loads properly for me after installing pd-extended.
To get it to be recognized i have to add the path manually -or- put "tof/" before the object name of all objects from the library.
For example: [phasorshot~] becomes [tof/phasorshot~]
I have started using the latter method because it makes it easier to share the patches with others or use with a fresh pd install.
Thanks guys ~ [tof/phasorshot~] works.
[phasorshot~] has a .dll extension in the tof folder, which probably explains why it's not recognised directly in pd.
Oops! having said that, it doesn't seems to be working... It recognizes [tof/phasorshot~] as an object but is not functioning ~ anything else I need to do?
Sorry, got it working now! Thanks for your help.
I've been comparing [phasorshot~] to [phasor~] when simultaneously modifying the frequency of the phasor and the length of samples that the output is multiplied by using a [samphold~] object (in order to speed up/slow down repeats without changing pitch).
There seem to be unwanted artifacts whilst modifying with [phasorshot~], but not with a [phasor~].
Anyone know why this might be?
freq is changed directly at the input, whilst sample length changes are only made at phase wrap around.
I want to be able to use phasorshot~ rather than phasor, but if it means additional artifacts, that puts me off.
I think there is a bug in [phasorshot~], at least in loop mode. Try sticking the output into a [tabwrite~] and look at it in an array. There's some ugly flat portions in it.
Oops! Looks like something went wrong!