Writing (or coding) waveshapes

Discussion forum for G-Force users

Moderators: BTT, andy55, b.dwall, juxtiphi

Post Reply
jerohm
Senior Member
Posts: 419
Joined: Fri Jan 09, 2009 5:19 pm

Re: Writing (or coding) waveshapes

Post by jerohm »

:arrow: replace all occurrences ssssss with select

(there is a bug in the board posting software. If you want to replicate the error,
make the replacement and try to post the modified code.)

Waveshape (but should also work as Particle):

Code: Select all

/* Ripple (jrm) (dead'icated to Robert Hunter ;0)
	16May2012 - jrm	reWrite
*/
Aspc=1, ConB=1

Num="choice({4,3,5,2,3,4})"
Stps="NUM_FFT_BINS*4"
Pdur=40

A0="(end_time > 1e30)"	// (IsWaveShape?) - O'Mearagic
PART=0, WS=1

SAvg=4, BAvg=29, Prd=9

A1="vectorLR(Num, 0, Num-1)"
A2="Prd/(Num-1)"
A3=""
A4="Pi * (2*s -1)"
A5="sign(1-rnd(2))"

A6="choice({7,9,11})
    * vectorLR(NUM_S_STEPS, 1/(NUM_S_STEPS-1), (NUM_S_STEPS-1)/NUM_S_STEPS)"

B0="(Num-1)-Id"                 // 0 to Front
B1="col(B11, B0)"

B2="sssss(Id, B2, (sin(atan(Bass))/8 + B2*BAvg)/(BAvg+1))"
B3="sssss(Id, B3, (B2 + atan(fft(A6)+fft(-A6))/3 + B3*SAvg)/(SAvg+1))"

B4="row(B1, 1)"                 // Previous B7
B5="sssss(B4, row(B1, 0), choice({.00375,.0075,.015}))"

B6="pos(t-A2*(B0-1))"           // time shift

B7="sssss((B4!=0) && ((row(B1, 2) <= Prd)), B4, B6)"
B8="B6-B7"

B9="clamp((33*(t-B12)) * atan(B8)/90)"

C0="sssss((B8!=0)*B0, transpose(col(C1,B0)), B3)
    * (1+B9) + B5*B9"

A7="sin(choice({Pi/2, sssss((A0==WS), Pi/6, Pi/2)}))"
B10="A4 + (A5 * (t/4))"

X0="C0 * cos(B10) * sssss((A0==WS), (X_EXTENTS/Y_EXTENTS), 1)"
Y0="C0 * sin(B10) * A7"

C1="sssss((A1 != B0), C1, transpose(C0))"
 
B11="sssss((A1 != B0), B11, transpose({B5, B7, B8}))"        // WRITE!, B11, trait, Start Time, Delta 
B12="sssss(B0, B12, t)"

A8="choice({0,1/16})"
B13=" 1 - sssss((A0==PART), (B0==0)/128, A8*B0)"
Pen="B13"
Lwdt="1 - ((B0!=0) * (B8/15))"

Meta="reactive=3 detail=3 density=3 morphable=4"
Vers=400

[\code]

User avatar
BTT
Administrator
Posts: 2162
Joined: Sun Jun 20, 2010 9:34 pm
Location: United Kingdom

Re: Writing (or coding) waveshapes

Post by BTT »

Hello J - probably due to SS missing several updates to the forum. Hope this helps.

Just add an s to all instances of elect.

/* Ripple (jrm) (dead'icated to Robert Hunter ;0)
16May2012 - jrm reWrite
*/
Aspc=1, ConB=1

Num="choice({4,3,5,2,3,4})"
Stps="NUM_FFT_BINS*4"
Pdur=40

A0="(end_time > 1e30)" // (IsWaveShape?) - O'Mearagic
PART=0, WS=1

SAvg=4, BAvg=29, Prd=9

A1="vectorLR(Num, 0, Num-1)"
A2="Prd/(Num-1)"
A3=""
A4="Pi * (2*s -1)"
A5="sign(1-rnd(2))"

A6="choice({7,9,11})
* vectorLR(NUM_S_STEPS, 1/(NUM_S_STEPS-1), (NUM_S_STEPS-1)/NUM_S_STEPS)"

B0="(Num-1)-Id" // 0 to Front
B1="col(B11, B0)"

B2="elect(Id, B2, (sin(atan(Bass))/8 + B2*BAvg)/(BAvg+1))"
B3="elect(Id, B3, (B2 + atan(fft(A6)+fft(-A6))/3 + B3*SAvg)/(SAvg+1))"

B4="row(B1, 1)" // Previous B7
B5="elect(B4, row(B1, 0), choice({.00375,.0075,.015}))"

B6="pos(t-A2*(B0-1))" // time shift

B7="elect((B4!=0) && ((row(B1, 2) <= Prd)), B4, B6)"
B8="B6-B7"

B9="clamp((33*(t-B12)) * atan(B8)/90)"

C0="elect((B8!=0)*B0, transpose(col(C1,B0)), B3)
* (1+B9) + B5*B9"

A7="sin(choice({Pi/2, elect((A0==WS), Pi/6, Pi/2)}))"
B10="A4 + (A5 * (t/4))"

X0="C0 * cos(B10) * elect((A0==WS), (X_EXTENTS/Y_EXTENTS), 1)"
Y0="C0 * sin(B10) * A7"

C1="elect((A1 != B0), C1, transpose(C0))"

B11="elect((A1 != B0), B11, transpose({B5, B7, B8}))" // WRITE!, B11, trait, Start Time, Delta
B12="elect(B0, B12, t)"

A8="choice({0,1/16})"
B13=" 1 - elect((A0==PART), (B0==0)/128, A8*B0)"
Pen="B13"
Lwdt="1 - ((B0!=0) * (B8/15))"

Meta="reactive=3 detail=3 density=3 morphable=4"
Vers=400
.
Regards BTT

ColorMap Creator for G-Force and Aeon --- SoundSpectrum Forum Administrator.

jerohm
Senior Member
Posts: 419
Joined: Fri Jan 09, 2009 5:19 pm

Re: Writing (or coding) waveshapes

Post by jerohm »

Code: Select all

// tumblers (WaveShape) - jrm
//
Aspc=1
ConB=1
Num=5

Stps="18*16"                    // 288

A0="1/(Num_S_Steps-1)"          // S_Step_Increment
A1="choice({18,36,48})"         // S_Steps per division
A2="s+ A0*A1/2"                 // s' (offset by divison/2)

A3="Num_S_Steps/A1"
A4="trunc(A3*A2)/A3"
A5=".5"


B0="max(B1*mag(A4), max(B0-B0/(Num*21.5), A5))"
B1="max(1.5, B1 + select((dot(B0) < (cols(B0)*.51)), 1/200, -1/25))"

//   Or Maybe B0="max(2*mag(A4), max(B0-.005, .35))"

// B2="(atan(Bass) + B2*8)/9"

A6="s^1.2"

B2="max(log10(1+3*Bass)/3, col(A6,B3)*B4)"
B3="select(B2>B4, Num_S_Steps-1, max(B3-(Id==0)*(.0005),0))"
B4="B2"

X0=" B0 * sin(2*Pi*s + t/4)"
Y0="(B0 * cos(2*Pi*s + t/4) - ((Num-1)/1.8-Id)*(1.2+B2*cos(9*t))/3) * cos(Pi/2.5)"

LWdt="1.3"
Pen=1

// Meta="reactive=4 detail=3 density=3 morphable=4"
Vers=400

:roll:

User avatar
BTT
Administrator
Posts: 2162
Joined: Sun Jun 20, 2010 9:34 pm
Location: United Kingdom

Re: Writing (or coding) waveshapes

Post by BTT »

Hello J - just wanted to say thankyou for another brilliant WaveShape, please keep them coming.

Hope your keeping well.
.
Regards BTT

ColorMap Creator for G-Force and Aeon --- SoundSpectrum Forum Administrator.

Post Reply