ABSTRACT
This paper describes a new interface that allows the Carstens Articulograph to be connected to any computer. The Articulograph is a device which converts physical speech movements into data that can be recorded on a computer. The new interface was designed and built at the Speech Hearing and Language Research Centre at Macquarie University. The existing analog unit functions are described, and the new interface integration is shown, complete with monitoring and synchronisation functions. The calibration and data gathering software written for a Sun workstation is presented. This new interface allows analog signals to be recorded directly through the a computers own Analog to Digital converters, and the Articulograph to be directly controlled. Thus any computer platform can be used for Articulography.
INTRODUCTION
During speech, the movement of the articulators is often hidden and changing very quickly. Measuring and recording these movements is difficult. The Carstens Articulograph and the Botronic Movetrack are 2 such devices that can record this movement on a computer. The Movetrack has analog outputs which can be easily recorded using a computer A/D (Analog to Digital converter) system. The Articulograph has digital outputs that use a bus protocol to transfer the digitised data to the recording computer. Recording the data is easy using the supplied software, but it is restricted to one computer platform using one or more dedicated particular bus. This paper describes a general purpose hardware interface, suitable for any computer, and describes software developed for a Sun workstation using a Unix operating system.
FIGURE 1. TEN CHANNEL ARTICULOGRAPH FITTED WITH SHLRC INTERFACE CARDS
ARTICULOGRAPH
The Articulograph is a device made by Carstens Medizinelektronik GmbH that can convert physical speech movements into data, which can be recorded and displayed on a computer. The interface used is the I.E.E.E. bus which allows it to be connected to any computer that has this capability and has a data gathering program. Carstens can supply a program and interface, to allow data to be collected, and the Articulograph to be calibrated and controlled, using an IBM PC or clone.
The Articulograph AG100 consists of a helmet, sensors for the subject, an analog electronics unit, a calibration device, software, and a computer. The analog unit can have 5, 10 or 15 channels, with one sensor for each channel. The helmet is a device for holding 3 transmitter coils at a fixed distance from the head. The helmet is normally suspended from the ceiling to prevent the weight from resting on the subject. The transmitter coils are arranged at the 3 vertices of an equilateral triangle on the mid sagittal plane of the subjects head, and aligned with the oral cavity. One transmitter coil (designated as K) is near the chin, and this is considered as the origin in an X and Y cartesian co-ordinate plane. Another transmitter coil (designated as S) is located near the forehead, and this line between the chin and forehead transmitter coils is regarded as the Y axis. A third transmitter coil (designated as N) is located behind the neck. The pickup sensors can be attached to any of the articulators with a suitable glue, and their distance from each transmitter can be calculated by the field strength of the transmitted signals that the sensor picks up.
The sensor signals are amplified and conditioned by the analog unit. The microprocessor in the analog unit, digitises each sensor analog signal, and sends this digital data to the host computer using the I.E.E.E. bus. The software in the host computer, receives the data from each of the sensors. The 3 signals correspond to the distance of a sensor from the 3 transmitters. The 3 signals are converted into 2 signals by the software. These 2 signals correspond to the X and Y co-ordinates indicating the spatial position on the mid-sagittal plane. These can be displayed on a computer screen. The control program and interface work in concert. Each analog unit has 5 sensor channels, and complete systems can have up to 3 analog units, totalling 15 channels.
The basic analog unit is housed in a cabinet and consists of, a power supply, 3 transmitter amplifiers, 5 sensor amplifiers, and an I.E.E.E interface. All the electronics are analog except for the interface card. Each sensor has a conditioning circuit that takes the received signal from a sensor and separates it into 3 signals that correspond to the 3 transmitters. The interface card has an A/D which sequentially selects all of the 3 signals from each of the 5 sensors (which amount to a total of 15 signals), and digitises each of them. It has a microprocessor that sends this data over an I.E.E.E. bus to the host computer. The interface card also controls the 3 transmitters and sets the transmitter strength, using a D/A (Digital to Analog converter). This D/A is located on one of the sensor cards. The interface card also can monitor the temperature of the transmitter driver. The microprocessor on the interface card communicates with the host computer, to send sensor data, to send temperature data, and to receive and set the transmitter strength.
The host computer software has several different functions. There is a function to calibrate each sensor before use. There is function to monitor the transmitter amplifier temperature. There is a function to set the transmitter output level. There is a function to record the data. There is a function to rotate the X and Y co-ordinates. There is a function to display the signal wave forms.
There are no analog signals available, and there are no local controls. All control comes from the host computer.
EXISTING INTERFACE
The existing interface for the Articulograph is on one card. This card can handle 5 channels. For a 10 channel Articulograph, there are 2 interface cards fitted, and for a 15 channel Articulograph, there are 3 interface cards fitted, with the corresponding number cards in the host computer, each having a dedicated I.E.E.E. bus . Each card has an A/D with a 16 channel multiplexer so that the 15 sensor signals can be selected and digitised. This information is sent to the host computer over the I.E.E.E. bus. The card has a microprocessor on it which performs these functions. It can also receive information from the host computer which is sent to a D/A to set the transmitter strengths. The transmitter power amplifiers have a temperature sensor, and this is also digitised and sent to the host computer. This interface contains memory and a control program for the microprocessor. The card has a layer of rubber glue on it to protect the circuit. This makes it difficult to determine how the card works.
REQUIREMENTS
The Articulograph was to be integrated into a comprehensive physiology measuring system, that already had acoustic, airflow, Electromyography (EMG), Electropalatography (EPG), and a Botonic Movetrack articulator measurement system. This system is located in the Speech Hearing and Language Research Centre (SHLRC) at the Macquarie University. This system has multiple microprocessor control, which is dynamically programmable, with a Sun Workstation as the host. Data gathering sessions of 30 minutes are normally done, although longer times are possible, and only limited by the size of the local hard disc, and subject fatigue.
To integrate the Articulograph smoothly into the system, maintain real time synchronisation, and simplify control, the I.E.E.E. bus was not used, and a new interface to the SHLRC A/D system was designed and built. The existing SHLRC host program had functions added, that controlled, calibrated and gathered data from the Articulograph.
SHLRC DATA GATHERING SYSTEM
The system in use in the Physiology Laboratory at SHLRC, has several microprocessors in a rack mounted cabinet. These gather data and send it to the host computer, which is a Sun workstation running the Solaris operating system. The Sun is fitted with an interface card which emulates a Digital Equipment Corporation (DEC) DR11W card. This card transfers bi-directional 16 bit data using Direct Memory Access (DMA). Each microprocessor in the cabinet can be programmed and controlled from the host. Each microprocessor can send or receive data, and can control an A/D, D/A or other device. Refer to Robinson 1986. This system was originally designed in 1985 and was attached to DEC VAX computer running VMS. It was ported to a Sun Unix platform in 1992, and has been running ever since. Various physiology devices have been added since its original installation, including a Movetrack and EPG.
This system is presently fitted with 3 microprocessor cards (maximum 8) which are each dedicated to specific functions. All the cards are dynamically programmable, have local buffering and are synchronised. One card sends and receives the Left Audio signal, using 16 bit A/D and D/A converters, with programmable sample and filter frequencies. Another card has an identical function for the Right Audio signal. A third card is used for Physiology, and controls one 16 channel 12 bit A/D converter and a 16 bit bi-directional data port. The 16 A/D channels are used for Air Flow, EMG, and Movetrack digitisation. The data port is used for gathering EPG data. This physiology card was reprogrammed with new firmware that would control more A/D converters, and 2 more 16 channel A/D cards attached. The microprocessor on this card was now controlling 3 A/D cards, and the EPG, digitising the data and sending it to the host. SHLRC has a 10 channel Articulograph, so there are 30 sensor signals to digitise. These are connected to 30 channels of the 2 new 16 channel A/D converters. One of the remaining channels is used to digitise the Articulograph temperature data.
SHLRC INTERFACE CARD
A card was designed to replace the Articulograph controller card. The card's function is simple. It connects the sensor analog signals to the SHLRC data gathering system A/D converters. It also controls the transmitters. There are 2 cards, one for each set of 5 channels.
FIGURE 2. SHLRC INTERFACE CARD, CHANNELS 1 TO 5
The 15 signals from the 5 sensors are selected from the Articulograph bus on the appropriate back- plane and joined to a front panel connector. These then go via a cable to the physiology A/D converters on the SHLRC system. No signal conditioning or data processing is done to the signals. A switch has been provided, that selects one of the 5 sensors and connects the 3 signals (K, S, and N) from that sensor to a monitoring connector. These go to a waveform monitor, which can show the analog waveform in real-time. This is useful for verifying the polarity of the sensor during set-up, and monitoring for a sensor failure.
FIGURE 3. SHLRC INTERFACE CARD, CHANNELS 6 TO 10
A synchronising circuit has been added to mark the sensor waveforms. The synchronising marks are available to check that the acoustic, EPG, and Articulograph waveforms are aligned and that no data loss has occurred during the session. The synchroniser is manually operated by pressing a button at the beginning and the end of a session. It produces an audible beep which is recorded on the acoustic signal. It produces a fully black pallet which is recorded on the EPG signal. It produces a maximum voltage pulse which is recorded on the Articulograph signals. The Articulograph synchronisation pulse is achieved by using analog switch integrated circuits, that momentarily connect the A/D inputs to +5 volts. Since these synchronising marks are all generated electronically their accuracy is as good as the A/D sample rate.
The interface card for the first 5 sensor channels has some additional connections, because this part of the Articulograph analog unit also contains the transmitters. Four connections are taken from the back-plane to the A/D which are for the temperature measuring of the 3 transmitter drivers. Twelve other connections are for control of the transmitter level. There are 8 data bits from the physiology card that set the transmitter level in the range from 0 to 255 and there are 3 select lines to select which transmitter is to be set. There is an additional line used to latch the data.
CONTROL PROGRAM
The SHLRC program that gathers data from the existing physiology devices, was extended to control the Articulograph, to calibrate the sensors, and to gather data. This is written in the C language and complied under Solaris V2.7.
Several new commands were added to the opening menu. Three commands are used to set the K, S, and N, transmitter levels. The default transmitter level values are normally loaded, but these commands are provided to adjust the levels if required, which would be necessary if the helmet or any transmitter coil or amplifier was changed. There are commands that are used to gather data from the first 5 sensors, the next 5 sensors, or all 10 sensors together. There is a command to calibrate the sensors. There is a command to measure the Articulograph offsets. Normally, only the data gathering command would be used for 10 channels, and the other commands only used for calibration, and special cases.
CALIBRATION COMMAND
When any new sensor is added, it must be calibrated before use. There is a radius table for each sensor. This table is loaded when the program is initialised. If a sensor is changed, the appropriate radius table can be substituted and the Articulograph operated with the new sensor. In this way, a session can be interrupted for a short time, to replaced a broken sensor, with a previously calibrated new sensor. This is useful if a sensor needs replacing between sessions, because it has been broken due to wire flex or accidental biting. The calibration command is used to generate a radius table for each sensor, and any number of sensors from 1 to 5 may be calibrated in a calibration session.
The calibration command requires that the sensor to be calibrated is loaded into the magazine and inserted into the Mkal32 mechanical calibrator. The magazine holds between 1 and 5 sensors. The helmet is positioned on the mechanical calibrator and the program prompts the user to set the device to one of the 72 different positions. The calibrator has a movable wheel that rotates through 24 positions, set by a detent. The wheel has 3 positions for the magazine which are at a different distance from the wheel axis. The field strength for each position and for each sensor being calibrated, is recorded. The field strength values for 72 positions and for up to 5 sensors have now been recorded within the helmet transmitter fields.
The next part of the calibration, is to determine the maximum sensor signal. The program prompts the user to position the helmet on the Tilt calibrator and the sensor magazine is inserted. The signal levels can be seen on the computer screen, and the Tilt lever can be turned and rocked until the maximum signal is displayed. Press a key to record this value. Move the magazine to position each sensor in the centre of the Tilt calibrator and record each maximum value, as prompted by the program.
The calibration data is now processed to make the radius tables. This is done for each of the sensors. The field strengths for each of the 72 positions are sorted into increasing values. This is done for the 3 transmitter signals. The physical distances for each of the 72 sensor positions for each of the 5 sensors are calculated. There are 72 pairs of values, radius (in centimetres) verses field strength (in volts). There is a table of 72 pairs, for each of the K, S, and N transmitters. (As a debugging aid, these are saved to disc, as a text file and can be graphed.)
The program now attempts to fit a smooth curve to the values. It uses a method similar to Kaburagi and Honda 1997. An iterative routine is used to determine the exponent of a formula relating distance to voltage, and the routine selects the exponent with the closet match to the calibration data, by testing for the smallest error (best fit). This is done for each transmitter and each sensor. (As a debugging aid, a set of values relating to the radius distances, are calculated using the exponent, and saved to disc as a text file, and can be graphed.) The exponent and the calibration data is used to generate a radius table for each sensor, and is saved as a file for used in a data gathering session. The radius table contains a set of 4096 values which represent the distance from a transmitter, given the field strength. There are 3 sets of values for each sensor, which correspond to the 3 transmitters.
GATHERING DATA
Before a data gathering session is started, the number of sensors required are determined, and affixed to the subject. The program is started, and acoustic and Articulograph data is gathered. In addition, EPG and other physiology data may be simultaneously recorded. The data is collected by the local microprocessors, and sent directly to the host computer, without any processing. The host saves the data in blocks in the order that it is received. At the end of the session, the program, examines the data, and assembles it into buffers for saving to a file. The audio is saved as a single file, with 1 or 2 channels, depending on what was set. The physiology data for the 16 channels is saved as 1 file, which may contain airflow or EMG data, depending on what was set. The EPG data is saved as a single file. The Articulograph data is saved as 2 files, containing data from the first 5 sensors and data from the second 5 sensors. The data is processed before saving.
The data values from the sensors have been gathered as voltages, digitised into 1 of 4096 values. The radius tables are used to convert these to the corresponding distance from the transmitter coil. The data now represents the distance of the sensor from the 3 transmitter coils in centimetres. Simple algebra calculations convert these 3 values into 2 values which represent cartesian co-ordinates. Minor errors due to tilt are compensated for. The X and Y values for the 5 sensors are saved in the file as 10 channels.
The data files are displayed using a different program such as the Entropic Xwaves program or SHLRC EMU program suite.
MEASURING OFFSETS
The program can be used to measure the offsets of the Articulograph analog unit and the A/D converters. When this command is selected, the data is collected as in a normal data gathering session, but the data is not processed, and saved as 16 channels of raw data. This represents the K, S, and N signals from 5 sensors which are connected to 15 of the 16 A/D inputs. One of the other inputs is used for the temperature, and the other input is unused. This command is used to set the A/D offsets, but can also be used to observe the individual sensor outputs. To set the A/D offsets, disconnect the cable from the Articulograph, start the program, and adjust the offset for a minimum. To set the Articulograph offsets, reconnect the cable, start the program, set the K, S, and N transmitter levels to zero, and adjust the offsets.
TRANSMITTER LEVELS
The D/A in the Articulograph has a resolution of 8 bits and so can be set to 1 of 256 intensity levels. There is a D/A for each transmitter and each can be adjusted individually. These levels have been determined at the factory for the individual transmitter coils and amplifiers, and do not need to be changed. If a new helmet or coil is installed, the optimal transmitter can be determined, by placing a sensor at nearest point to the transmitter using the Mkal32 unit. Then increase the transmitter level and monitor the sensor output. The output should rise linearly and then begin to flatten out in saturation. The level should be reduced to below this saturation on the linear part of the curve. This program and interface card allows setting and monitoring of this level to determine the correct setting.
CONCLUSION
The interface card allows the Articulograph to be connected to any A/D system on any computer platform. The card has been tested on a Sun workstation and appropriate software written to gather data. The system works well and is reliable. The card is very straightforward, and easy to install. The control program requires some calibration routines, and data processing before saving the data. The system allows long data gathering sessions.
REFERENCES
"Data Acquisition Subsystem"
R. E. E. Robinson
Proceedings of the First Australian Conference on SPEECH SCIENCE AND
TECHNOLOGY Canberra, November 1986 (p210 - p215)
"Calibration methods of voltage-to-distance function for an electromagnetic
articulometer (EMA) system"
Tokihiko Kaburagi and Masaaki Honda
Journal of the Acoustical Society of America 101, April 1997, (p2391
- p2394)
ACKNOWLEDGEMENTS
Thank you to all those that have helped in this project: Chris Callaghan from S.H.L.R.C. and Bahne and Bridgitt Carstens from Carstens Medizinelectronik GmbH.