Page 6: Asynchronicity



Frequency asynchronicity

The best way to learn what frequency asynchronicity does is to try it. So now go to the controller for the Sinus wave in cell Z19 and enter a value of 32000 in the frequency asynchronicity input field. Listen to the sound and notice that all pitches have gone up. Then change the value to -32000 and notice that all pitches have gone down. So what is happening?

We're going to see how frequency asynchronicity works by studying the graph of a Sinus wave. In order to do this you should now close all the controllers you have open, since their long time intervals will interfere with our study. We need to see the graph right at the start of the sound, and not after twenty seconds. The easy way to close all controllers is to go to the 'Viewers' menu in the main window and pick the 'Close all' item. This will close all controllers.

Next add two wave generators to your setup, in the cells Y21 and Z21, connect the output connector of the one in Y21 with the frequency connector of the one in Z21. Then change the wave of the generator to the left into a Sign wave. Your setup should now look like shown here.

Now change the start and the end of the interval of the Sign wave into zero. This will make it produce all zero's, and its graph will be a straight line on top of the X-axis. Then open the controller for the Sinus wave. You'll see one cycle of the wave. This is correct. It's frequency is set to 440 Hz and the time interval of the viewer to 220 Hz. So this is a wave at 220 Hz, and that is because it gets fed a signal of all zero's on its frequency connector, as was explained on page 5.

Asynchronicity is like a filter that gets applied to an incoming signal before it does its modulation. Unfortunately there is nowhere in MathSounds where you can see a graph of a signal after asynchronicity has been taken into account. All you can see is the effect the signal has on the wave it modulates. So you'll have to use your imagination a bit.

Changing the amplitude of this Sinus wave to 100 might help you understand better what asynchronicity does. The graph you'll see is also shown here.

Now suppose that like a big invisible hand would come and push this curve upwards. The maximum value cannot change, since it is already at its absolute maximum, but the bottom will be pushed upwards, so the whole curve gets kind of compressed. It would also not be symmetrical anymore. Less of it would be below the X-axis then there would be above it.

This is what positive asynchronicity would do to this wave if it were a wave that was used for modulation. It is not, so you won't see this effect. Instead we have a straight line as an input. Now it should not be too hard to understand what a positive value for the frequency asynchronicity does. It pushes this line upwards, thereby increasing the frequency of the Sinus wave. Try it and enter a value of 3200000 in the frequency asynchronicity field. You'll see that the frequency almost doubles, since now it shows two cycles of the wave. This is why it is called 'asynchronicity'. It's making this generator run faster than it would without it. It is out of sync with the generators before it all the time.

To continue your testing you should now set the frequency asynchronicity to -64000 and notice that negative asynchronicity slows a generator down, since you'll see only half a Sinus. So this is what frequency asynchronicity does: positive values increase the frequency of the wave it is used for, and negative values decrease it. Now you can understand why the pitches in our sample sound increased and decreased when we used frequency asynchronicity on it.



Amplitude asynchronicity

Amplitude asynchronicity is a form of asynchronicity, so using it will change an incoming signal in the same way as frequency asynchronicity does, in the sense that the curve gets compressed. It's effect is ofcourse a bit different, but not hard to guess. Positive asynchronicity will increase the amplitude of the wave that gets modulated, negative asynchronicity will decrease it.

To test this you should delete the connection between the output connector and the frequency connector by right clicking on either one, and then create a connection between the output connector and the amplitude connector. If you now look at the Sinus wave you'll see it is back at 440 Hz and has an amplitude of 50. Ofcourse in the input field it still says 100, but it's curve goes as high as half the maximum height above the X-axis and as low as half the space between the X-axis and the absolute minimum value. This is consistent with an input of all zero's. This being the middle value it should cut amplitude in half.

Now enter the next cryptic value in the amplitude asynchronicity input field: 1E308. This means one times ten to the power of 308, which equals a one followed by 308 zero's. This is the absolute highest number you can use in MathSounds, and as you can see it boosts the amplitude of this wave to the absolute maximum. Then enter a value of -100000 and see how it decreases amplitude. This last curve is also shown here.

A final word about inverted mode is needed now. If you're good at imagining things you might now get all joyfull about the great asynchronous waves you could produce by combining amplitude asynchronicity with inverted mode. After all asynchronicity makes a wave asymmetrical with respect to the X-axis, so switching such a wave to inverted mode would make for great waves, since the part of the wave under the X-axis is different from the part above it. And this is the whole point of inverted mode, treating the part above the X-axis different from the part below it. Unfortunately this won't work. When you switch a generator to inverted mode it will no longer take amplitude asynchronicity into account. It is as if it is not there. There's a mathematical reason for this, and it has to do with how MathSounds calculates its numbers. There would not be a problem if amplitude asynchronicity would be applied first, followed by the effect of inverted mode, but in fact MathSounds applies both effects simultaneously. This is great for performance reasons. You can have more wave generators and viewers because of this. The drawback is that combining amplitude asynchronicity with inverted mode would at best lead to a wave that is no different from a non-inverted wave, and at worst it would make MathSounds produce values that are too high. The curve would go higher than the viewer can display, and the membrane in your loudspeaker would have to be moved to a position it cannot attain.



A new sound

We will now see how powerfull a tool asynchronicity can be by creating a new sound, as an example. You might already have wondered what the point is of changing the pitch of a tone by using frequency asynchronicity, since the same thing can be done by just changing the frequency. This is however not entirely true. In our sample sound, changing the frequency of the last generator before the speaker would indeed change the pitch of all tones, but the various pitches would still be at an equal distance from each other, whereas frequency asynchronicity brings them closer together. Asynchronicity can however do much more than changing the pitches of tones, as our next sound will show.

Since we now understand asynchronicity, we don't need the two generators we added last anymore. After all they're not connected to the speaker in any way, so they don't contribute anything at all to the sound, they just waste valuable time your computer can spend in a better way. There's an easy way to delete all generators that have become useless in one go. Open up the 'Edit' menu in the main window and pick the 'Remove generators without a connection to the speaker' item. This will remove all generators that are in no way connected to the speaker, directly or indirectly, in other words, all generators that can be deleted without changing the sound.

After you've done that, you might want to save this setup, because we're going to delete it. Pick the 'Remove all generators' item in the afore mentioned 'Edit' menu if you want to start all over again, as you should do now.

When you're ready you can open up the final page of this tutorial.


Page 1: Introduction, news and installation

Page 2: Tutorial: creating a simple sound

Page 3: Modulation: wave generators working together

Page 4: Inverted mode and the interval of a wave

Page 5: Frequency modulation, waves and inverted mode

Page 7: A new sound

Page 8: Manual: the main window

Page 9: The main menu

Page 10: Controllers

Page 11: A controller's menu

Page 12: The waves

Page 13: Release notes, known bugs and issues

Page 14: History and archive

Page 15: Disclaimer

Page 16: Downloads

If you can't find a button to download MathSounds try


Please send your questions, comments or remarks to info@mathsounds.com