Warning: Table './webel02_wcadrupal/cache_page' is marked as crashed and should be repaired
query: SELECT data, created, headers, expire, serialized FROM cache_page WHERE cid = 'https://www.webel.com.au/category/technology/signal-processing/digital-signal-processing/vfo' in /home/webel02/public_html/includes/database.mysql.inc on line 135

Warning: Cannot modify header information - headers already sent by (output started at /home/webel02/public_html/includes/database.mysql.inc:135) in /home/webel02/public_html/includes/bootstrap.inc on line 736

Warning: Cannot modify header information - headers already sent by (output started at /home/webel02/public_html/includes/database.mysql.inc:135) in /home/webel02/public_html/includes/bootstrap.inc on line 737

Warning: Cannot modify header information - headers already sent by (output started at /home/webel02/public_html/includes/database.mysql.inc:135) in /home/webel02/public_html/includes/bootstrap.inc on line 738

Warning: Cannot modify header information - headers already sent by (output started at /home/webel02/public_html/includes/database.mysql.inc:135) in /home/webel02/public_html/includes/bootstrap.inc on line 739VFO | Webel IT Australia "The Elements of the Web"

Each channel of each Drancel can drive a Variable Frequency Oscillator (VFO) - in this case a simple sine oscillator - with the option of locking onto discrete MIDI note frequencies, as well as a frequency scaling, a frequency offset, and an output gain.

Variable Frequency Oscillators (VFOs) are grouped in a triad corresponding to the (X,Y,Z) accelerometer channels of a Drancel.

This is the most immediately powerful Drancing mode as far as aural biofeedback is concerned, and it promotes proprioception. It sounds quite sci-fi like and eerie, and reminds one of the Theremin, except there are (in the mode shown here) 3 independent frequencies, which can be made "rub" together to create beat frequencies.

So now the acceleration signals are acquired and conditioned let's use them to modulate some synthesised sound with JSyn audio:

To really understand this audio synthesis one should study the JSyn API and tutorial. A brief explanation follows:

A slight smoothing lag is required in the modulating acceleration signal otherwise one can get sharp "clicks" caused by a jump in the modulation, since the data acquisition loop is fast enough for bumps to be heard as audio spikes !

The modulating signal is distributed (fan-out) and conditioned separately (scaled and offset) for VFO and AM. Of course one can play many other games like trimming and such, too, however scale and offset is sufficient for proof-of-concept.

One can choose between "fixed" amplitudes and frequencies or modulated amplitudes and frequences, to achieve: pure AM, AM + VFO, or pure VFO. The idea of this prototype is to demonstrate these pure modes, however of course many other syntheses are possible. The "fixed" amplitudes and frequencies can actually be varied by the user as system parameters using UI controls, so they are named here "varAmplitude" and "varFrequency". They are effectively "fixed" on the timescale of the synthesis engine compared with the slow GUI cycle.

The modulating or "fixed" frequency and amplitude are then fed to an oscillator (in this case a simple sine oscillator).

A further gain is applied, which achieves the mix into the final bus.

The modulated oscillation is panned to stereo bus writers for combination with other stereo syntheses in the final output mix.

Groups of three user parameters can be master-slaved to a single UI control to impose "triaxial accelerometer" structure for the user experience. Or one can group all X, Y, or Z channels and act on those, or one can group all channels for global UI control.

The (X,Y,Z) channels of five 3D accelerometers vary the amplitudes and the frequencies of 5 x 3 = 15 pure sinusoidal oscillators.

One can hear "beat" frequencies generated by similar frequencies corresponding to different accelerometer channels, such as when the arms are raised to similar levels, which effect can be exploited for musical nuance and for movement therapy to measure symmetry of posture.