part of revolution with [line~]
Hello,
First, I would like to say I really agree with one of the stickies, that's a shame that people forward private mails from the forum, it's really annoying.
Second, I would like to ask you something (and I will not spam you with it) about the use of [line~]. Nowadays, I try to build a patch based on "pan4S-help"(which you could know if you are interested in spatialisation of the sound). And, in it, [line~] allows to inject values in [pan4S], so that it is both possible to chose one in 4 speakers (left, right, left rear, right rear), and to make revolutions of the sound between them.
Make a revolution interests me a lot, but I need to make it more accurate, to make, for instance, a half or a quarter of a revolution. I managed to make it in clockwise but not counterclockwise... so what are the three or four arguments I can "inject" as values into an [line~] object ?
Apologies for my english if it is not good (I am french and not very used to writing english).
Cheers
Manu
Your english is better than my french will ever be.
Send line~ a list in doubles:
Value[0] duration[0] value[1] duration[1] ... Value[n] duration[n]
Like this;
[pack 1 100 0 500 1 1000 0 10]
If clockwise looks like this:
0 0 1 1000, (jump to value 0. move to value 1. over 1000 ms)
then counter-clockwise would look like this:
1 0 0 1000, (jump to value 1. move to value 0. over 1000 ms)
hth
-lcc
If you want to make revolving sounds, this will be much easier with
ambisonic technique - panning over four speakers can never be ideal.
There are some ambisonic objects around, but for simple revolves you
can knock up a quick patcher. Here are three small abstractions I
keep handy:
2sfcreate~ creates a 2d soundfield, with X, Y and W components in b-
format. You can input either a rotation speed or an absolute position
in degrees (use line on this to create you precise arcs.
2sfmixrot~ mixes several soundfields together, and allows you to
rotate the whole of the resulting soundfield.
2sfdecode4~ decodes the b-format for a square four speaker setup - it
is easy to adapt for other speaker arrays.
The formulae are all in an article by Dave Malham and Tony Myatt in
CMJ Vol 19, No 4
Hope that helps
Lawrence
thanks, but I am aware that French is pretty hard to practice, particularly when it's written. Whatever, I haven't expected an answer that quick !
But, a problem remains because I have no brains. I am not sure to understand the "logic" of the difference clockwise and counterclockwise.
For these two lists you took as an example :
0 0 1 1000
1 0 0 1000
is the second one counterclockwise because it is the opposite as the first one (100 would be the opposite of 001) ? And if it is, why a 0 is needed at the beginning of "001" and at the end of "100" ?
Cheers,
sorry if I bother you
Manu
Thank you, it could be useful, but could you just answer to my question please ? (I am curious)
thx
Manu
Ah yes.
So if a line~ out puts a ramp starting at a value of zero and moving to a
value of one, and that drives a clockwise panning curve, then it could be
safe to assume that a line~ which outputs a ramp starting at a value of one
and moving to a value of zero will drive a counterclockwise panning curve.
About that 0 0 and 1 0 part of the list. This is used to make line~ jump to
that value with out interpolation. This guarantees that the ramp which
line~ generates will start at a specific location, rather than interpolating
from wherever its current location might be.
There may be some tutorials on the line~ object in the MSP documentation.
They may be worth reviewing for this project.
-lcc
thank you very much :)