Voxx, The 16-Band Vocoder for ATARI Falcon 030
(c)1994 Hans Achim Mueller


Short User's Manual for Freeware Version.

INDEX
-----
1.- Introduction
2.- Installation
3.- Description
4.- Operation
5.- Some Useful Hints
6.- Specifications




1.-Introduction, Copyright and Restrictions
  
This is the Freeware Version of a 16-Band Vocoder effect for the ATARI Falcon030 
computer. This program is Public Domain and free of charges. 

It can be copied and distributed, if it is done entirely, without any changes in 
the code or this text! Any distribution of mutations, improvements, cracks etc. 
of this program without my written permission is illegal!

Distribution on Data carriers like CD, Diskette or others are only allowed if 
these are without any charges for this program.

Music, Computer and all other related magazines are only allowed to distribute 
this software if they send me a FREE exemplar of it (also see exceptions).
For contact read at the end of this file


Exceptions: 
- For the magazine KEYS (Germany), the distribution is without any restriction. 
(thanks for the support!)

- Distribution is NOT allowed for the magazine Keyboards (Germany).

*************************** IMPORTANT *********************************
I do not assume any responsability, in any form, for direct or indirect
damages, that may result from the use of this program!
***********************************************************************

Hans Achim Mueller, 1999, updated 2010.



2.-Installation

To install, create a folder,copy all the files to your favourite disk 
and run it. If you get only noise and the spectrum display id maxed then
close it and try again (sync problems were reported)

Voxx requires 512 KB of free memory and runs only on ATARI Falcon030, with 
monochrome and or color monitors. 
For additional limitations/settings please look or ask in this forum:

http://www.atari-forum.com/viewtopic.php?f=27&t=17554


IMPORTANT: Before you start the program please read carefully this documentation 
to avoid startup problems (there may be some) 
I can give no support then I don't have a Falcon 030 anymore! 
Furthermore a Vocoder is a complex effect that requires some hints and knowledge 
to satisfy what is expected from it!


3.-Description

For all those who do not know what is a Vocoder and how it operates, or those 
that not have a lot of experience with them, I will try to explain it as simple 
as I can: Apparently the Vocoder is a Military residual product that was 
developed to encode the speech in a way that it was impossible to be understood 
by other listeners until they also had a Vocoder with the same configuration. 
The function of a Vocoder is to split the speech (FORMANT) or any sound into 
several Frequency-Bands (eg. to analyze each band) and apply the amount of 
signal in each band to another sound (CARRIER), that also is splitted in 
Frequency-Bands. In other words, the spectrum of the speech was used to FORM the 
sound of the CARRIER. The most analog Vocoder is our own Vocal-System that is 
composed of:
a.-Vocal chords: produce the voice (Oscillators)
b.-Mouth: forms the vocalization (Filtering and Noise)

The vocal chords produce a sound (voice) that only can vary the pitch but not 
the sound character. The waveform of this sound is nearby a Pulse-Wave e.g. rich 
in Harmonics. The sound character is given by our mouth formation 
(Vocalization). The form and volume of our mouth-cavity (including tongue 
position and mouth aperture) produce a resonance cavity that acts like a filter 
on the voice. 
Any variation of our mouth is a variation in the filter parameters, so we can 
say that we have a Time-Variable-Filter of more complex structure than known of 
analog synthesizers. In addition the same airflow that excites the vocal chords 
also can be/is used to create several noises ("s", "r", "t", etc) when it passes 
the throat, tongue and teethes, which are added to the voice and also filtered.

These variations, slower than the voice's pitch, are variations in the 
frequency-spectrum of our voice. If these spectrum-variations are extracted and 
used to parameterize the spectrum of a sound, similar to our voice, we get a 
synthesis of our voice. This synthesis will be as good as the spectrum-analysis 
and reapplication to the sound are.

A well known example (at least for musicians) is the Jew's harp where the 
instrument creates the sound (voice) and the mouth does the vocalization.

A Vocoder is composed of following main sections: The analysis section (FORMANT) 
that extracts the spectrum variations of the vocalization source (speech, drums, 
etc), the voice section (CARRIER) where these variations are applied to the 
target sound (strings, pulse waves, noises etc), something to interconnect both 
sections (routing MATRIX) and other sections, for signal conditioning like GAIN, 
MIX, PAN and VU-Displays etc. The names in uppercase are those I used in Voxx.


3.1.-Formant section:

The formant section is composed of 16 Band-Pass-Filters (BPF) for different 
frequencies (like an Equalizer) covering the desired frequency spectrum and 
16 Envelope Generators (EG's). Each BPF lets pass-through the part of the input 
signal's spectrum that lies around the BPF's center frequency (Fc) attenuating 
the rest of the signal's spectrum proportionally to it's "distance" to The BPF's 
Fc. In other words this stage "slices" the Formant signal in frequency bands. 
The more bands (BPF's) a vocoder has the more precise is the spectrum 
characteristic it can analyze. Each band output ("slice") is passed in the next 
stage to an envelope generator to form a envelope for each band, proportional to 
the formant signal's spectrum. As mentioned before, the vocalization is slow in 
relation to the sound, therefore envelopes are used instead of the direct BPF's 
output. The Attack/Decay time of The EG's is adjustable via the ENV-Faders to 
create different effects of vocalization.


3.2.-Carrier section:

This section also has 16 BPF with the same Fc's as the formant section and again 
here the carrier signal is filtered and "sliced" into spectrum components but 
this time the BPF's outputs go to Value-Controlled-Amplifiers (identical to 
synthesizer VCA's but controlled by digital Values, not Volts). The control 
value for these amplifiers is supplied by the Formant Envelopes. The result is 
that each Carrier-band output is modulated in amplitude by the amount of signal 
of this band in the Formant signal. If all results are added (MIXed) together 
the result is a "symbiosis" of the "speech" of the formant with the "voice" of 
the carrier. This is the principle that makes Talking Instruments talk! (or 
sing?)


3.3.-MATRIX:

Via the MATRIX it is possible to change/reassign (patch) the routing from the 
formant envelopes to the carrier amplifiers.

3.4.-Additional sections (at least for Voxx):

I/O-Section: This section is for input and output signal gain adjust and level 
display.
    
SPECTRUM & settings section: This section displays the formant spectrum 
envelopes and allows some global settings for envelope modes.

MIX/PAN section: The resulting signal is adjustable in this section via the MIX 
faders and the PAN knobs for each band similar to an equalizer.



4.-OPERATION:

After this long description (I hope, I have reached something more than confuse 
you) let me explain the operation of Voxx.

4.1.-   Connecting the Falcon030 :

IMPORTANT!
The Falcon030 audio inputs are designed for microphone signals and very 
sensitive. If you connect them with a LINE-Output of instruments, CD-players or 
other audio devices be careful with the levels. In this case the better way is 
to insert 200K Resistors in series with the audio-source and the Falcon030 


To connect the Falcon030 for use as Vocoder effect you need:



FORMANT sound source like a MICROPHONE, Tape deck, musical instrument, etc, 
connected to the Left-Input of the Falcon030.

CARRIER sound source  like SYNTHESIZER, electric guitar, etc connected to the 
Right-Input of the Falcon030.

A headphone, amplifier etc, connected to the Falcon030 stereo output.

NOTE: Uppercase devices are the most used in a Vocoder effect (see
chapter 5.)


4.2.-Voxx-Screen:

The following is a diagram of the Voxx Vocoder as it is arranged
in the screen:

        ------------------------------------------------------------------------
         "Desk"  "File"                   Menu Bar
        ------------------------------------------------------------------------
         I/O Section          Spectrum & settings                 Matrix
        +------------+  +----------------------------+  +----------------------+
        | ####  #### |  | ########################## |  |  F                   |
        | ####  #### |  | ########################## |  |  E                   |
        | ####  #### |  | ########################## |  |  D                   |
        | ####  #### |  | ########################## |  |  :                   |
        | ####  #### |  | ########################## |  |  :                   |
        | F  C  L  R |  |                            |  |  2                   |
        | O  A  O  O |  |  P1 P2 P3 P4 P5 P6 P7 P8   |  |  1                   |
        | R  R  U  U |  |                            |  |  0                   |
        | M  R  T  T |  | FREEZE SLOW FAST STORE_PRG |  | RST 0 1 2 .... D E F |
        +------------+  +----------------------------+  +----------------------+
        +-------------------------------------------------------------+ +------+
        |  E                                                          | | Voxx |
        |  N                     16 ENV-Faders                        | |  F   |
        |  V                                                          | |  U   |
        +-------------------------------------------------------------+ |  T   |
        +-------------------------------------------------------------+ |  U   |
        |  PAN                   16 PAN-Knobs                         | |  R   |
        +-------------------------------------------------------------+ |  E   |
        +-------------------------------------------------------------+ |      |
        |  M                                                          | |  U   |
        |  I                     16 MIX-Faders                        | |  S   |
        |  X                                                          | |  E   |
        +-------------------------------------------------------------+ +------+
        "#" = Level Bars


4.3.-Menu bar

The menu bar is composed of the titles "Desk" and "File"
    

4.3.1.- "Desk" is the menu for the options:

- About Voxx..: which shows the program's version and Users Registration.
       
- The other options are the accesories your system has installed.


4.3.2.- "File" is the menu for Loading, Saving a file and Quit the program.

-  Load File: Loads a file with the settings for 8 user programs and the 
previous saved memory settings.

-  Save File: Saves a user file with the 8 user programs as well    as the 
actual memory settings.

NOTE: The file extensions are predefined as "VXD" (VoxX Data)
    
- Quit: Exits the program.


4.4.- I/O Section

The I/O section is composed of 2 Level-Displays for Input and Output levels, Left 
and Right each. The left input of the ATARI Falcon030 is for the FORMANT 
(speech) and the right input for the CARRIER (voice instrument). The output is 
the stereo effect (Left and Right). The 4 faders below are for adjustment of the 
input and output levels. To move a fader, point it with the mouse and press the 
left button, holding it (the arrow will change to a hand), now you can move the 
mouse up and down to adjust the selected level. The slider will follow within 
his limits while the left mouse button is pressed.


4.5.-   Spectrum and settings section

The large display, shows the actual envelope value for each CARRIER-band that is 
extracted from the Formant source, like a spectrum analyzer. The frequency for 
each band is displayed below. The program buttons allow the selection of 8 user 
setting programs that are loaded at the start of the program or via the "Load 
File" option in the Menu title "File". These are user programs. Each of these 
programs holds the settings for all adjustable parameters. Pressing a program 
button, the selected program is copied to the edit memory . Each change in the 
adjustments is done in the edit memory (those that are active). If you want to 
store these settings for future use you must write them to one of the 8 user 
programs (see STORE PRG) and then save them with he option "Save File" in the 
menu title "File".
Of the 4 buttons at the bottom the 3 named FREEZE, ENV SLOW and ENV FAST are for 
a global range setting of the formant envelope attack/decay velocity.

FREEZE sets all attack/decay velocities to zero regardless of the ENV fader 
settings, freezing all actual envelope values until another button, SLOW or FAST 
is pressed. This function is useful to equalize the CARRIER with a FORMANT's 
spectrum characteristic.

SLOW and FAST set two different envelope velocity ranges with a relation 1 to 
10.

The STORE PRG button is to store the actual settings (in memory) in one of the 8 
available programs. To store a program press STORE PRG, all the program buttons 
will then show pressed and then press the program button where you wish to save 
the settings. The settings will be recalled each time you press the selected 
program button.


4.6.-The MATRIX

The matrix is used to connect the FORMANT Envelopes to the CARRIER amplifiers. 
For each band there is a FORMANT(source) button(green) and a CARRIER(target) 
button (yellow) labeled from 0 to F, where the 0 stands for the lowest frequency 
band and F for the highest. With this matrix it is possible to assign or route 
the envelope of one selected frequency band to any of the CARRIER-band-
amplifiers. So you can assign a low frequency amount in the FORMANT to modulate 
a high frequency band of the CARRIER and vice versa. In a 1 to 1 routing the 
effect of a talking instrument is the most notable while the shifting of the 
bands in both directions by one or two (0 with 1, 1 with 2, ... E with F  or 
vice versa) adds the effect of pitch shifting (which is the logical consequence 
of shifting the bands). Very scrambled routings may result in interesting and 
unexpected effects of vocalization that surely will not be understood as human 
speech, regardless of what source for the FORMANT is used.

The RST button ReSTores the 1 to 1 routing of the MATRIX for comfort.
     
To operate in the matrix is very simple, then once the mouse enters the routing 
field, it's pointer transforms in a cross that intersects with both the FORMANT 
and CARRIER band buttons. If you want to connect FORMANT band 5 to CARRIER band 
E place the cross in the position where the green button "5" and the yellow 
button "E" are pointed by the horizontal and the vertical lines respectively, 
then press the left mouse button and the routing will be done. You can do this 
routing as you like. A FORMANT source can be routed to one or more CARRIER 
targets but a CARRIER target can only receive one source. This means that if a 
source is routed to more than one target there will be one or more sources 
without a respective target.  Leaving the routing field returns the mouse 
pointer to the usual arrow.


4.7.-ENV section

This section consists of 16 faders each one assigned to a frequency band. 
According to the range selected with the ENV SLOW/FAST buttons it is possible to 
adjust the attack/decay for each FORMANT envelope. The lowest slider position is 
for slowest and the highest for fastest attack/decay times. These sliders are 
moved by pressing the left mouse button while it is positioned in one of the 
faders and keeping the button pressed moving the mouse up and down (pointer is 
now a hand).

A specialty for this section as well as for the MIX section is that if you move 
the mouse pointer over another fader of this section while the button is 
pressed, then the new pointed fader becomes active leaving the one before in the 
last position. With this method it is possible to "draw" the slider positions 
with the mouse, moving it over the entire fader section. In this way it is 
possible to slide all faders down or up by entering in one fader, pressing the 
left mouse button and holding it, to travel the mouse pointer across the entire 
screen. While the mouse button is pressed the only affected faders will be those 
of the section where the mouse pointer was in the moment the left button was 
pressed.


4.8.-PAN section

Since the FORMANT (left input) and the CARRIER (right input) are used both to 
form one signal, this section is for adjusting the stereo panorama position for 
each modulated CARRIER band (result output), to create a stereo effect.
It is provided with 16 knobs (potentiometer simulations), one for each band. To 
move one of these knobs move the mouse pointer to it and press the left mouse 
button and while holding it, move the pointer around the knob. While the left 
button is pressed the knob mark will point in the direction of the mouse pointer 
over the entire screen.


4.9.-MIX section

The result of each coded band now is ready and with this section it is possible 
to adjust the gain for each band (equalize) to fit the desired tone 
characteristic. The MIX faders are adjusted in the same way as the ENV faders.

Additional information: When any adjusting element is being changed (faders and 
knobs), each variation is immediately send to the DSP (and not when the left 
mouse button is released). You will hear the changes in real-time (as fast as 
real-time is possible). This has a disadvantage: The faders are a little slower 
than those that are commonly used to set parameters (here the information is 
actualized after the change/movement is completed by releasing the mouse button. 
I think that for a musical effect, real-time is a more important factor than 
fast slider animation. Recalling a program also involves sending all parameters 
to The DSP.


5.-Some Useful Hints

Experience has shown that the use of a vocoder could be frustrating for some 
users due to bad understanding of it's operation and what the user wants to do 
with it. My shortest explanation of a vocoder I ever had given to those who 
asked me "what is a vocoder?", was:

       "it is like a good equalizer acting over a sound (CARRIER) whose gain 
controls are fast moved by servomotors which extract their movement information 
from the frequency spectrum of another signal (FORMANT)."

To obtain a good vocoder effect it is important to know what kind of effect is 
expected and what FORMANT and CARRIER sound sources are used. The most used 
applications use speech as a source for the FORMANT and synthesizer-sounds for 
the CARRIER.

The FORMANT sources like speech should be clear and cover the most part of the 
spectrum (use the display). A thin voice like through a phone or a smooth one 
(like mine) are very poor in the spectrum's "Skyline". A very good speech source 
is that of the News Speaker in the FM/UKW-Radio (They have all the equipment to 
fill the entire spectrum with speech). I strongly recommend this test! If using 
your own voice try not to sing or vary the pitch according to the music (else 
your spectrum moves with or against the spectrum of the carrier creating 
irregular highs and lows in level). Remember that the most part of the voice 
(sound) of the FORMANT is discarded, depending on the envelope settings, and 
only the vocalization is extracted. Drums or other percussion are also used as 
formant to create rhythmic vocalizations of an instrument. Here the limits and 
settings are unlimited and depend of your imagination.

CARRIER sources should be rich in harmonics and these are all those clear and 
sharp sounds like Strings, Brass and all those sounds whose waveform is based on 
sawtooth and pulses. Square, triangle and sine waveform based sounds (smooth 
ones) like Flutes, Whistles and some organs aren't good ones. Their harmonics 
are very small in relation with the fundamental which will dominate the spectrum 
(a true sine has no harmonics) and the resulting sound will be only in the bands 
near the fundamental's frequency band. The CARRIER's pitch is the pitch for the 
resulting effect, here is where the melody, chords or whatever should be played.

I will try to list the effects and the best settings as well as sources for each 
one:


a)  Talking (singing) instruments, Choirs, Backgrounds, Harmonization:

    FORMANT :    Human Speech
    CARRIER :    Strings, Brass, Sawtoths, Pulses playing the melody or
                 accompainement chords.
    Settings:    Envelope SLOW
    ENV Faders:  upper positions
    MATRIX:      1 to 1 or shifted by one or two
      or
    Settings:    Envelope FAST
    ENV Faders:  lowest positions (in upper positions FORMANT's
                 pitch adds to the result)


b)  Robots:

    FORMANT :    Human Speech
    CARRIER :    Strings, Brass, Pulses, Sawtoths,  with constant pitch
                 (no melody) or steady chords.
    Settings:    Like a)


c)  Solist Singer   

    FORMANT :    Human Speech
    CARRIER :    Strings, Brass, Pulses, Sawtoths,  with monophonic
                 (one Finger) melody (synthesizer options like DUAL,
                 UNISON, FAT, PORTAMENTO etc have very good results)
    Settings:    Like a)


d)  Rythmic Chords and sounds 

    FORMANT :    Drums, percussions
    CARRIER :    Strings, Brass, Pulses, Sawtoths, etc.
    Settings:    All Envelope settings (except FREEZE)


e)  Warm instrument contouring (variable filtering)

    FORMANT :    No limits
    CARRIER :    No limits
    Settings:    All Envelope settings (except FREEZE)


e)  Equalizer (fixed filtering):

    FORMANT :    Blows in the micrphone Noise or any sound
    CARRIER :    No limits
    Settings:    First envelope SLOW or FAST.
                 When the spectrum display reaches a desired
                 characteristic press FREEZE
      or
                 using Noise or blowing the micro and pressing
                 FREEZE when spectrum display is equally leveled.
                 Use the MIX faders to equalize the sound.


6.-     SPECIFICATIONS

The following are the main Voxx specifications:
      
Number of Bands:     16 FORMANT Filters and 16 CARRIER Filters
      
Filter Types:        Digital-IIR, 4-Pole Band-Pass
      
Center Frequencies:  125, 160, 210, 275, 360, 460, 600, 780, 1020,
                     1325, 1725, 2250, 2900, 3800, 5000 and 6400 Hz.
      
Sampling Rate:       20.77 kHz, 16 Bit Stereo
      
DSP Usage :          100%
      
Dimensions(Pixels):  630 x 460 x 1 (W x H x D)
      
Memory Consumption:  aprox. 512 kB


Support and Updating: Due to ATARIs death this program has no more support.

Problems and errors with the Demo-Version:
As far as I have tested and know, this program runs without any notable error. 
There may be some problem when starting Voxx: The Spectrum Display will 
overdrive, at the output may be only noise and any attempt to reduce the Levels 
will be without effect. Solution: Start again and/or Cold Reset (Set amplifier 
inputs and volume low!)

Multitos and Voxx: I recommend to use Voxx in the normal TOS mode (Single Task). 
Due to the intense communication  between Voxx and the DSP, I doubt if there is 
time enough left for "Multitosing".

Special Thanks go to:
Frank Doernenburg and Galactic for Support while the Programming of Voxx! 
Peter Bartilla (Mr. Bombfinger) for Beta-testing!
Crash for delivering a unregistered version of it 15 years later! Aloha!

First publication: January, 1994
First Freewared and text revised: July, 1999 
Last update: May, 2010


Hans Achim Mueller
GERMANY
Web: http://www.axxim.de/r3dias

For contact send a PM to "axxim" or post a message in the Voxx thread at:
http://www.atari-forum.com 



