electro-music.com   Dedicated to experimental electro-acoustic
and electronic music
 
    Front Page  |  Articles  |  Radio
 |  Media  |  Forum  |  Wiki  |  Links  |  Store
Forum with support of Syndicator RSS
 FAQFAQ   CalendarCalendar   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   LinksLinks
 RegisterRegister   ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in  Chat RoomChat Room 
 Forum index » Clavia Nord Modular » Nord Modular G2 Discussion
math operators on G2
Post new topic   Reply to topic Moderators: Nord Modular Editors
Page 1 of 2 [43 Posts]
View unread posts
View new posts in the last week
Mark the topic unread :: View previous topic :: View next topic
Goto page: 1, 2 Next
Author Message
alby



Joined: Aug 08, 2004
Posts: 12
Location: berlin
G2 patch files: 1

PostPosted: Sun Aug 08, 2004 5:39 am    Post subject: math operators on G2 Reply with quote  Mark this post and the followings unread

Hi,

my Question: Is there a possibility to use mathematic operators like +,*, /,
and to have constants which are bigger than 127?
I want to calculate f(x)BPM = 7620 / x
x= 1 to 128 (rotary button constant)and than to display f(x) which is my BPM on the G2. For displaying a delay/tempo.

Help. Alby
Back to top
View user's profile Send private message Visit poster's website
Blue Hell
Site Admin


Joined: Apr 03, 2004
Posts: 20280
Location: The Netherlands, Enschede
Audio files: 143
G2 patch files: 318

PostPosted: Sun Aug 08, 2004 11:43 am    Post subject: Reply with quote  Mark this post and the followings unread

Division is a problem in general on the G2, a while ago there was some discussion about this on the mailing list. Kees van der Maarel came up with this then :
Quote:
A couple of weeks ago I was experimenting with a "division circuit",
using the formula: Log(x/y) = Log(x) - Log(y).
Here is my theory: The Pitch-tracker module is a hidden log-converter,
because incoming frequencies are in fact translated into note-numbers,
which are proportional to the logarithm of the frequency: every doubling
of the frequency should add 12 "clavia-units" to the output of the
pitchtracker. I used two oscillators with linear modulation inputs to to
get frequencies proportional to x and y, and two pitchtrackers to get
log(x) and log(y). With a mixer I subtracted log(y) from log(x) and I
finally used a Level Scaler module to get a signal proportional to x/y
(because the output of the Level Scaler has an exponential relationship
to its input signal.
I used a Control Sequencer to read out the signal.
However, I don't think this circuit is accurate, probably because I've
overlooked something.

Greetings,

Kees.


I've been puzzling a bit on your question, but coulddn't come up with anything reasonable.

Displaying numbers for instance is impossble (except for this gadget : http://electro-music.com/forum/topic-2272.html which is very nice and clever but not very usefull). This is an item for the wishlist I'd say ...

The best thing one can do is couple the LED collarof a knob to get an indication of a value (see http://electro-music.com/forum/topic-1792.html also by Kees vd Maarel ).

Addition, subtraction and multiplication can be done though with mixers and the level multiplier module. Large numbers is a broblem though as the highest number representable in the system seems to be 255, being about four times unity (64). All such calculations need to be scaled and their outcome interpreted in the right way.

Jan.
Back to top
View user's profile Send private message Visit poster's website
mosc
Site Admin


Joined: Jan 31, 2003
Posts: 17557
Location: Allentown, PA
Audio files: 123
G2 patch files: 60

PostPosted: Sun Aug 08, 2004 2:30 pm    Post subject: Reply with quote  Mark this post and the followings unread

welcome Alby...
Back to top
View user's profile Send private message Send e-mail Visit poster's website AIM Address
cristian



Joined: Jul 15, 2004
Posts: 24
Location: Barcelona
G2 patch files: 1

PostPosted: Fri Aug 13, 2004 7:47 am    Post subject: Reply with quote  Mark this post and the followings unread

Cant the ADC be used to do more complex math in binary?
_________________
www.no-future.com
Back to top
View user's profile Send private message Visit poster's website
cristian



Joined: Jul 15, 2004
Posts: 24
Location: Barcelona
G2 patch files: 1

PostPosted: Sat Aug 14, 2004 3:30 am    Post subject: Reply with quote  Mark this post and the followings unread

the level multiplier module can also be used to divide, as you can multiply an incoming control signal with 0.01 to 0.97

but i;m certain that a binary math system should be possible - the building blocks are there. A way of checking the on off state of each bit, plus a counter, and a way of converting the result back into clavia control units, which although limited to 128, can be used to set the pitch of an oscillator logarithmically which will can deal with large numbers (i.e. the frequency range. I dont know enough about binary computing to build this... yet.

I made a little patch that can display the result of a multiplication or division on the front panel, by using the noteseqencer. But the value is a note, not a number which is not much use.

_________________
www.no-future.com
Back to top
View user's profile Send private message Visit poster's website
Blue Hell
Site Admin


Joined: Apr 03, 2004
Posts: 20280
Location: The Netherlands, Enschede
Audio files: 143
G2 patch files: 318

PostPosted: Sat Aug 14, 2004 5:52 am    Post subject: Reply with quote  Mark this post and the followings unread

Ok a little freshening up on math :-)

Division is equivalent to multiplication by the reciprocal value (the reciprocal of x is 1/x).

And indeed when I want to divide a signal by 2 I can multiply it by 1/2 by using a mixer or a multiplier but here one must first somehow calculate the reciprocal outside the machine.

The question however is how to perform division by a variable, where the machine itself must be able to make a reciprocal of that variable before multiplication can be used.

There is no way to get around division in general by multiplication, a possible way to get around it is using logarithms and exponentiation in a smart way such that division can be reduced to subtraction (as in the example I quoted earlier).

So the question as how to divide might be rephrased into the question as how to take a logarithm of a signal.

Jan.
Back to top
View user's profile Send private message Visit poster's website
jksuperstar



Joined: Aug 20, 2004
Posts: 2478
Location: Denver
Audio files: 1
G2 patch files: 18

PostPosted: Fri Aug 20, 2004 12:53 pm    Post subject: Reply with quote  Mark this post and the followings unread

Hey all..haven't upgraded to the G2 (yet), but happy with my trusty NM "classic" (for now, until I keep reading this forum about the G2 Very Happy )

Anyway, it seems this topic would do well if it had some table for math operators.

Code:

+  =  MUX
-  = MUX with negation/"inverter"
*  = Gain block (A * B), or MUX (A *  B, B<1)
A^C  = Gain Block, (A * A), or ShapeExp(C=constant, 2,3,4,5)
tan(A) = sin(A)/cos(A)
sin(A) = use A to phase modulate a 0 Hz oscillator
cos(A) = sin(A+C), where C is constant of 90degrees.
abs(A) = rectifier (fullpos mode)


Don't forget you can do many approximations by using an 8-input switch as a sort of "look-up table" method of doing math (or, depending on the equation, a mixer), by generating 8 different values that get selected by a control input. These 8 inputs might in turn be 8 approximations. Heavy on the DSP%, but worth experimenting with.

If an addressable memory block was available, it would not only be useful for sampling, but performing nearly any 1-input math function like a real look-up table (tan(x) for example, or even 1/x!!!!)
Back to top
View user's profile Send private message Visit poster's website
Blue Hell
Site Admin


Joined: Apr 03, 2004
Posts: 20280
Location: The Netherlands, Enschede
Audio files: 143
G2 patch files: 318

PostPosted: Fri Aug 20, 2004 1:19 pm    Post subject: Reply with quote  Mark this post and the followings unread

Good idea to make such a table, although for those who really need it, it might be a bit cryptic.

I assume that where you wrote MUX you meant mixer ?

In my experience the ShapeExp module is a bit of a fanatasy thing, I couldn't really use it to do exponentiation on the Classic (didn't try it yet on the G2). Usefull for audio shaping or to change the keyboard velocity curve, not so much to do math with.

I noted that some people think math is not very usefull for the NM. I think this is a pitty, as there really is a strong relation between music and math that goes back far into history.

In my opinion proper math is the basis to work from, after that deviations might make things more interesting, but without math the synthesizer could not even exist.

Jan.
Back to top
View user's profile Send private message Visit poster's website
jksuperstar



Joined: Aug 20, 2004
Posts: 2478
Location: Denver
Audio files: 1
G2 patch files: 18

PostPosted: Fri Aug 20, 2004 1:43 pm    Post subject: Reply with quote  Mark this post and the followings unread

Whoops..You are right...MUX = Mixer.

The dangers of being a digital designer currently at work specifying a design, while fantasizing about being in front of my NM, and posting in this forum to make up for it Rolling Eyes
Back to top
View user's profile Send private message Visit poster's website
Blue Hell
Site Admin


Joined: Apr 03, 2004
Posts: 20280
Location: The Netherlands, Enschede
Audio files: 143
G2 patch files: 318

PostPosted: Fri Aug 20, 2004 2:01 pm    Post subject: Reply with quote  Mark this post and the followings unread

:-)

Be welcome !

jan.
Back to top
View user's profile Send private message Visit poster's website
pstnotpd



Joined: Apr 09, 2004
Posts: 31

G2 patch files: 3

PostPosted: Sat Aug 21, 2004 5:55 am    Post subject: Reply with quote  Mark this post and the followings unread

I was looking a while ago how to make differentiators and integrators. Any ideas about that?
Back to top
View user's profile Send private message
jksuperstar



Joined: Aug 20, 2004
Posts: 2478
Location: Denver
Audio files: 1
G2 patch files: 18

PostPosted: Sat Aug 21, 2004 8:45 am    Post subject: calculus Reply with quote  Mark this post and the followings unread

Filters!

A HP filter is basically a differentiator, at least for low frequencies, while a LP is a good approximation for a high frequency integrator. An envelope follower can also be good, though you'd need to scale the output (cheaper than a LP).
Back to top
View user's profile Send private message Visit poster's website
cristian



Joined: Jul 15, 2004
Posts: 24
Location: Barcelona
G2 patch files: 1

PostPosted: Mon Aug 23, 2004 4:59 am    Post subject: Re: calculus Reply with quote  Mark this post and the followings unread

jksuperstar wrote:
Filters!

A HP filter is basically a differentiator, at least for low frequencies, while a LP is a good approximation for a high frequency integrator. An envelope follower can also be good, though you'd need to scale the output (cheaper than a LP).



i don't really understand... Can you explain more?

_________________
www.no-future.com
Back to top
View user's profile Send private message Visit poster's website
mosc
Site Admin


Joined: Jan 31, 2003
Posts: 17557
Location: Allentown, PA
Audio files: 123
G2 patch files: 60

PostPosted: Mon Aug 23, 2004 8:37 am    Post subject: Reply with quote  Mark this post and the followings unread

On the G2, use the Glide module for an Integrator. Set the slope to linear. It is a near perfect integrator module. In fact, it should not be called a Glide module, but and Integrator module, because glide is just one function an integrator.

A filter, depending on which one you use, is more of an approximation, IMHO, and it will use more DSP resources.

The HP filter will work as an differentiator.
Back to top
View user's profile Send private message Send e-mail Visit poster's website AIM Address
cristian



Joined: Jul 15, 2004
Posts: 24
Location: Barcelona
G2 patch files: 1

PostPosted: Mon Aug 23, 2004 9:34 am    Post subject: Reply with quote  Mark this post and the followings unread

nope - still not gettin it.

what is an integrator and differentiator? I remember my basic calculus at shool ... but i take it in the world of synthesis , you're referring to something else or what?

_________________
www.no-future.com
Back to top
View user's profile Send private message Visit poster's website
jksuperstar



Joined: Aug 20, 2004
Posts: 2478
Location: Denver
Audio files: 1
G2 patch files: 18

PostPosted: Mon Aug 23, 2004 11:09 am    Post subject: Reply with quote  Mark this post and the followings unread

Given a function [f(x)], and if you viewed the graph of such a signal (as in an oscilloscope), the differential of that signal is the instantaneous SLOPE of the function. So, in audio, for a triangle wave, as the triangle ramp goes up, you'd have a positive constant as the differential (the angle or slope of the triangle is constant), and when it starts going down again, you get a negative constant (again, the slope is a constant negative number). In essence, you get a square wave that lines up with the triangle waves peaks & valleys.

What an integrator does, is like a calculation of the "area under f(x)". So, if you put a square wave into an integrator, you get a ramp out of it for the "high" part (as time progresses, the area increases linearly), and when the square flips over, the ramp goes negative. End result: you get a triangle wave out.

If you connect your nord to a soundcard input, use some oscilloscope program to view these things (or help you tune the circuit your making).
Back to top
View user's profile Send private message Visit poster's website
pstnotpd



Joined: Apr 09, 2004
Posts: 31

G2 patch files: 3

PostPosted: Mon Aug 23, 2004 11:19 am    Post subject: Reply with quote  Mark this post and the followings unread

jksuperstar wrote:

If you connect your nord to a soundcard input, use some oscilloscope program to view these things (or help you tune the circuit your making).


I'm using wavetool. It contains a software scope which works quite well.
Anyway. Trying your suggestions, but I can't really get a pure integrator/differentiator yet. I suppose I have to do something with proportional gain.
Back to top
View user's profile Send private message
mosc
Site Admin


Joined: Jan 31, 2003
Posts: 17557
Location: Allentown, PA
Audio files: 123
G2 patch files: 60

PostPosted: Mon Aug 23, 2004 12:04 pm    Post subject: Reply with quote  Mark this post and the followings unread

As for proportional gain - if you use the glide module, it will be the time constant that controls the integration time. If you want an integrator for very fast events, like audio waveforms from oscillators, then just use a filter.

An integrator is really a numerical moving average of the current sample, plus each of some previous samples up to N, which is basically the time constant of the integrator. If you integrate over 100 samples that is a time of 100 * Sample Rate. If you integrate over 1000 samples, that time constant will be longer by a factor of 10. You could make an integrator using an 8 bit shift register, or several hooked up in series. Add all of the shift registers outputs in a mixer. You need to attenuate each output by about 1/N where N is the number of steps in the shift register. That is a true integrator.

As an asside, if you vary the settings on those summing mixers, then you have an FIR (Finite Impulse Response) filter. The setting of each knob is what is called a coefficient of the filter. It is possible to build very small FIR filters with the G2 in this manner, but you'll run out of resources if you want anything serious. Still, this is a good way to experiment and learn about FIR filters.

As for the differentiator, the simplist one would be the current sample minus the previous sample. Thus, the output of the differentiator is the difference signal. Why is this a high pass filter? Imagine if the signal changed from +1 to -1 every sample. The output would be +2 and -2 every clock tick. Virtually the same signal. (You'd want to scale the output by .5 obviously so you won't overload you systems dynamic range. Now imagine a very low frequency, say a DC signal that is always +!. The output of this would always be 0. Extrapolate these two examples and you'll see that at high frequencies go right through and low ones are blocked.

A differentiator is also sometimes called an AC coupler becasue it will pass AC but block DC.
Back to top
View user's profile Send private message Send e-mail Visit poster's website AIM Address
mosc
Site Admin


Joined: Jan 31, 2003
Posts: 17557
Location: Allentown, PA
Audio files: 123
G2 patch files: 60

PostPosted: Mon Aug 23, 2004 12:19 pm    Post subject: Reply with quote  Mark this post and the followings unread

Here's a simple FIR filter. It's has 16 "taps". As you load it is is an integrator because all of the coefficients are equal. There is a Xfade module so you can easily hear the difference between the input and the output.

Experiment with changing the coeffients by change the settings on the 8 channel mixers.

This might be educational.


simple-fir.jpg
 Description:
screen scrape of simple fir filter patch.
 Filesize:  57.07 KB
 Viewed:  15302 Time(s)

simple-fir.jpg



Simple FIR.pch2
 Description:
Simple FIR Filter for educational purposes.

Download
 Filename:  Simple FIR.pch2
 Filesize:  1.3 KB
 Downloaded:  1213 Time(s)


Last edited by mosc on Mon Aug 23, 2004 12:26 pm; edited 1 time in total
Back to top
View user's profile Send private message Send e-mail Visit poster's website AIM Address
Blue Hell
Site Admin


Joined: Apr 03, 2004
Posts: 20280
Location: The Netherlands, Enschede
Audio files: 143
G2 patch files: 318

PostPosted: Mon Aug 23, 2004 12:22 pm    Post subject: Reply with quote  Mark this post and the followings unread

Integration would be the summation of input values over time.

So a mixer will do the trick, the output has to be fed back into an input on itself that is maximally opened. The input signal can be fed into another input that attenuates quite an awfull lot (maybe an extra pre-attenuation will be needed) to avoid (almost) instantaneous clipping.

To make the integration process go slower the feedback could be sent through a sample and hold, the clock rate will then determine the speed (but it shoulld be set to at least twice the maximum frequency to be processed by it, otherwise nonsense will come out).

Note that this is still not a perfect integrator as 1) it clips, which it shouldn.t, yet it must. And 2) it's discrrete in time (and value) it should be continues. So its an approximation, but a better one than a low pass filter I guess.

I have to think a bit on differentiation, my first impulse is to say it can be done with the same circuit but setting the feedback to be negative instead of posittive, but I'm not too sure here, would need to refresh my math here ... ideas anyone ?

Remember that when experimenting with this using an oscilloscope that the G2 outputs have DC blocking, so to see if it works your signals should have reasonable frequencies, let's say 500 Hz or above.

Jan.
Back to top
View user's profile Send private message Visit poster's website
mosc
Site Admin


Joined: Jan 31, 2003
Posts: 17557
Location: Allentown, PA
Audio files: 123
G2 patch files: 60

PostPosted: Mon Aug 23, 2004 12:44 pm    Post subject: Reply with quote  Mark this post and the followings unread

Here's a simple differentiator patch. Again, nothing special, just a learning device.


simple-differentiator.jpg
 Description:
screen scrape of differentiator patch
 Filesize:  37.17 KB
 Viewed:  15297 Time(s)

simple-differentiator.jpg



Differentiator.pch2
 Description:
Differentiator for educational purposes.

Download
 Filename:  Differentiator.pch2
 Filesize:  1.16 KB
 Downloaded:  1267 Time(s)

Back to top
View user's profile Send private message Send e-mail Visit poster's website AIM Address
Blue Hell
Site Admin


Joined: Apr 03, 2004
Posts: 20280
Location: The Netherlands, Enschede
Audio files: 143
G2 patch files: 318

PostPosted: Mon Aug 23, 2004 12:54 pm    Post subject: Reply with quote  Mark this post and the followings unread

mosc wrote:
An integrator is really a numerical moving average of the current sample, plus each of some previous samples up to N


All that follows is IMHO ... I have to go way back into the past for this ...

An integrator when fed with a short impulse on its input would exhibit a small DC jump at it's output and would not decay to zero. So a pure integrator does not have a finite imulse response ... am I right ?

A moving average OTOH does not have a finite impulse response (it's a leaky integrator, or a low pass filter), and (so) it can be modeled as a FIR filter (although to only make a moving average I think the (cheaper) circuit I suggested earlier can be used as well, only the sensitivity of the positive feedback must be reduced to below unity (again IHMO just according to the best of my rememberance)).

Question is, why would we need integration or differentiation ? I wanted it (integration) once as building blocks for filters ... any other uses for it ?

Jan.
Back to top
View user's profile Send private message Visit poster's website
cristian



Joined: Jul 15, 2004
Posts: 24
Location: Barcelona
G2 patch files: 1

PostPosted: Mon Aug 23, 2004 1:21 pm    Post subject: Reply with quote  Mark this post and the followings unread

thanks Mosc and Blue Hell

thats really interesting stuff ... don't really understand a word of it right now, but will look at examples and ask some engineers down the pub..

I would be interested too, in what kind of potential there is for sound design using leaky integrators, FIRs etc.. What are the aesthetic results?

_________________
www.no-future.com
Back to top
View user's profile Send private message Visit poster's website
mosc
Site Admin


Joined: Jan 31, 2003
Posts: 17557
Location: Allentown, PA
Audio files: 123
G2 patch files: 60

PostPosted: Mon Aug 23, 2004 1:24 pm    Post subject: Reply with quote  Mark this post and the followings unread

Blue Hell wrote:

An integrator when fed with a short impulse on its input would exhibit a small DC jump at it's output and would not decay to zero. So a pure integrator does not have a finite imulse response ... am I right ?


An impulse implies that the single goes up and then down. The Integrator would return to zero after N clock ticks. If the input was a step function, the integrator would ramp up to the maxium value, but it would take N clock ticks to get there. The slope of the ramp should be constant.

What can you do with these? Well, since we already have really nifty filter modules and the glide module, the answer isn't obvious - except for educational reasons.

Any ideas?

While we are still on this topic, an Infinite Impulse Response Filter (IIR Filter) doesn't sum the outputs of the shift register - it mixes them back in with the input. There is recirculation of the signal through the shift register. These filters achieve much more dramatic filter effects, but they are a bit tricky because they can "blow up" - something that can happen whenever you play with feedback. Wink
Back to top
View user's profile Send private message Send e-mail Visit poster's website AIM Address
jksuperstar



Joined: Aug 20, 2004
Posts: 2478
Location: Denver
Audio files: 1
G2 patch files: 18

PostPosted: Mon Aug 23, 2004 1:59 pm    Post subject: Reply with quote  Mark this post and the followings unread

Just 1 use:
You could use an integrator to detect how fast you are playing...by integrating the gate times for instance, or the times between each note-on.
Back to top
View user's profile Send private message Visit poster's website
Display posts from previous:   
Post new topic   Reply to topic Moderators: Nord Modular Editors
Page 1 of 2 [43 Posts]
View unread posts
View new posts in the last week
Goto page: 1, 2 Next
Mark the topic unread :: View previous topic :: View next topic
 Forum index » Clavia Nord Modular » Nord Modular G2 Discussion
Jump to:  

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum
emSynth

Please support our site. If you click through and buy from
our affiliate partners, we earn a small commission.


Forum with support of Syndicator RSS
Powered by phpBB © 2001, 2005 phpBB Group
Copyright © 2003 through 2009 by electro-music.com - Conditions Of Use