This paper presents the real time implementation of VoCODER on Virtual Instrumentation platform .It also discusses the effective steps, which are useful to improve the quality of recording and playback voice signal which are used to select & design blocks of VoCODER. The DAQ hardware were chosen as they provide portable and cost effective computation platforms. To gain software flexibility and interactivity, the LabVIEW graphical programming environment is used. The paper details the effective steps considered to discard unwanted frequencies that are undesirable (such as noise) & allow user to select wanted frequencies to record a noise free human voice. Approach used here also elaborates the use of different type of filters that can be used to improve the quality of an audio signal. The method implemented here is a generalized approach which can be adapted towards real time implementation in other clinical or industrial applications.
Keywords: VoCODER , Virtual Instrumentation , speech processing, Data Acquisition and Filters.
When digitized in a linear fashion, the human voice would occupy a far greater bandwidth as expected because any signal, including a sound wave, can be thought of as the sum of different frequency sine waves (with specific amplitude and phase angle). In addition to the frequencies we expect to see in a signal, some undesirable frequencies may also be present . To overcome this, a variety of voice coding systems are used. These systems involve analyzing the incoming data that represents the speech and then performing varieties of operations on it. At the receiving end the reverse process is undertaken to re-constitute the speech data so that it can be understood  .
Basically vocoder is a device for analyzing and synthesizing human voice. The term itself comes from the words 'voice' and 'encoder'. It has many uses but its main function is in secure voice transmission. The vocoder is useful for voice encryption which ensures that only other person with the voice decoder can listen to what has been said. Thus, a vocoder is basically a voice encrypting or encoding device .
Currently available voice encoder are not portable and software flexible . By the software flexibility, we mean the ease with which one may deploy new or modified algorithms. All available voice encoder does not offer software flexibility or ease-of-use as it requires a skilled programmer to develop and test algorithms in assembly language. Hence, it is deemed quite useful to have a new development platform possessing portability, flexibility, and interactivity features in order to accelerate the effective use of voice encoder in different applications.
To provide software flexibility, in this work, we use LabVIEW as a software platform .LabVIEW is very powerful software that makes it easy to create, analyze and manage signal processing routines. The built in filters and microphone entry routines make it ideal for this work. The ability to quickly create and edit graphic user interfaces gives flexibility in design and allows to adjust values for optimal performance. Frame size, frequencies, filters types and orders, and synthesis strategies will be easy to monitor and change from a graphical user interfaces.
There are several ways in which the data can be exchanged between instruments and a computer . One way is to measure signals and transfer the data into a computer by using a Data Acquisition system. For this purpose, Data Acquisition System (DAQ) is considered as hardware platform because of its portability, low-cost, and multimedia capabilities. A typical commercial DAQ hardware contains ADC and DAC that allows input and output of analog and digital signals in addition to digital input/output channels.
The combination of a DAQ hardware and LabVIEW software creates a virtual instrument (VI). A VI can perform like an instrument and is programmable by the software with the advantage of flexibility of logging the data that is being measured.Â
The challenge in this work has been to develop a low cost standalone VoCODER that would record, process and playback the human voice in real time environment.
This paper is organized as follow; Section two, includes an overview of the vocoder and basic component of Vocoder. Implementation steps taken to achieve a real-time throughput on any DAQ platform using the LabVIEW programming environment discussed in section three. Section four includes the profiling results obtained towards achieving the real-time implementation. Finally, the conclusions are stated in section five.
2. OVERVIEW OF VOICE ENCODER SYSTEM
A vocoder is a speech analyzer and synthesizer. It was originally developed as a speech coder for telecommunications applications in the 1930s, the idea being to code speech for transmission. Its primary use in this fashion is for secure radio communication, where voice has to be digitized, encrypted and then transmitted on a narrow, voice-bandwidth channel. The vocoder has also been used extensively as an electronic musical instrument .
A vocoder is an audio processor that captures the characteristic elements of an audio signal and then uses this characteristic signal to affect other audio signals. The technology behind the vocoder effect was initially used in attempts to synthesize speech. The basic component extracted during the vocoder analysis is called the formant. The formant describes the fundamental frequency of a sound and its associated noise components.
To put it simple; whenever we speak, our voice consists of two components, The first component is our basic voice type, produced by our vocal chords. It varies in pitch but remains nearly constant in type and is quite unique. That's why we can distinguish between persons when we hear their voices. The second component is how we modulate the basic voice. Modulation means that we dynamically amplify and attenuate frequencies. This is done by the mouth and tongue when we speak.
Example: Say a long "ohh". To accomplish this task, we nearly close your mouth. Next, say a long "ahh". This time, we opened our mouth. Our vocal chords produced the same sound for both, ohh and ahh but the modulation made it sound different .
The modulation signal is called formant, because it forms and shapes the basic voice, which is called carrier due to the fact that it carries the formant signal. The formant signal carries the information and has a much lower frequency than the carrier, a circumstance that can be used to reduce bandwidth consumption for telephone services. This was also the original intention of a vocoder.
The key element to remember about the way the vocoder operates is the fact that the human voice, as it is perceived, has varying harmonic content. Human speech starts as sounds (in a periodic waveform) produced in the vocal cords which pass through the nose and throat. In effect, the original sound is filtered through a complex resonant system before it leaves the mouth.
The filtering process has an impact on human speech . The process of resonation enables humans to create a wide variety of sounds which ultimately comprise human speech. Humans are also capable of forming voiceless sounds (those sounds produced with non-vibrating vocal cords) and plosive sounds (those that are produced by manipulating the flow of air while speaking).
The vocoder records a person's speech. The program pinpoints the base frequency of the voice and then proceeds to measure the variation in harmonics. These measurements are coded in numbers that represent a certain level of frequency. These are then recorded prior to transmission.
The result of the process is a dramatic reduction in the amount of bandwidth needed to store or transmit the words. Rather than a complete recording, what have been identified carrier wave and a series of numbers corresponding to the harmonic frequencies which is far- far smaller than the original speech. This process is somewhat comparable to what happens to WAV and MP3 files ,one is the 'original' speech while the latter is the 'vocoded' version.
The basic block diagram of VoCODER is given in fig 1;
Fig 1. Basic Block Diagram Of VoCODER
There are basically two main components of VoCODER ;
ADC & DAC
The Fourier Transform tells us that it is possible to think of any signal as being composed of various frequency sine waves (with each frequency having an associated amplitude and phase angle).
Imagine that we have just used a microphone to convert a sound wave into an electrical signal. If the sound wave consisted only of a human voice, then only the frequencies that human vocal chords can produce should be present. Therefore, the overall signal should roughly be composed of frequencies between 80 Hz and 1.2 kHz .
Unfortunately, when playing back the audio signal, might found that it does not sound clearly. Perhaps the lights in room added some 60 Hz electrical noise to the signal that shouldn't have been there. Maybe the wind was blowing on microphone, causing the signal acquired to be fuzzy-sounding. There are an enormous number of factors that could affect the sound signal.
Using a filter can help clarify the signal so that it sounds clear once again. Since we know that any frequencies outside of the 80 Hz to 1.2 kHz range are obviously noise can attempt to attenuate these frequencies as much as possible. Specifically, a band-pass filter can be used to accomplish this objective.
An ideal band-pass filter will completely attenuate any signals outside of a desired range (known as the passband). In the real world, it is impossible to construct an ideal filter, but with a large enough circuit or complex digital filtering it is possible to obtain a fairly sharp cutoff .
There are applications where a particular band or frequencies needed to be filtered from a wider range of mixed signals. Filter circuits can be designed to accomplish this task by combining the properties of low-pass and high-pass into a single filter. The result is called a band-pass filter. Creating a bandpass filter from a low-pass and high-pass filter can be illustrated using fig 2:
Signal in Signal out
Low Pass Filter
High pass Filter
Block frequencies Block frequencies
that are too high that are too low
Fig 2. System level block Diagram of bandpass filter
Note that all filtering is essentially "frequency selection",by filtering a signal means attempting to choose which frequency components can pass through and which we want to discard.
2.2 ADC & DAC
The other important part of VoCODER is Analog to Digital converter (ADC) and Digital to Analog converter (DAC) .
An analog-to-digital converter (abbreviated ADC, A/D or A to D) is an electronic integrated circuit, which converts continuous signals to discrete digital numbers. The reverse operation is performed by a digital-to-analog converter (DAC).
Typically, an ADC is an electronic device that converts an input analog voltage (or current) to a digital number. The digital output may be using different coding schemes, such as binary, Gray code or two's complement binary. However, some non-electronic or only partially electronic devices, such as rotary encoders can also be considered ADCs.
A digital-to-analog converter (DAC or D-to-A) is a device used for converting a digital (usually binary) code to an analog signal (current, voltage or electric charge) .
Design and implementation of low cost stand alone VoCODER
As for as hardware and software requirement is concern in this work a microphone element is used to convert a sound wave into an electrical signal. This signal will then be digitized using a USB DAQ device. Finally, a LabVIEW application will be constructed to filter undesired frequencies from the signal and play the clarified signal back.
3.1 SOFTWARE REQUIREMENT
National Instruments LabVIEW is an industry-leading software tool for designing test, measurement, and control systems. Since its introduction in 1986, engineers and scientists worldwide have relied on LabVIEW graphical development for projects throughout the product design cycle, gaining improved quality, faster time to market, and greater engineering and manufacturing efficiency . By using the integrated LabVIEW environment to interface with real world signals, analyze data for meaningful information, and share results and applications, one can boost productivity throughout the organization. LabVIEW has the flexibility of a programming language combined with built-in tools designed specifically for test, measurement, and control, one can create applications that range from simple temperature monitoring to sophisticated simulation and control systems. LabVIEW has the tools necessary to make one successful quickly.
NI LabVIEW is the graphical development environment designed specifically for engineers and scientists who need to create flexible and scalable test, measurement, and control applications rapidly and at minimal cost. LabVIEW is a fully functional graphical programming language with the flexibility of a traditional, text-based language. With interactive Express technology such as automatic code generation, measurement assistants, application templates, and configurable Express VIs, LabVIEW makes development fast and easy for all users, regardless of programming experience. Using the intuitive graphical LabVIEW interface, focus on solving the measurement or control problem at hand rather than the programming necessary to implement it.
Some of most striking features of LabVIEW are ;it is very easy and flexible to program (block driven) on LabVIEW environment , Code written on it are easily portable to different operating systems, easy to develop graphical user interfaces ,easy to develop speech coding algorithms, interfaces well with hardware devices ,ideal for research/educational purposes etc.
LabVIEW is very powerful software that makes it easy to create, analyze and manage signal processing routines. The built in filters and microphone entry routines make it ideal for this work. The ability to quickly create and edit graphic user interfaces gives flexibility in design and allows to adjust values for optimal performance. Frame size, frequencies, filters types and orders, and synthesis strategies will be easy to monitor and change from a graphic user interfaces.
For more details on LabVIEW programming, the interested reader is referred to .
3.2 HARDWARE REQUIREMENT
To measure signals and transfer the data into computer, a Data Acquisition device has been used. A typical commercial DAQ device contains ADC and DAC that allows input and output of analog and digital signals in addition to digital input/output channels. Since this work integrated with National Instruments products, it offers direct control of all hardware on the DAQ device from the LabVIEW software . The combination of a DAQ device and LabVIEW software makes a virtual instrument or a VI. A VI can perform like an instrument and is programmable by the software with the advantage of flexibility of logging the data that is being measured.Â
For more details on DAQ hardware, the interested reader may referred to 
IMPLEMENTATION & RESULT
The LabVIEW graphical programming is chosen here to achieve the real-time implementation of the Voice Encoder system on DAQ platforms. Since this environment allows one to run the same LabVIEW code on different DAQs equipped with different processors. Furthermore, it provides a higher level of abstraction through graphical system design, thus increasing the software flexibility aspect. LabVIEW graphical programs are named Virtual Instruments (VIs) and consist of two components: Block Diagram (BD) and Front Panel (FP).
A Block Diagram consists of the interconnected building blocks of a system similar to a flowchart, whereas a Front Panel constitutes its interactive graphical-user- interface incorporating various controls and displays. For more details on LabVIEW programming, the interested reader is referred to . The LabVIEW allows one to run the same code on Pocket PC, Windows Mobile, or Palm OS PDAs .
Experimentation procedure is as follows:
To convert sound pressure waves into an electrical signal an electret microphone element have been used. Inside the electret microphone element, a dielectric material is made to hold a permanent charge. When the element vibrates, the internal capacitance changes and an electrical signal is produced. A variety of additional components complete the microphone element circuitry by adding a small amplifier to the output. This sound signal then run through an optional band-pass filter and played back using speakers. When completed, the VoCODER front panel will resemble the following:
Using the DAQ Assistant Express VI, complete the block diagram for the record event as indicated below:
Fig 4. Block Diagram Of VoCODER Showing Record Event
Using an event structure in LabVIEW, replicate the following block diagram for the playback event. Note that the Bandpass Filter Boolean control allows the user to playback the filtered or original signal.
Fig 4. Block Diagram Of VoCODER Showing Playback Event
As shown in Fig. 3 & 4, an input frame is acquired from the microphone on a DAQ device, and passed through the filter. Filtered signal are then sent to the speakers or headphones. The filter coefficients and other input parameters are pre-computed during the design phase and are fedback continuously within a real-time loop as noted in Fig. 4.
The Front Panel of the voice encoder system depicted in Fig 5, illustrates the interactivity and ease with which various input parameters can be altered.
Fig 5. Front Panel of VoCODER
The above results are verified by adopting loose verification methods of allowing thirty odd people's feedback of their understandability of the speech playback as well as real time speech delivery from one room to another room equipped with sound system of distance around fifty meters, connected by a wire.
In this paper, to gain portability and cost-effectiveness the need for the deployment of a DAQ platform for VoCODER implementation is discussed. It also demonstrates the software flexibility and interactivity offered by the DAQ platform when utilizing the LabVIEW graphical programming environment. The above current methods can be used for real time implementation of low cost stand alone Voice Encoder (VoCODER) on LabVIEW platform by USING DAQ device .
On the basis of above results in this implementation it is observed that the following designed specifications gave more effective outcome : band pass filter of order 3, with parameters frequency range of 80 Hz to 1200 Hz, No of samples of 128000, sampling rate of 44100 Hz provide the most effective outcome. To achieve a real-time throughput, this requires completing the processing of a sample before the next sample is captured. In other words, the total processing time for a sample should not exceed its length.
It is worth emphasizing that this method is general purpose in the sense that this can be deployed to run other different applications in real-time on DAQ platforms.