SOUNDS, SIGNALS, SYNTHS & SCOPES
Welcome to the FlowStone Workshop number 21, where we give a beginners guide to computer programming using the FlowStone graphical programming language. In this issue we are going to look at how to program sound for your robots.
One of the amazing features of FlowStone is its ability to handle/create sounds and signals. In fact, the original concept of FlowStone (SynthMaker) was as a graphical programming language to create music synthesizers. This heritage still lives on inside FlowStone which makes it very powerful when you want to generate sounds, perform DSP (Digital Signal Processing) or display signals in the FlowStone GUI.
Oscilloscopes (Scopes) are pieces of test equipment used to display analogue signals on a screen so you can visualize a signal that is too fast to see normally on a meter. You can use a scope to monitor a signal, see its level and frequency. There are several scope modules inside FlowStone that you can just use or modify. For example, you can make a ‘voice to scope’ display similar to those used on vintage robots.
Oscillators are also pieces of test equipment that generate different shape signals. Typically, Sine, Square, Saw Tooth & Triangle Waves & white noise (hiss) are possible. These can be generated in FlowStone visualized on a scope or FFT analyser and fed out to the soundcard so you can hear them in real-time.
Filters take in an audio signal and filter specific frequencies out or can be used to boost particular frequencies. A Filter typically has three inputs: the center frequency, the Q or width of the frequencies to be affected around the center frequency and gain which can be positive or negative. A filter of this type is usually called a parametric filter or EQ. Many of you may be familiar with a graphic equalizer which is simply a bunch of parametric filters in series with neatly spaced center frequencies to cover the entire audio spectrum.
Mixers are used to balance the level of several sound sources in order to get the ‘Mix’ that sounds best. As some signals are louder than others, Mixers are used to change the relative volume usually on sliders or knobs. You can quickly build your own custom mixer in FlowStone.
FX is short for Sound Effects, which are usually a combination of filters, delays and gain control, used to make weird and wonderful sounds based on an input signal. Things like Delay, Reverb (echo), Chorus, Flanges, Phasors, EQ, Compressors, and Limiters etc. are standard with FlowStone[/box]
Synthesizers are combinations of filters and FX that can create unique sounds. Using FlowStone you can make simple or vastly complicated professional sounding synthesizers, you can even export your synth to be used in programs like Cubase VST. [/box]
Midi stands for ‘Musical Instrument Digital Interface’ and is used to connect different MIDI instruments together or to your PC. FlowStone supports MIDI so you can connect a keyboard or the like to play sounds generated in FlowStone. You can also send out MIDI so you can control other instruments or MIDI lights also from FlowStone.
In order to get sound in or out of your PC you will need some form of Soundcard. Most PC’s and Laptops have a stereo soundcard with two channels in and two channels out, usually at CD quality i.e 44.1Khz 16bit.
These typically use the Direct Sound Driver system and you can use these directly inside FlowStone. However, if you want professional quality sound, then an external Audio Interface can be used. These can also have more ins and outs (eg. 16 ins and 4 outs, or 8 ins and 8 outs etc.) that can also have higher sample rates and more dynamic range (eg. 96Khz/24 bit, or 192Khz/24 Bit).
You can even use FlowStone to send text to the PC’s speech synthesizers, so your robot can talk!
Audio has always been a large part of bringing robots to life, be it using sound effects like the RoboCops motors, speech synthesis for talking robots, or generating interactive sounds. The great thing is that FlowStone has everything you need to generate your own unique sounds and play them by Triggering via midi or sensors on your robot. You can also use FlowStone as a piece of test equipment to generate signals using oscillators and display the outputs on a software scope. All of the files shown here are available as example files, many of which are in the free ‘AudioPack’ Download for FlowStone.