Waveform modification.

Discussion forum for G-Force users

Moderators: BTT, andy55, b.dwall, juxtiphi

CK
Posts: 2
Joined: Sat Jul 02, 2016 6:25 am

Waveform modification.

Post by CK »

Hello everyone.
I'm new to this forum but I use Gforce all the time.

I would change the waveform called "Thunderation"
I find it amazing.

It is composed of two lines only.

I think it would be even beautiful if the interior was painted in solid color or vertical lines, see the picture (phShop).

Image

Is it possible to edit the file and get a result like this?
I would be very happy to hear this, if anyone knows how to do.

Thank you very much !!

User avatar
DanPin
Posts: 161
Joined: Tue Mar 15, 2016 8:43 pm
Location: Los Angeles County, California

Post by DanPin »

CK, did you mean you want to enhance the waveshape "Thunderation" (expected for the next release)? I don't get it. Thus you might not know your programming skills yet. :?

Have FrankN or BTT look forward to it, or see http://www.soundspectrum.com/g-force/Do ... mming.html for the syntax list.

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

Post by BTT »

Hello CK

Below is the WaveShape coding as written by Tomi Sajaniemi.

To modify his work to meet your requirements you will need to have some programming knowledge, something I cannot help you with. Should you or anyone else modify the authors work you must acknowledge the original authors name in your version.


// Thunderation by Tomi Sajaniemi

Stps="2 * NUM_FFT_BINS"

C0="s * 2 - 1"
C1=".6 * fft( 1 - trwv( 2 * s ) )"

X0="c0"
Y0="C1"
X1="C0"
Y1="-C1"

LWdt="2"
Pen="1"
ConB=1

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

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

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

Post by jerohm »

The problem is in the original code, there are two lines, X0/Y0 and X1/Y1. You can define the attributes of each X/Y pair in terms of thickness (Lwdt) and color (Pen), but there is no way to do a fill operation (even if you WERE clever enough to define the two lines as a single (X/Y) entity... which IS theoretically possible).

You COULD define/calculate SEVERAL MORE X/Ys and attempt to use as fill, but it would most likely be rather fugly.
:roll:

User avatar
DanPin
Posts: 161
Joined: Tue Mar 15, 2016 8:43 pm
Location: Los Angeles County, California

Post by DanPin »

That's what I told him! He doesn't know his programming skills. :shock:

CK, please see the above link, or open "Rotating Corridor.txt" for a brief description of writing configs.

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

Post by BTT »

Hello DanPin

Both you, and CK should take notice of the information posted by jerohm who does have the best coding skills of anyone on this forum.

Remember what Frank told you regarding the WaveShapes you posted on the forum (now deleted). You cannot rip off other authors work. He encouraged you to experiment writing your own original configs. I hope to see some of your work soon.
.
Regards BTT

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

CK
Posts: 2
Joined: Sat Jul 02, 2016 6:25 am

Post by CK »

Hi all

First, a real thank for your advises.

I'll try several techniques you recommend me,
and give up the idea to mod a waveform from authors.


I'll keep you informed.
thx again for your efficiency and rapidity in the forum !

CK

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

Post by BTT »

Hello CK

I think I may have confused you. SoundSpectrum encourage people to experiment with existing configs, saying this is the best way to learn how to create your own configs. You can use part of a config's code as long as you give credit to the original author.

Couple of examples:-

/* Qubik by JRM

The ORIGINAL config was created by Thomas Geier (ziggystar(at)gmx.de), who made the programming, and Aaron Pinsker, who had the idea for this.
*/

// Good Vibrations; Dummied down "Spinning Plane" by Andy O
// ReWrite/Modified JRM

Hope this clarifies things, and look forward to seeing some configs from you.
.
Regards BTT

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

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

Post by jerohm »

CK - Num=1 should be the original presentation
Num=25 or Num=10 isn't what you ask for, but interesting.
You can play with 'Num' and 'Lwdt'.
far from perfect... but close (enough???) ...

Code: Select all

// Thanks to Tomi Sajaniemi
//
// modified to simulate 'fill' - jrm

Stps="2 * NUM_FFT_BINS"
Num=50                             // "choice({1, 10, 25, 50})"

A0="s * 2 - 1"
A1="1 - trwv( 2 * s )"
A2="max(1, Num -1)"

B0="select(Id, B0, .6 * fft( A1 ))"
B1="B0 * ((A2-Id)/A2)"

X0="A0", Y0=" B1"
X1="A0", Y1="-B1"


LWdt="1.5"  
Pen="1"   
ConB=1

Vers=500

:wink:

FrankN
Posts: 316
Joined: Thu Mar 07, 2013 11:19 pm

Post by FrankN »

Love the creativity in this thread! Jerohm's solution is the best that I can think of. I'm definitely looking forward to what you come up with.

User avatar
DanPin
Posts: 161
Joined: Tue Mar 15, 2016 8:43 pm
Location: Los Angeles County, California

Post by DanPin »

jerohm wrote:CK - Num=1 should be the original presentation
Num=25 or Num=10 isn't what you ask for, but interesting.
You can play with 'Num' and 'Lwdt'.
far from perfect... but close (enough???) ...

Code: Select all

// Thanks to Tomi Sajaniemi
//
// modified to simulate 'fill' - jrm

Stps="2 * NUM_FFT_BINS"
Num=50                             // "choice({1, 10, 25, 50})"

A0="s * 2 - 1"
A1="1 - trwv( 2 * s )"
A2="max(1, Num -1)"

B0="select(Id, B0, .6 * fft( A1 ))"
B1="B0 * ((A2-Id)/A2)"

X0="A0", Y0=" B1"
X1="A0", Y1="-B1"


LWdt="1.5"  
Pen="1"   
ConB=1

Vers=500

:wink:
Thanks, except it needs one thing: make it more dynamic!

Code: Select all

Pen=".2 + (.9 * fft(s))"
Try it.

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

Post by jerohm »

Thanks, except it needs* one MORE thing: keep it symmetric
( at least :twisted: )

Code: Select all

Pen=".2 + (.9 * fft(A1))"
and arguably, this might make MORE sense...

Code: Select all

B2="select(Id, 1-fft(A1)/2, 1)" 
Pen="B2" 
or maybe....

Code: Select all

// Thanks to Tomi Sajaniemi
//
// modified to simulate 'fill' - jrm
// added presentation variety  - jrm
//

ConB=1
Stps="2 * NUM_FFT_BINS"

Num="choice({1,10,50})"
A0=" choice({(Num!=50)*.7+.3, 1})"	// Retain Author's ORIGINAL intention

A1="s * 2 - 1"
A2="1 - trwv( 2 * s )"
A3="max(1, Num -(Num==50))"


B0="select(Id, B0, .6 * fft( A2 ))"
B1="((A3-Id)/A3)"
B2="B0 * B1"

X0="A1", Y0=" B2"
X1="A1", Y1="-B2"

LWdt="1.5"  

B3="max(A0, B1 * (1- B0))"
Pen="B3" 

Vers=500

*** Note I shifted around variable assignment ***

*purely opinion
:roll:
Last edited by jerohm on Sat Jul 09, 2016 5:48 pm, edited 1 time in total.

User avatar
DanPin
Posts: 161
Joined: Tue Mar 15, 2016 8:43 pm
Location: Los Angeles County, California

Post by DanPin »

It doesn't look that bad, but except I needed this to make it a little bit more clear than expected:

Code: Select all

LWdt="1.5 + BASS"
UPDATE: ...or for my convenience:

Code: Select all

A4="1 + rnd(1.5)"
LWdt="A4 + BASS"
Try one of those.
Last edited by DanPin on Thu Jul 28, 2016 9:57 pm, edited 1 time in total.

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

Post by BTT »

Hello DanPin

Pease do not start this stupidity AGAIN!!! - Over an hour; no response...
.
Regards BTT

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

User avatar
DanPin
Posts: 161
Joined: Tue Mar 15, 2016 8:43 pm
Location: Los Angeles County, California

Post by DanPin »

Oops, sorry. I forgot. :shock: :oops: :( :cry: :-#

...and please don't say that:
BTT wrote:Pease do not start this stupidity AGAIN!!!
:!: :shock:

It's rude and inappropriate on the forums to do that. Thus, BTT, you're the admin here. Be nice, please.

Anyway, did you try the above I wanted you to do? :?:

Post Reply