Page 12: The waves



The waves

The final page of this manual will give some information on each and every available wave.



Equals

This wave is an implementation of the function y = x. For each value on the X-axis a value on the Y-axis is chosen that is equally large. This results in a graph that shows a straight line. There are no limits to the size of the interval you can choose, but if you think that you can make the curve rise high above the x-axis by inputting a large value for the end of the interval you are mistaken. For all waves in MathSounds the rule goes that only the amplitude can set the maximum distance between the X-axis and the upper and lower limit of the function used. This means that the start and the end of the interval can only be used to determine how much of the curve will be above the x-axis, and how much will be below it. The default setting for the interval sets it to range from -1 to 1. This makes half of the curve be below the X-axis, and the other half above it. If, for instance, you would set the interval to range from -1 to 2, then one-third of the curve will be below the X-axis, and two-thirds above it. You might have noticed that the equals wave generator creates a sawtooth wave. If you want to have one that is completely above the X-axis you can set the interval to range from zero to 1. If you then set the startpoint to zero you get a very average sawtooth wave.



Equals Absolute

This wave is also an implementation of the fuction y = x, but this one changes every negative result in its positive counterpart. The default settings, with an interval that ranges from -1 to 1 and a startpoint of zero, create a triangular wave. In general, with the equals absolute wave you can control the length of the lines going up and down by changing the start and the end of the interval. If the start of the interval is far more below zero than the end of it is above it, you'll get a small line going up and a large one going down. This wave generator can create a sawtooth wave as well, but consider it a bit of practice to try to find out how to do that.

You might notice that in order to make the equals absolute wave sound equally loud as the equals wave (both in their default settings) you have to double the amplitude. This is because the latter has double the distance between its highest and its lowest points when compared to the first. You might also notice that when you first listen to the equals wave, and then to the equals absolute wave, that the latter produces a sound that is much nicer to listen to, even when you modify the amplitude so that they both are equally loud. In general sounds have a nicer feel to them if their curves show less sudden changes, unlike the equals wave where the curve drops from its highest to its lowest point from one sample to the next.



Noise

The noise wave creates noise by choosing a random number for each and every sample. This means that the values in the frequency and start point input fields will in no way influence the sound that is created. Like with the equals wave you can choose how many of the computed values will be below the X-axis and how many will be above it.



Random

The random wave also creates random numbers, but it changes the number only as often per second as the value in the frequency input field indicates. This creates a sound that, on lower frequency settings, will still sound a bit like a tone, but with a lot of noise mixed in with it. On higher frequencies it will become just plain noise, and if you set it to a frequency equal to the sample rate it will work exactly like the noise wave, though it being a very inefficient one. As often is the case, you can use the start and end of the interval settings to determine how the generated numbers are spread above and below the x-axis. To get a meaningful graph in the Viewer display area it's best to set the viewer to a frequency much lower than the frequency of the wave.



Round

The round wave works much like the equals wave, in the sense that it is also an implementation of the y = x function, except that in this case the result is rounded to the nearest whole number. This creates a stairs like curve. The farther the start and the end of the interval are apart, the more steps the stairs will have. When making the interval too large the steps will become so small that it functions like an equals wave. A special case of the round wave occurs when you set the interval to range from -0.49 to 1.49, with a start point of 0.5. In this case you'll get a blockwave that never drops below the X-axis. Like with any wave you can also create a straight horizontal line by making the interval very small, but such a wave will not produce any sound.

An issue with the round wave is that it is not that easy to make it ever produce values that equal the absolute highest and lowest values for waves. This is because of the rounding. If you set the end of the interval to 5.5, for instance, it will take into account that this wave might at some point reach the value 6, even though it hardly ever does that, so even when setting the amplitude to 100 you will not get the maximum loudness. For that you'd have to use a value just below 5.5.



Round Absolute

This one works like the round wave, except that its negative results are converted to their positive counterparts. You should try the following exercise. Set the interval to range from 0.5 to 3.49 and see how the curve floats in the air well above the X-axis. This is a common behaviour for most waves. Now set the amplitude to 100 and notice how the wave reaches the top of the display, indicating a maximum output to the loudspeakers. But here it comes, a peculiar feature of the two round waves, that shows something of the inner workings of MathSounds. Now change the end of the interval to 3.5 and notice how the top of the curve drops down. This seems very strange: increase the end of the interval and get a curve with a lower maximum. The reason for this is that the program, when determining what the maximum value of the wave on the chosen interval will be, takes into consideration the end of the interval, 3.5 in this case, but when actually computing the wave it will never use this upper limit, hence the computed maximum will never be reached and you'll find it impossible to get this wave with these settings to ever produce the maximum output. As another exercise now change the amplitude to -100 and see how the wave gets inverted as the curve drops completely below the X-axis.



Sign

The sign wave assigns a one to all positive values and a minus one to all negative values. This makes it the perfect generator for creating a block wave that half of the time lives above the X-axis and the other half below it, except maybe that a zero as an argument creates a zero as a result. You can however change the ratio of time above the X-axis and time below it by changing the start and the end of the interval. A large number for the end of the interval will cause the wave to mainly produce positive numbers, and if the start of the interval is far more below zero than the end of the interval is above zero, the wave will live mainly below the X-axis. By setting the start point to zero you'll create a block wave that starts with a positive block.



Sinus

Much has been said already about the sinus wave. That will not be repeated here. Let's instead do something different and use a sinus to create a sawtooth with its teeth pointing in the wrong direction. To do this you let the interval range from 0.75 pi to 1pi, and let wave generation start at 0.75 pi. By the way, you can also create this sawtooth wave with the equals absolute wave, and you can also create a regular sawtooth with a sinus wave. But consider these too to be exercises for you to get a feel for playing around with waves.



Squared

The y = (x squared) function creates a smoothly flowing graph that sounds nice. MathSounds imposes the limits on the interval it imposes on all intervals, except for the ones that have special requirements. This means that the interval can range from -1.0E102 to 1.0E102. Even with the high numbers this wave then produces, the amplitude can still be set to 100. See page 6 of the tutorial for an explanation of scientific notation in MathSounds. The squared wave looks like a nice triangular wave with curved sides. It can also be used to create the two kinds of sawtooth waves that already have been discussed, but with slightly curved edges. We'll leave this up to you to figure out how to do that.



Square Root

This wave looks a lot like a sawtooth wave in its own right. You can't really change much about what it looks like or how it sounds. Ofcourse MathSounds will not allow you to input an interval that starts below zero, so all you can do is make the start of the interval move closer to the end of it, in which case the curve will start to look more and more like a straight line. With this little amount of difference between the highest and the lowest point of the curve you will probably want to pump up the amplitude significantly to produce a sound that is loud enough.



Tangent

This wave, that is equal or close to zero most of the time, with an occasional spike upwards and downwards, sounds rather peculiar. MathSounds won't allow you to set the start of the interval lower than -0.4999pi, and you can't set the end of the interval higher than 0.4999pi.

This wave suffers from the same problem the two round waves do: you'll find it hard to get it to produce a value equal to the absolute highest or lowest value that can be used for sound generation, since the tangent moves all the way up and down to infinity at -0.5pi and 0.5pi. It's almost vertical line will usually cause the value at the start and end point of the interval you specify to be much higher than the value the wave will ever achieve.



The end

With this we have come to the end of the manual. On the next page you'll find the release notes and information about known bugs and issues.


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 6: Asynchronicity

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 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