USF Libraries
USF Digital Collections

Effects of age and hearing loss on perception of dynamic speech cues

MISSING IMAGE

Material Information

Title:
Effects of age and hearing loss on perception of dynamic speech cues
Physical Description:
Book
Language:
English
Creator:
Szeto, Mei-Wa Tam
Publisher:
University of South Florida
Place of Publication:
Tampa, Fla
Publication Date:

Subjects

Subjects / Keywords:
Speech perception
Temporal cue
Spectral cue
Sensorineural hearing loss
Presbycusis
Dissertations, Academic -- Communication Sciences and Disorders -- Doctoral -- USF   ( lcsh )
Genre:
non-fiction   ( marcgt )

Notes

Summary:
ABSTRACT: Older listeners, both with and without hearing loss, often complain of difficulty understanding conversational speech. One reason for such difficulty may be a decreased ability to process the rapid changes in intensity, frequency, or temporal information that serve to differentiate speech sounds. Two important cues for the identification of stop consonants are the duration of the interruption of airflow (i.e., closure duration) and rapid spectral changes following the release of closure. Many researchers have shown that age and hearing loss affect a listener's cue weighting strategies and trading relationship between spectral and temporal cues. The study of trading relationships between speech cues enables researchers to investigate how much various listeners rely on different speech cues. Different cue weighting strategies and trading relationships have been demonstrated for individuals with hearing loss, compared to listeners with normal hearing.These differences have been attributed to the decreased ability of the individuals with hearing loss to process spectral information. While it is established that processing of temporal information deteriorates with age, it is not known whether the speech processing difficulties of older listeners are due solely to the effects of hearing loss or to separate age-related effects as well. The present study addresses this question by comparing the performance on a series of psychoacoustic and speech identification tasks of three groups of listeners (young with normal-hearing, older with normal-hearing, and older with impaired hearing) using synthetic word pairs ("slit" and "split"), in which spectral and temporal cues are altered systematically.Results of the present study suggest different cue weighting strategies and trading relationships for all three groups of listeners, with older listeners with hearing loss showing the least effect of spectral cue changes and young listeners with normal hearing showing the greatest effect of spectral cue changes. Results are consistent with previous studies showing that older listeners with and without hearing loss seem to weight spectral information less heavily than young listeners with normal hearing. Each listener group showed a different pattern of cue weighting strategies when spectral and temporal cues varied.
Thesis:
Dissertation (Ph.D.)--University of South Florida, 2008.
Bibliography:
Includes bibliographical references.
System Details:
Mode of access: World Wide Web.
System Details:
System requirements: World Wide Web browser and PDF reader.
Statement of Responsibility:
by Mei-Wa Tam Szeto.
General Note:
Title from PDF of title page.
General Note:
Document formatted into pages; contains 258 pages.
General Note:
Includes vita.

Record Information

Source Institution:
University of South Florida Library
Holding Location:
University of South Florida
Rights Management:
All applicable rights reserved by the source institution and holding location.
Resource Identifier:
aleph - 002006498
oclc - 388028488
usfldc doi - E14-SFE0002732
usfldc handle - e14.2732
System ID:
SFS0027049:00001


This item is only available as the following downloads:


Full Text

PAGE 1

Effects of Age and Hearing Loss on Perception of Dynamic Speech Cues By Mei-Wa Tam Szeto A dissertation submitted in partial fulfillment of the requirements for the degree of Doctor of Philosophy Department of Communicati on Sciences and Disorders College of Behavioral and Community Sciences University of South Florida Co-Major Professor: Catherine L. Rogers, Ph.D. Co-Major Professor: Jennifer J. Lister, Ph.D. Jean C. Krause, Ph.D. Stefan A. Frisch, Ph.D. Richard A. Roberts, Ph.D. Date of Approval: November 7th, 2008 Keywords: speech perception, temporal cue, sp ectral cue, sensorineural hearing loss, presbycusis, cue weighting, stop consonant, trading relationship Copyright 2008, Mei-Wa Tam Szeto

PAGE 2

Dedication I would like to dedicate this disser tation to my wonderf ul husband, Raymond, who has been my rock throughout this j ourney. Without his endless support, encouragement, and love, I would not have b een able to make this dream a reality. I would also like to dedicate this disserta tion to my precious son, Aiden, who has taught me the true meaning of love and he is truly th e joy of my life. They are two very special people in my life.

PAGE 3

Acknowledgements Completing my dissertation has been one of the most rewarding experiences for me. There are many amazing people whom I would like to thank for helping me accomplish my goals. First and foremost, thanks are due to my co-major professors, Drs. Catherine Rogers and Jennifer Lister, who ha ve been the best possible mentors I could hope for, both in terms of professional expe rtise and personal support. I would not be anywhere close to where I am now without their encouragement and continuous support for the last ten years. I would also like to thank my committee members, Drs. Jean Krause, Stefan Frisch, and Richard Robert s for sharing their expertise with me throughout this process. Tha nks to Drs. Theresa Chisolm and Harvey Abrams who have inspired me to pursue the Ph.D degree. They are the very first people who believed that I was capable of completing the highest de gree in academics, even as I constantly doubted it. Special thanks are directed to Dr. David Shepherd who introduced me to the world of hearing science and audiology. I am truly grateful to have had him as my professor before his retirement. Many thanks to Dr. Jan Boger, my mentor and dear friend, who has been there for me and encouraged me to finish when the will was no longer there. Also, thanks to Dr. Kanae Ni shi for being my role model and giving me moral support. A special acknowledgement is extended to Dr. Robert Zelski who inspired me with research ideas on speech perc eption and hearing loss. Finally, thanks to the rest of the CSD faculty and staff for th eir assistance throughout my graduate career.

PAGE 4

i Table of Contents List of Tables i List of Figures vi Abstract vii Chapter One – Introduction 1 Presbycusis 2 Psychoacoustics effects of cochlear damage 4 Detection 4 Audibility 5 Cochlear Non-Linearity 7 Frequency Resolution 8 Temporal Resolution 11 Hearing Loss 12 Age 14 Summary 15 Major Speech Cues 16 Spectral Cues 16 Frequency Resolution and Processi ng of Spectral Cues in Speech 22 Temporal Cues 25 Temporal Resolution and Processing of Temporal Cues in Speech 28 Cue Weighting 34 Cue Weighting/Trading Re lationship: Stop Consonants 42 Summary 48 Unanswered Question 48 Research Questions 49 Chapter Two – Methods and Procedures 52 Participants 52 Creation of Stimuli 56 Non-speech Stimuli 56 Gaussian Noise 56 Sweeps 57 Speech Stimuli: “slit – split” continuum 58

PAGE 5

ii Part One: Establish Audibility 63 Experiment 1: Detection Thres holds for Experimental Stimuli 63 Stimuli 63 Procedure 63 Experiment 2: Discrimi nation Thresholds for “/plI/ /lI/” and “split” – “slit” 65 Experiment 2(a): Discrimination threshold for “/plI/ /lI/”‘ 65 Stimuli 65 Procedure 65 Experiment 2(b): Discrimination th reshold for “split” – “slit” 67 Stimuli 67 Procedure 67 Part Two: Psychoacoustic Tasks 68 Experiment 3: Frequency Resolution Task 68 Stimuli/Procedure 68 Experiment 4: Temporal Resolution Tasks 70 Experiment 4(a): Less Speech-like Gap Detection Task 70 Stimuli 70 Procedure 70 Experiment 4(b): More Speech-like Gap Detection Task 71 Stimuli 71 Procedure 71 Part Three: Speech Identification Task 73 Experiment 5: “slit – split” Identification 73 Stimuli/Procedure 73 Chapter Three – Results 74 Detection and Discrimination Tasks (Experiments 1 and 2) 74 Psychoacoustic Tasks (Experiments 3 and 4) 77 Frequency Resolution (Experiment 3) 78 Temporal Resolution (Experiment 4) 79 Speech Identification Task (Experiment 5) 82 Slope 87 Slope Comparisons of Continua within Each Group 87 Slope Comparisons across Groups within Each Level of Continuum 90 50% Point 93 50% Point Comparisons of Continua within Each Group 93 50% Point Comparisons across Groups within Each Level of Continuum 96 Trading Relationship 98

PAGE 6

iii Chapter Four – Discussion 100 Discussion of Findings in Relations hip to the Research Questions 100 Frequency Resolution Ability 100 Temporal Processing Ability 103 Weighting of Spectral and Temporal Cues in Speech Perception 108 Application of Results 118 Limitations of this Study 119 Future Research 121 References 124 Appendices Appendix A: Visual Basic (v. 6.0) Code 132 Appendix B: Measurements of Form ant Frequencies of Naturally Produced “split” and “slit” 244 Appendix C: Synthetic (SenSyn Laboratory Speech Synthesizer, v. 1.1) parameters of vocalic syllables /lI/, intermediate /plI/, and /plI/ 245 Appendix D: Individual Dete ction Thresholds (dB SPL) for Experiments 1(a) – (d) 254 Appendix E: Individual Discrimination Thresholds (dB SPL) for Experiments 2(a) and (b) 255 Appendix F: Individual Minimum De tectable Glide Onset Frequency (MDGli) for Experiment 3 (Frequency Resolution Task) 256 Appendix G: Individual Gap Det ection Thresholds for Experiments 4(a) and (b) (Temporal Resolution Tasks) 257 Appendix H: Individual Data fo r Experiment 5 (“slit – split” Identification Task) 258 About the Author End Page

PAGE 7

iv List of Tables Table 1 MMSE scores of old normal hearing (ONH) and old impaired hearing (OIH) listeners 55 Table 2 Mean detection thresholds (dB SPL) and standard deviations (SD) of three listener groups for Experiment 1 74 Table 3 Mean discrimination thre sholds (dB SPL) and standard deviations (SD) of three listener groups for Experiment 2 75 Table 4 F values, p-values, effect size s, and observed power for the main effect of group for Experiments 1 and 2 75 Table 5 Least Significant Difference (LSD ) post-hoc p-values for listener group comparisons for Experiments 1 and 2 77 Table 6 Means and standard deviations (SD) for the minimum detectable glide onset frequency for the three listener groups for Experiment 3 79 Table 7 Mean gap detection thresholds and standard deviations (SD) in milliseconds for the three listener groups for Experiment 4 80 Table 8 F values, p-values, effect size and observed power for the main effect of group for the two gap detection experiments for Experiment 4 80 Table 9 LSD post-hoc p-values for the gap detection thresholds of more speech-like stimuli for th e three listener groups for Experiment 4(b) 81 Table 10 Means and standard deviati ons (SD) for the 50% point and the slope of each of the flat, intermed iate, and rising functions, and the trading relationship for the three listener groups for Experiment 5 85 Table 11 Summary of two two-way ANOVAs (dependent variables were the slope and 50% point, respectively) and one one-way ANOVA (dependent variable was the si ze of the trading relationship between the flat and rising continua) for Experiment 5 86

PAGE 8

v Table 12 LSD Post-hoc p-values for the sl ope values of the th ree continua within each of the three listener groups for Experiment 5 88 Table 13 LSD post-hoc p-values for th e comparisons of slope value among the three listener groups within each level of continuum for Experiment 5 90 Table 14 LSD post-hoc p-values for the location of 50% point of each of the three continua for the three li stener groups for Experiment 5 93 Table 15 LSD post-hoc p-values for th e 50% points for the three listener groups at each level of the continua for Experiment 5 96

PAGE 9

vi List of Figures Figure 1. Pure tone thresholds averaged across ears and participants for each group. 54 Figure 2. Waveform (A) and magnitude sp ectrum (B) of one of the Gaussian noise samples. 57 Figure 3. Spectrograms of th e natural “split” (A) and “slit” (B) of a male native speaker of English. 60 Figure 4. Spectrograms of the s ynthetic vocalic syllables /plI/ (A), “intermediate transition (B) and /lI/ (C). 61 Figure 5. Results of the speech identif ication task for YNH (panel A), ONH (panel B) and OIH (panel C) listener groups for Experiment 5. 84 Figure 6. Mean slope values and standard deviations for the flat, intermediate, and rising continua for the three listener groups for Experiment 5. 88 Figure 7. Mean slope values and standard deviations for the three listener groups for the flat, intermediate, and rising continua for Experiment 5. 91 Figure 8. Mean 50% point and standard deviations of each continuum for the three listener groups for Experiment 5. 94 Figure 9. Mean values and standard devi ations for the 50% point of each of the continua for the three lis tener group for Experiment 5. 97 Figure 10. Mean values and standard de viations of the tr ading relationship between the flat and rising conti nua for the three listener groups for Experiment 5. 99

PAGE 10

vii Effects of Age and Hearing Loss on Perception of Dynamic Speech Cues Mei-Wa Tam Szeto ABSTRACT Older listeners, both with and without h earing loss, often complain of difficulty understanding conversational speech. One reason for such difficulty may be a decreased ability to process the rapid changes in intens ity, frequency, or tempor al information that serve to differentiate speech sounds. Two im portant cues for the id entification of stop consonants are the duration of th e interruption of airflow (i.e., closure duration) and rapid spectral changes following the release of closure. Many researchers have shown that age a nd hearing loss affect a listener’s cue weighting strategies and trad ing relationship between spectral and temporal cues. The study of trading relationships between speech cu es enables researchers to investigate how much various listeners rely on different speech cues. Different cue weighting strategies and trading relationships have been demonstrated for indi viduals with hearing loss, compared to listeners with normal hearing. Th ese differences have be en attributed to the decreased ability of the indivi duals with hearing loss to proc ess spectral information. While it is established that processing of temporal information deteriorates with age, it is not known whether th e speech processing difficultie s of older listeners are due solely to the effects of hearing loss or to sepa rate age-related effects as well. The present

PAGE 11

viii study addresses this question by compar ing the performance on a series of psychoacoustic and speech identification task s of three groups of listeners (young with normal-hearing, older with normal-hearing, and older with impaired hearing) using synthetic word pairs (“slit” and “split”), in which spectral and temporal cues are altered systematically. Results of the present study suggest differe nt cue weighting stra tegies and trading relationships for all three groups of listeners, with older listeners with hearing loss showing the least effect of spectral cue changes and young liste ners with normal hearing showing the greatest effect of spectral cue changes. Results are consistent with previous studies showing that older list eners with and without hearing loss seem to weight spectral information less heavily than young listeners with normal hearing. Each listener group showed a different pattern of cue weighting st rategies when spectral and temporal cues varied.

PAGE 12

1 Chapter One Introduction Hearing impairment is the third most pr evalent chronic health condition currently affecting the older population (Adams & Be nson, 1992), a population that is growing steadily as life expectancy increases (Weinste in, 2000). The term “presbycusis” is used to describe any age-related changes that are associated with dysfunction in the auditory system but are not attributed to oto-trau ma, genetics, or pathologies (Willott, 1991). Although presbycusis certainly affect s a person’s ability to communicate effectively with others, the imp act of this deficit varies wi th the degree of hearing loss and the underlying pathology as well as i ndividual listening dema nds and lifestyle. Typically, listeners who suffer from presbycus is report that sounds, most notably speech, are “unclear, fuzzy or distorted.” This probl em is exacerbated as age increases. Decades of research indicate that th ere are a number of specific anatomical and physiological changes within the cochlea associated with presbycusis. These changes are accompanied by a variety of perceptual changes that are thought to contribute to poor speech understanding (Tyler et al., 1982; Dubno et al., 1992; Fitzgi bbons et al., 1987; Glasberg & Moore, 1986). Specifically, reduced audi bility, frequency resolution and temporal resolution often accompany presbycusis and may underlie diminished speech understanding (Strouse et al ., 1998; Coughlin et al., 1998; Snell & Frisina, 2000).

PAGE 13

2 In speech processing, multiple acoustic cues are normally available for listeners, of which spectral and temporal cues are identified as ma jor speech cues. Numerous research studies have investigated how liste ners, with or without hearing impairment, utilize these various acoustic cues to iden tify phonetic contrasts and weight different speech cues (Godfrey & Millay, 1997; Van Ta sell et al., 1982; Tyler et al., 1982). Changes in audibility and spectral resoluti on are known to occur with hearing loss (Dubno & Schaefer, 1992; Lutman, 1991; Summers & Leek, 1992). Accordingly, listeners with hearing loss have been shown to weight spectral speech cues differently from listeners with normal hearing (Nelson et al.,1995; Hedrick et al., 2003; Summers & Leek, 1992). Temporal resolution, on the othe r hand, has been shown to deteriorate with age, regardless of hearing loss (Strouse et al ., 1998; Lister et al., 2002). Older listeners have been shown to weight temporal sp eech cues differently from younger listeners (Strouse et al., 1998; Price & Simon, 1984). As presbycusis is defined by both age and hearing loss, it is likely that both factors a ffect the weighting of dynamic speech cues of this population. In order to understand why cue weighting may be different for older adults, an understanding of pr esbycusis, the psychoacoustic e ffects of cochlear damage related to hearing loss and aging, major speech cues, and implications of psychoacoustic differences for speech processing is needed. These factors will be discussed below. Presbycusis The normal biological process of aging cau ses countless structural changes in the human body and an inevitable decline in body function. Most important to

PAGE 14

3 communication is a gradual decrease in audi tory function. Presbycusis can involve deficits in the peripheral and/or central auditory system. Schuknecht & Gacek (1993) describe four types of presbycusis based on temporal bone studies and labeled according to the origins of the structural damage: sens ory, neural, strial and cochlear conductive. Strial presbycusis is related to atrophy of the stria vascularis, which primarily affects the strial cells in the apical and middl e turns of the cochlea. Individuals suffering from strial presbycusis are characterized by a mild to moderate, comparatively flat hearing loss and excellent speech recognition ability. Neural presbycusis refers to hearing impairment caused by degeneration of sensory neurons. Those with neural presbycusis normally exhibit a relatively fl at hearing loss with depressed speech recognition ability. Cochlear conductive presbycusis is related to decreased overall elasticity of the basilar memb rane. Those with this type of impairment typically experience a gradually sloping hearing loss, pr imarily in the high frequencies, with good speech recognition ability. Lastly, sensory pres bycusis, related to sensory cell loss at the extreme basal end of the cochlea, results in a sloping high frequency hearing loss. Since sensory cell loss rarely occurs in the speech frequency area of the cochlea, people suffering from sensory presbycusis usually ma intain good speech recognition ability. Incidence data show that strial pres bycusis has the highest incidence rate, followed closely by neural presbycusis; sensor y presbycusis has the lowest incidence rate among all types of presbycusis (Schuknecht & Gacek, 1993). Despite the fact that there are different types of presbycusis, as classified according to the specific micro-structures in the cochlea that are affected, the ultimate

PAGE 15

4 consequence is cochlear dysf unction. Previous studies ha ve identified several major contributing factors to speech perception: (1) detection, (2) frequency resolution, i.e., the ability to resolve individual frequency co mponents of a complex sound, and (3) temporal resolution, i.e., the ability to detect changes in acoustic stimuli over time. These auditory perceptual changes related to cochlear dysfunction will be discussed below. Psychoacoustic Effects of Cochlear Damage Detection Cochlear damage often involves outer hair cell (OHC) and inner hair cell (IHC) dysfunction. OHCs are generally more suscep tible to damage than IHCs (Borg, Canlon, & Engstrm, 1995). In a normal cochlea, the OHC s are the sole contributors to the biologically active mechanism of the cochlea. This active mechanism serves to amplify the input to the IHCs when the input level is low. OHC damage impairs the active mechanism of the cochlea and results in reduced basilar membrane vibration for lowlevel input signals. IHC damage is another form of cochlear pathology. The prim ary function of the IHCs is to transduce mechanical movements into neural activities. A cochlea with IHC damage will be less efficient in the transducti on process. As a result, the magnitude of basilar membrane vibration must be larger than normal to reach threshold vibration. Either one of the two forms of cochlear impa irment may lead to the loss of sensitivity to soft sounds, which is the most obviou s consequence of hair cell damage.

PAGE 16

5 Audibility Reduced hearing sensitivity is th e most obvious symptom of cochlear damage. Sound energy that falls below a listener’s threshold cannot contribute to perception; therefore, audibility of sp eech sounds has a major influence on speech perception. Turner & Robb (1987) found that listeners with normal hearing exhibited near perfect speech discrimination performance when the majority of the stimulus spectrum was clearly audible. However, when the entire spectrum was below threshold, discrimination was virtually equal to chance. The authors show an orderly function relating the percentage of a udible spectra to speech disc rimination performance. During daily conversation, persons with coch lear hearing loss may be able to hear only a limited portion of the spectrum of certain phonemes. Lee & Humes (1993) suggest that, for a given speech level, the sp eech understanding ability of listeners with hearing loss is compromised mainly because th ey hear a smaller proportion of the speech spectrum than listeners with normal hearing, even when the speech is presented at suprathreshold level. Dubno & Schaefer (1992) also suggest th at reduced audibility of important portions of the speech signal is the major s ource of the speech-understanding difficulties of listeners with hearing loss. They f ound that when performance was assessed under conditions that assure equal speech-spectru m audibility across subjects, the consonantrecognition scores of subjects w ith hearing loss fell within the range of scores for masked subjects with normal hearing, even though co mparatively poorer frequency resolution was found among the hearing-impaired subjects.

PAGE 17

6 Similarly, Van Tasell, Hagan, Koblas, & Penner (1982) found that when the necessary information could be assumed to be audible (i.e., with a presentation level of 100 dB SPL), the consonant identification of li steners with moderate to severe hearing loss was comparable to that of listeners with normal heari ng. The authors suggest that once the acoustic cues become audible, hear ing-impaired listeners can gather sufficient phonetic information for accurate feature identification. While audibility of speech sounds is important for speech recognition, it is not sufficient to explain the speech perception of listeners with cochlear damage. Turner & Robb (1987) found that their subjects with hear ing loss were unable to utilize the audible portions of stop consonants as efficiently as their subjects with normal hearing. Even when the stop-consonant spectral cues were fully audible, their subjec ts with hearing loss were unable to achieve accura te recognition of the stop cons onants. On the other hand, their subjects with normal hearing had perf ect recognition performance. The authors suggest that both reduced audibility and other psychcoacoustic deficits, such as reduced frequency and temporal resolution abilities, ar e likely responsible for the poor consonant recognition of listeners with sensorineural hearing loss. Moore (1996) suggests that for hearing losse s up to about 45 dB HL, audibility is the single most important factor in speech understanding. However, he suggests that for listeners with hearing loss above 45 dB HL, impaired discrimination ability of audible stimuli is the primary factor underlying re duced speech understanding. Along the same lines, Plomp (1978) has suggested that poor speech recognition by persons with hearing impairment is due to a combinati on of attenuation and distortion.

PAGE 18

7 Cochlear Non-Linearity A normal cochlea is charac terized by its non-linearities, particularly evidenced by the compressive input-output function of basilar membrane vibration. When an acoustic stimulus reac hes the cochlea, maximum displacements of the basilar membrane occur at the regions tu ned to the stimulus frequency. Previous studies have found that the magnitude of the vibration does not grow proportionally with the magnitude of the input stimuli (Rhode, 1971; Sellick et al., 1982). For low intensity input stimuli, it is suggested that amplifica tion of up to 55 dB is generated by the active mechanism of the outer hair cells at the region of the cochlea tuned to the input frequency. Interestingly, as the input sound level increas es, cochlear amplification progressively reduces. The non-linear compressi veness of the cochlea also occurs at the region of the cochlea tuned to the input frequency when the input sound levels are between 30 and 90 dB SPL. When the sound le vel is sufficiently intense, the active mechanism ceases to provide amplification, and thus the input-output function becomes linear. This cochlear function allows an extensive range of input sound levels to be compressed into a smaller range of responses on the basilar membrane. In other words, persons with normal cochlear function can comfortably experience a wide dynamic range of sounds, from detection threshold to threshold of discomfort. However, for listeners with cochlear impairment, the compressive non-linear input-output function is diminish ed. OHC damage results in the loss of amplification of low-level sound inputs; which in turn results in a higher detection th reshold. Since even the healthy cochlea does not provide amplifica tion at high input level, listeners with OHC damage will have more or less the same threshold of discomfort as persons with normal

PAGE 19

8 cochlear function. In other words, persons with cochlear impairment have difficulty hearing faint sounds, but they perceive high in tensity sound to be as loud as do listeners with normal cochlear function. The perceptual consequence of the loss of cochlear nonlinearity is loudness recruitment. Persons with loudness recru itment will experience abnormally rapid growth of loudness, and, consequently, the normal loudness relationships of acoustic cues in speech will be disrupted, causing confusions in speech perception (Van Tasell, 1993). To summarize, some researchers suggest that reduced hearing sensitivity is the sole factor contributing to poor speech recognition in listeners with coch lear impairment. They suggest that when the acoustic cues are audible, various forms of signal distortion imposed by sensorineural hearing loss may have minimal effects on the use of these cues by listeners with hearing impairment (Van Tasell et al., 1982; D ubno & Schaefer, 1992). However, other researchers believe that othe r psychoacoustic deficits beyond the loss of hearing sensitivity contribute to the speech understanding deficits experienced by listeners with hearing loss. Previous studi es have identified fr equency resolution and temporal resolution as major psychoacoustic factors affecting speech recognition ability (Moore, 1996). The following is a review of the effects of reduced frequency and temporal resolution abilities with age and hear ing loss and the effects of these factors on speech perception that have found by various researchers. Frequency Resolution Frequency resolution refers to the ability to separate or resolve the individual frequency components of a complex sound. The cochlea acts like a frequency analyzer.

PAGE 20

9 An array of auditory filters exists on the basilar membrane, each of which responds best to its center frequency. The bandwidths of these auditory filters determine the sharp tuning of the basilar membrane. The narrowe r the bandwidth, the la rger the number of auditory filters are availabl e, and thus, the better the pe rson’s ability to resolve the spectral information in sounds. This filtering ability depends heavily on the integrity of OHCs in the cochlea. As mentioned earlier, OHCs are responsible for the active mechanism of the cochlea, the function of which is to facilitate sharp frequency tuning on the basilar membrane at low stimulus levels. Frequency resolution depends primarily on the filtering that takes place in the cochlea. OHC damage results in fewer independent auditory filter channels being available for use in signal analysis, and, t hus, poorer frequency resolution is found in listeners with hearing loss as compared to listeners with normal hearing. Frequency resolution is often quantifie d using masking experiments in which psychophysical tuning curves (PTCs) are plotte d. PTCs become wider, suggesting that auditory filters are broader than normal in persons with hearing impairment. Also, hearing thresholds are direct ly related to the degree of broadening (Dubno & Dirks, 1989; Leek et al., 1987; Dubno & Schaefer, 1992; Lu tman, 1991). As mentioned earlier, the sharpness of tuning on the basilar membrane depends on the bandwidth of the auditory filters. Accordingly, broadening of auditory filters results in fewer auditory filters being available for frequency analysis, which in eff ect contributes to the loss of the fine tuning characteristic of the basilar membrane.

PAGE 21

10 Lutman (1991) investigated the degrad ation of frequency resolution of large groups of listeners with various degrees of sensorineural hearing loss. His data suggest that frequency resolution abil ity deteriorates progressively with increasing hearing threshold level. Using a different paradigm, Dubno & Schaefer (1992) investigated the relationship of frequency resolution and hearing impairment by using masked normalhearing listeners. The primary advantage of this design is that residual differences in frequency resolution that are observed between the masked normal-hearing listeners and listeners with hearing impair ment are independent of thre shold elevation or stimuluslevel differences. The authors compared fre quency resolution ability of listeners with hearing impairment to a sample of masked normal-hearing listene rs with comparable thresholds. Their data suggest that freque ncy resolution is poorer for listeners with hearing impairment than for masked normalhearing listeners, even when thresholds among subjects are equated. Humes (1982), on the other hand, suggests that hearing-impaired listeners’ poorer selectivity occurs when meas urements are made using signa l or masker sound-pressure levels that are significantly higher than thos e for normal-hearing subjects. He speculates that the frequency resolution de ficits of hearing-impaired list eners are due to the reduced ability of the damaged cochlea to process hi gh level stimuli, rather than to widened auditory filters. Reduced frequency selectivity has also been attributed to adva nced age (Patterson et al., 1982). However, there is a high inci dence of cochlear hear ing loss in the older

PAGE 22

11 population, a fact that must be considered when interpreting data showing poorer frequency selectivity among older listeners. Patterson et al. (1982) measured frequency resolution in terms of the auditory-filter sh ape for 16 listeners with essentially normal hearing thresholds and ages ranging from 23 to 75 years. They found an increase in filter bandwidth that became progressively more mark ed with increasing age. However, it is worth mentioning that even though their subj ects satisfied a cr iterion of “normal hearing,” there remained a significant correla tion in the data betw een hearing threshold level and age. Lutman & Cl ark (1986) used an abbrevia ted psychophysical tuning curve (PTC) technique to provide an indicator of fr equency resolution of 23 listeners with mild and moderate sensorineural hearing impairmen ts. They found a significant correlation between the upward spread of masking obtained from the PTC and age, even after the effects of hearing sensitivity had been partia led out. Lutman et al. (1991), on the other hand using a large, balanced sample, found th at frequency resolution is independent of age. After accounting for the effects of hearing sensitivity, there was only a minimal dependence of frequency resolution on age. It appears from the foregoing studies th at frequency resolution deteriorates primarily with hearing loss rather than age, an effect that may adversely affect the ability to resolve components of a complex sound. Temporal Resolution Temporal resolution refers to the ability to detect changes in acoustic stimuli over time. A classic measure of temporal resoluti on is the gap detection threshold (GDT), the smallest silent interval in a stimulus that a person can detect. Other measures of temporal

PAGE 23

12 resolution include dur ation discrimination, amplitude modulation detection, temporal masking, and temporal order judgment. Nu merous studies have been conducted to evaluate temporal resolution in different popul ations, including indi viduals with hearing loss (Fitzgibbons & Gordon-Salant, 1987; Madd en & Feth, 1992; Tyler et al., 1982) and older individuals (Fitzgibbons & Gordon-Sala nt, 1994; Snell, 1997; Lister et al., 2002; Strouse et al., 1998). The following is a su mmary of research findings relating to temporal resolution differences between nor mal hearing, hearing impaired, and older listeners. Hearing Loss Many studies have shown that temporal resolution is adversely affected by cochlear damage (Fitzgibbons & Wightman, 1982; Fitzgibbons & GordonSalant, 1987; Fitzgibbons & Gordon-Salant, 1987; Madden & Feth, 1992). Tyler et al. (1982) found that listeners with hearing loss exhibited larger duration difference limens, gap difference limens, and gap detection thresholds than listeners with normal hearing. Glasberg et al. (1987) inve stigated temporal resolu tion using listeners with unilateral and bilatera l hearing impairment (ages 18-71 years). The authors found that gap thresholds increase with absolute detec tion threshold. In addi tion, gap thresholds are usually larger for listeners with cochlear im pairment even when comparisons are made at equal sensation levels. Sim ilar results were reported by Fitzgibbons & Gordon-Salant (1987) who found that gap reso lution in liste ners with hearing lo ss (ages 43-60 years) was significantly poorer than in listeners w ith normal hearing (ages 25-40 years) for a variety of stimuli. Their listeners with hearing loss performed poorly even when the spectrum of the stimulus fell in the frequency regions of their hearing that showed normal

PAGE 24

13 pure-tone sensitivity. Fitzgibbons & GordonSalant (1987) found that listeners with hearing impairment (ages 25-55 years) exhib ited diminished gap resolution for clearly audible signals over a broa d frequency range. Moreover, Lutman (1991) investigated the temporal resolution of a sample of 229 listeners (ages 50-75 years). The distribution of subjects was carefully balanced across age and hearing impairment to avoid confoundi ng effects. His data suggest that gap detection threshold increases progressively wi th hearing threshold level, but not age. The studies described above suggest that subjects with cochlear damage show reduced temporal resolution; how ever, other studies reveal no effect of cochlear damage on temporal resolution. Summers & Leek ( 1992) compared the temporal resolution of listeners with normal hearing and hearing impa irment (subjects’ ages not specified) using a duration difference limen task. The listene rs were presented with two noise burst stimuli and were asked to identify the one with a longer duration. The performance of most of the hearing impaired listeners was comparable to that of the normal hearing listeners. Similarly, Lister et al. (2000) examined the ability of listeners with normal hearing (ages 22-51 years) and with hear ing impairment (ages 21-71 years) to discriminate silent gaps between noise band markers of different frequencies. They found that hearing loss did not have a significant effect on gap discrimination thresholds, but listeners of advanced age had larger gap thresholds than younger listeners, with or without hearing loss.

PAGE 25

14 Grose et al. (2001) compared gap dura tion discrimination between groups of middle-aged listeners (ages 46-54 years) with normal hearing and hearing loss. Their data shows that cochlear hearing loss does not affect a person’s ability to discriminate changes in the duration of silent interval s. However, their younger normal-hearing listeners (mean age: 30.5 years) showed c onsistently better gap duration discrimination thresholds than the middle-aged normal-h earing listeners (mean age: 50.3 years), suggesting a possible age effect. Age An age-related decline in temporal resolution ability has been observed in studies conducted by numerous investigator s (Fitzgibbons & GordonSalant, 1994; Snell, 1997; Lister et al., 2002; Strouse et al., 1998). As in the study of age-related changes in frequency resolution, some researchers have su ggested that the effects of age should be investigated separately from the effects of hearing loss when studying the temporal resolution of older listeners. Accordingly, in order to determine whether temporal resolution deteriorates with age alone, many studies control for hearing loss by recruiting older subjects with normal pure tone thresh olds. Carefully matching young (mean age: 25.6 years) and old subjects with normal h earing (mean age: 69.6 years), Snell (1997) measured gap thresholds in noise bursts. Sh e found that gap threshol ds were larger for the older subjects across a vari ety of listening conditions. Fitzgibbons & Gordon-Salant (1994) found poorer overall duration discrimination and gap discrimination in older listeners (ages 65-70 years) as compared to young listeners (ages 20-40 years), rega rdless of hearing sensitivity.

PAGE 26

15 Strouse et al. (1998) also i nvestigated temporal resolu tion in the aging auditory system. They included young and older adults with clinically nor mal hearing. Their older listeners (mean age: 71 years) exhibited higher gap detection th resholds at all sound levels as compared to the young listeners (mean age: 26 years). Lister, Besing & Koehnke (2002) also found diminished temporal acuity in older listeners. They used a gap discrimination para digm to assess the temporal discrimination of three age groups: young (mean age: 25.7 ye ars), middle-aged (mean age: 46.3 years) and older (mean age: 66.3 year s) listeners. All subjects had normal hearing sensitivity defined as pure-tone thresholds 25 dB HL for frequency range 250 to 6000 Hz and 30 dB HL at 8000 Hz. They found that the ga p duration difference limens of the older listeners were significantly larger than those of the other two groups. To summarize, it has been well supporte d by numerous studies that temporal resolution ability is adversely affected by incr easing age. The effect of cochlear hearing loss on temporal resolution is still a matter of debate. Summary The above sections are a general revi ew of auditory changes related to presbycusis. As demonstrated by various st udies, listeners suffering from presbycusis exhibit reduced detection, fre quency resolution, and temporal resolution. Since speech is dynamic, and may be described as a series of rapid changes in sound intensity and frequency over time, the accurate processing of such rapid changes is critical for optimal perception of speech. In speech processing, the preliminary requirement is that the speech signals must be audible to the listener. In addition, a listener must have intact

PAGE 27

16 frequency resolution and temporal resolution to accurately process the multiple speech cues embedded in the rapidly changing speec h. Deficits of reduced frequency and temporal resolution may be associated with the speech understanding difficulties experienced by listeners with presbycusis. In order to appreciate the importance of frequency and temporal resolution in pro cessing speech, an unde rstanding of major speech cues is needed. Major speech cues, sp ecifically spectral and temporal cues, are discussed below. Major Speech Cues Speech cues refer to the crucial acoustic pa tterns of speech that are sufficient for a listener to correctly percei ve a phoneme—thus a word, phrase or sentence. Multiple speech cues are normally available for a give n phoneme, or within a word. For decades, it has been the interest of researchers to esta blish the acoustic cues that are important to the perception of specific phonemes. Through different paradigms, several major acoustic cues have been identified as impor tant for speech understanding. Of those, spectral and temporal cues are prominent. Spectral Cues Spectral cues, such as formant frequencie s and formant transitions, are related to the spectrum of the sound energy in a partic ular phoneme. Formant frequencies refer to the resonant frequencies of the vocal trac t in the production of sonorant consonants and vowels. Formant transitions refer to rapid spectrum changes that occur within a brief

PAGE 28

17 period of time and reflect changes in resonanc e while the vocal tract moves to or from the more constricted consonant position. In vowel perception, several important spec tral cues have been identified. For example, a vowel is produced when the gl ottal source is created and air passage is relatively un-obstructed. The re sonance of the vocal tract determines the spectral peaks, known as formant frequencies, of a specific vow el. Acoustic analysis of vowels indicates that the positions of articulators cause system atic changes in the cen ter frequencies of the first three formant frequencies. Formant frequencies are identified as important speech cues because studies have shown that listen ers can differentiate vowels with relatively high accuracy by using only the information of the first three formant frequencies. For example, the high front vowel /i/ is characte rized by a low first formant (F1) and high second formant (F2), while the low back vowel /a/ is charac terized by a high F1 and low F2 value (Peterson & Barney, 1952). Delatt re, Liberman, Cooper, & Gerstman (1952) systematically varied the steady-state form ant frequencies of various synthetic vowels and found that listeners usually required only the first and second formants to correctly identify a vowel. While steady-state formant frequencies pr ovide important information for vowel identification, a fixed set of values for a specific vowel does not exist. Individual differences among speakers result in overlaps in vowel categories across speakers. Also, one rarely finds that the formant frequencies reach target absolute frequencies in rapid conversational speech. It follows that there mu st be other methods that enable listeners to correctly identify vowels in everyday speech.

PAGE 29

18 Because the absolute formant frequenc ies are not reliable cues to vowel identification, some researchers suggest that listeners rely on the relationships between F2 and F1 rather than the absolute values of the formant frequencies. Miller (1989) reanalyzed the data of Peterson & Barney ( 1952), in which the F1s and F2s of 10 vowels spoken by 76 American speakers were recorded. He found that there exists a relatively constant ratio of F2/F1 for each vowel: 8.71 for /i/, 3.69 for / /, / /, //, 2.43 for //, / /; and 1.42 for /a/, / /. Besides the study of static spectral information, inves tigators have examined the contribution of other acoustic cues to vowel identification. Strange et al. (1983, 1989) studied the importance of target informati on, duration information, and dynamic spectral information independently in vowel per ception by manipulating naturally produced consonant-vowel-consonant syllables. In thei r silent-center syllabl e condition, the entire central portion of the syllable was silenced, leaving only the initial and final transition portions in their original temporal relationshi p but separated by a silent gap. By just using the dynamic spectral information from the initial and final transitions and relative duration information for the original vowel, th eir subjects were remarkably accurate in identifying the vowels. Accordingly, thei r results demonstrate that dynamic spectral information, which is embedded in the onglides (formant transitions from the release of the initial consonant to the vowel target) and offglides (f ormant transitions from the target to consonant closure) are also important cues fo r the identification of coarticulated vowels (Strange et al., 1983; Strange, 1989).

PAGE 30

19 With regard to the perception of cons onants, spectral cues are useful in differentiating consonants that differ by place and manner of articulation. For example, formant transition is an important cue to the perception of glide consonants. Glides are produced by articulatory motions that occur wh en the vocal tract is markedly narrow, but not closed. Because of this vowel-like na ture, /w/ and /j/ are also known as “semivowels.” O’Connor, Gerstman, Liberman, Delattre, & Cooper (1957) identified the second formant as the major spectral cue in distinguishing /w/ from /j/ as they could synthesize perceptually acceptable syllable-in itial /w/ and /j/ with only two formants. However, for the differentiation of /r/ and /l/, it is the third formant that distinguishes the two consonants from each other. The value of the third formant for the liquid /l/ is typically about 1 kHz higher th an for the retroflex /r/. Nasal consonants in English are prod uced by occluding the oral cavity and allowing sound to radiate thr ough the nasal cavity. Acoustica lly, nasals are relatively weak sounds due to the complete closure of the oral cavity. They possess both formants and antiformants (also known as antiresonances or nasal zeros). Nasals are characterized by a low frequency resonance or murmur sound that has a spectrum below 300 Hz and are severely attenuated in intensity at higher formants, which may be obliterated by antiformants. It is generally agreed that th e murmur serves as a predominant cue to the nasal manner of articulation. For example, th e murmur serves as a spectral cue in the differentiation of a nasal from a glide consona nt. Both nasal and glide consonants exhibit a strong low-frequency energy; however, the spectrum of glides has a low-frequency

PAGE 31

20 energy up to 800 Hz as opposed to the 300 Hz spectrum of energy in a nasal murmur (Pickett, 1999). Fricative consonants are produced when a turbulent breath stream is formed by forcing the air through a narrow constriction of the oral tract, resulting in a noise-like sound. Alveolar fricatives are characterized by a strong, continuous turbulent energy in the high frequency region above 4 kHz. Spectra l information can be used to differentiate the place of articulation of fr icatives. For example, the spectra of alveolar fricatives contain relatively higher freque ncy energy than the spectra for palatals. Heinz & Stevens (1961) investigated fricative perception by usi ng synthetic stimuli with different resonant frequency values. The results of the fricativ e identification test showed that resonant frequencies of 6500 or 8000 Hz usually yielded /f/ and / / responses, while / / responses were associated with resonant freque ncies in the vicinity of 2500 Hz. Other than the noise spectrum, listeners al so use the second formant transitions to cue the place of articulation of fricat ives, in particular for /f, v/ vs. / /. Harris (1958) found that the differen tiation of /f/ and / / is primarily cued by th e formant transitions in the vocalic segments in prevocalic position: /f/ typically has a rising F2 and / / has a falling F2. A stop is produced by a complete occlusi on of the vocal trac t, resulting in a temporary cessation of airflow, typically fo llowed by a release cons isting of a transient burst of noise. The differentiation of place of articulation of the stop consonants is cued by differences in spectral peak frequency of the noise burst produced upon the release of

PAGE 32

21 the consonant and the direction of F2 transitions. Stevens & Blumstein (1978) investigated cues for place of articulation in the stop consonants /b, d, g/ by systemically manipulating the bursts at the onset and th e formant transitions following consonantal release. Their subjects were instructed to identify the initial cons onant in a number of consonant-vowel series that contained s timuli with full cue (bursts and formant transitions), formant transition only, and burst only. They were able to consistently identify the initial consonants when presen ted with stimuli with full cue and formant transitions only. Acoustic analysis of the stimuli reveals that the energy of labial consonants is spread out but w ith greater low frequency ener gy; the energy of alveolar consonants is spread out but with greater high frequency energy; the energy of velar consonants is more densely distributed with most energy in the mid-frequency range. Liberman et al. (1952) found that the cen ter frequency of bursts serves as an important cue for the place of articulation of stops. High frequency bursts preceding seven different two-formant synthetic vowels were all perceived as /t/ by their subjects. Low frequency bursts preceding the vowels were perceived as /p/. Bursts perceived as /k/ were slightly above the frequenc y of the F2 of the following vowel. To conclude, spectral information, either in the static form or the dynamic form, is an important cue for the identification of se gmental phonemes. In this sense, effective frequency resolution of the auditory mechanism is essential for the processing of spectral cues in speech understanding; however, the de gree of frequency resolution required in order for a listener to effectively proce ss speech is a complex question depending on many factors and has not yet be en completely determined.

PAGE 33

22 Frequency Resolution and Processing of Spectral Cues in Speech As described earlier, studies have shown that cochlear hearing loss is strongly associated with widened auditory filters, re sulting in poor frequency resolution (Pick et al., 1977; Dubno & Dirks, 1989; Leek et al 1987; Dubno & Schaefer, 1992; Lutman, 1991). Thus, listeners with cochlear damage w ill not be able to effectively utilize some of the spectral cues in speech (Turner & Robb, 1987). It has also been observed that, in general, listeners with he aring loss have poorer than normal speech recognition when compared to listeners with normal hearing (G odfrey et al., 1977; Turn er et al., 1987; Leek & Dorman, 1987). Some investigators suggest that poor frequenc y resolution underlies this deficit (Turner & Henn, 1989). Listeners with hearing impairment experience more difficulty in identifying and/or discriminating speech than listeners with normal hearing (Godfrey & Millay, 1977; Dorman et al., 1985; Turner & Robb, 1987). One reason for this may be the reduced ability to resolve spectral peaks expe rienced by listeners with cochlear hearing loss. Leek & Dorman (1987) suggested that listeners with hearing loss require a larger difference in amplitude than listeners with normal hearing between the formant peak and the formant trough in the spectral envelope of vowels to correctly identify vowels due to their widened auditory filters In their study, they found that listeners with normal hearing required a peak-to-trough difference of 1-2 dB to achieve greater than 75% accuracy; however, listeners with hearing loss required a 6-7 dB amplitude difference for 75% identification. Accordingly, listeners with hearing loss e xperience more difficulty in the identification of vowels that are characte rized by closely spaced formants, because of

PAGE 34

23 the abnormal smoothing of the internal repr esentation of the spectrum by their widened auditory filters. Moreover, Turner & Henn (1989) have show n that listeners with hearing loss are unable to effectively decode th e steady-state formants of vowe ls. They investigated the relation between vowel recogni tion and measures of frequency resolution in normalhearing (ages 24-26 years) and impaired-h earing listeners (ages 21-55 years). The frequency resolution abilities of the subjects we re determined by their input filter patterns measured at six probe frequencies across th e speech range. Results suggest that input filter patterns measured in regions of heari ng loss often were broader than those observed in the normal-hearing subjects. Also, their data show that when listeners with normal hearing were provided with onl y steady-state formant frequencies in vowel identification tasks, they achieved 95% or better correct identification; however, the listeners with hearing loss demonstrated a substantial number of confusions (scores ranged from 60% to 83%). The authors found that the vowel confusions by the hearing-impaired listeners were well predicted by the individuals’ freque ncy-resolving capabilities, suggesting that impairments of frequency resolution and vow el recognition performance are correlated with each other. Therefore, frequency reso lution may be a significant factor in vowel recognition. Other studies have shown that not only do listeners with reduced frequency resolution have difficulty in processing stea dy-state formant frequencies (Turner & Henn, 1989), but also they have difficulty processing formant transitions (Dorman et al., 1985). Dorman, Marton & Hannley (1985) compared th e stop consonant iden tification of older

PAGE 35

24 hearing-impaired, older normal-hearing and young normal-hearing listeners, using a “bada-ga” continuum. Their results suggest th at older hearing-impaired listeners exhibit deficits in identification of signals that vary in onset frequency and di rection of change of brief formant transitions. Their young normal-h earing listeners were ab le to consistently identify stimuli with a rising second form ant transition as “ba” and stimuli with transitions falling more than 305 Hz as “g a”; however, the phone tic boundary for the older hearing-impaired listeners differed significantly from th at of the young normalhearing listeners. Notably, five out of 21 ol der hearing-impaired listeners made “ba” responses to stimuli at the /ga/ end of the continuum, indicating that this group of listeners has a wide /ba/ category and very poor identificat ion of /ga/. In categorical perception, a steeply sloping id entification function suggests unanimity of judgment at the two ends of the continuum and a rela tively narrow range of mixed responses in between. Without clearly categorical perc eption in phoneme identification, chances are listeners with hearing impair ment will make more mistak es in phoneme identification. These data suggest that their older hearing-impaired listeners were unable to process the formant transition as effectively as the young normal-hearing listeners. In summary, previous studies have sh own that cochlear impairment implies reduced frequency resolution, which adversely affects the ability to effectively process spectral information important for both vowel and consonant identification, such as steady-state formant frequency, peak-to-tr ough differences in spectra, and formant transitions. However, most of these studies only indirectly show that reduced frequency resolution contributes to poor speech unders tanding (Leek & Dorman, 1987; Dorman et

PAGE 36

25 al., 1985). To better understand the direct effect of reduced frequency resolution on speech understanding, more studies designed to investigate the correlation between frequency resolution and performance in speech identification are needed. Temporal Cues Temporal cues are identified as major speech cues that are separate from spectral information. They refer to information re lated to changes in the duration of speech sounds. These cues are important for identi fication of both vowels and consonants. For example, vowels differ in their “intrinsic” duration (Peterson & Lehiste, 1960). Short monophthongs differ from long mon ophthongs mainly in the relative durations of targets and offglides, e.g., relatively short target s and longer offglides for short vowel /I/; relatively long targets and shorte r offglides for long vowel /i/. Temporal cues also provide important information for the perception of consonants. Listeners use temporal inform ation to identify consonants’ voicing and manner of articulation features. For example, the duration of the noise segments can be used to distinguish voiced and voiceless fricatives Voiced fricatives tend to have shorter noise segment durations than voiceless fricat ives. Also, the duration of a vowel in a consonant-vowel-consonant syllable provides important cues to the perception of the voicing of a final stop or fri cative consonant (Price & Simon, 1984). Specifically, the vowel preceding the consonant is considerably longe r if the final cons onant is voiced than if it is unvoiced. On the other hand, the duration of the cl osure not only is an important cue to the perception of voicing of intervocalic stop consonants (Price &

PAGE 37

26 Simon, 1984), but also a cue indicating whether a plosive stop is pres ent or not (Bastian et al., 1961). In differentiating manner of articulation, di fferent forms of temporal information are available. For example, the slope of form ant transitions is used in distinguishing stop consonants from glides. In general, stop c onsonants exhibit very rapid (steeply sloping) formant transitions while glides exhibit slower (less steeply sloping) transitions. The formant transitions associated with initial /b/ and /w/ are very similar in direction because the transitions are produced by movement from a constriction of the or al tract at the lips to the position for a following vowel. G odfrey & Millay (1977) investigated the perception of stop and glide consonants. Th ey used synthetic consonant-vowel stimuli that varied along a continuum in the duration of initial form ant transitions (the starting and end points of formant transitions remain the same across stimuli). Their subjects with normal hearing consistently classified the stimuli as /b / when they had a transition of 40 ms or less; and they classified stimuli as /w / when they had a transition of 80 ms but a similar degree of spectral chan ge as in the shorter stimuli. Voice onset time (VOT) is another type of important temporal information in the perception of initial stop consonants. In the pr oduction of a syllable-in itial stop, there is a closure phase and a release phase. VOT refers to the duration of the interval between the release of oral occlusion in initial stop consonants and the onset of voicing of the following vowel. The duration, measured from ti me of the release burst to the onset of periodic vibrations observabl e in F1, provides important cu es for the differentiation of initial voiced and voiceless stop consonants. Lisker & Abramson (1967) measured the

PAGE 38

27 VOTs of five hundred words uttered by four sp eakers in isolated context. The average VOTs for /p, t, k/ were 58, 70, and 80 ms respectively, while the VOTs for /b, d, g/ ranged from negative values to less than 21 ms. Lisker & Abramson (1967) investigated the perception of voiced and voiceless stop c onsonants cued by VOTs. Their subjects categorically perceived stimuli with shor t VOTs (0–25 ms) as voiced stops and longer VOTs (40–80 ms) as voiceless stops. Also, other studies have s hown that the length of cl osure duration can indicate whether a plosive stop is present or not (Bas tian et al., 1961; Dorman et al., 1985; Nelson et al., 1995). This duration, sometimes referred as a “silent” gap, is a result of the closure period in articulation, during whic h there is no flow of air out of the vocal tract. Bastian, Eimas, & Liberman (1961) showed that thei r listeners perceived the syllable “slit” as “split” when a silent gap of about 40 ms was introduced between the noise /s/ and beginning of the vocalic portion. Similarly, Ne lson et al. (1995) demonstrated that when a brief silent gap was introduced between th e consonant and the vowel in the syllable “say”, their listeners with normal hearing perc eived the stimuli as “stay” 50% of the time when the gap was 36.6 ms. Evidently, the cl osure duration of an initial stop plays a significant role in the identif ication of stop consonants. Certainly, temporal cues are important cues for both vowel and consonant perception. The aforementioned examples are in no way an exhaustive list of all the temporal cues used in speech perception; they merely show that temporal cues can be exemplified in various forms in speech signals and be utilized to differentiate different types of phonemic contrasts.

PAGE 39

28 Temporal Resolution and Processing of Temporal Cues in Speech As mentioned earlier, numerous studies on temporal resolution using non-speech stimuli have shown that presbycusic listeners very often exhibit deterioration in temporal resolution abilities (Glasber g et al., 1987; Fitzgibbons & Gordon-Salant, 1987; Lutman, 1991; Madden & Feth, 1992). Some studies attr ibute this effect to the biological effects of aging throughout the central auditory system (Fitzgibbons & Gordon-Salant, 1994; Gordon-Salant & Fitzgibbons, 1999). Other studies attribute this effect solely to changes in the peripheral audito ry system related to hearing loss (M oore et al., 1992). Despite this difference of opinion, it is well established that listeners with hear ing impairment often show deficits when they process spee ch signals primarily cued by temporal characteristics (Ginzel et al.,1982; Strouse et al., 1998). A number of studies have investigated temporal resolution in a speech context (Godfrey & Millay, 1977; Cazl s & Palis, 1991; Ginzel et al ., 1982). Godfrey & Millay (1977) studied the effect of hearing impairm ent on the perception of duration changes in initial formant transitions. They created a /b / /w / continuum by varying the duration of initial formant transitions, such that the stimuli with shorter transition sounded like /b / and the stimuli with long er transition sounded like /w /. In this case, the distinction between a stop and a glide was cued only by the rapid vs. slow transition of all formants. Listeners with normal hearing (mean age: 24.3 years) generally classified stimuli with transitions of 40 ms or less as /b /, and those with transitions lasting 80 ms or more as /w /; however, presbycusic li steners (mean age: 69.1 years) show ed varied results. Six of 15 listeners with hearing impairment were una ble to identify stimuli from the continuum

PAGE 40

29 appropriately, in that some of them labe led the stimuli randomly, and some labeled almost all stimuli as /b / or /w / in different presentation levels. These differences in performance suggest that the ca tegorization of stops vs. glides was especially difficult for some of the hearing-impaired listeners when the distinction was cued primarily by the duration of the initial formant transition. Th e authors suggest that both age and hearing impairment may have contributed to the abnormal speech perception results of the hearing-impaired listeners. Likewise, Cazls & Palis (1991) investig ated the perception of voicing of an intervocalic plosive “aka” vs. “aga” as a function of the silent duration in listeners with normal hearing and listeners with hearing impair ment. Their results show that about half of the hearing-impaired subject s needed an abnormally long silent closure to perceive the stops as voiceless. Ginzel et al. (1982) investigated the perception of vowel duration by young normal-hearing listeners and pr esbycusic listeners. In their experiments, two Danish words “lse” and “lsse” (meaning “to read” and “to load”, respec tively) were used. The cue for discrimination of these two words was the length of the vowel // in that the word “lse” had a longer vowel duration th an the word “lsse”. Their young normalhearing listeners showed a rather sharp categorical-like shift in perception of “lse” to “lsse” at between 140 and 150 ms of vowel dur ation; whereas the presbycusic listeners required a slightly longer vowel duration for this shift to occur. Moreover, their presbycusic listeners were less certain in identifying the stimuli when compared to the young normal-hearing group, especially in mona ural listening conditions, as evidenced

PAGE 41

30 by less sharp shift in perception from shor t to long vowel judgments. The reduced temporal resolution ability of listeners with presbycusis, as demonstrated in this experiment, may explain why they consiste ntly experience more confusion in vowel perception, especially in rapid running speech where both spectral and durational differences may be reduced. It is commonly known that older listen ers with hearing impairment exhibit reduced temporal resolution; however, olde r listeners without evidence of cochlear impairment also exhibit this deficit. Aging has been consistently shown to be negatively correlated with temporal acuity using speech and non-speech stimuli (Strouse et al., 1998; Price & Simon, 1984; Lister et al. 2002; Lister & Tarver, 200 3). Strouse et al. (1998) studied temporal processing in the aging auditory system. Young listeners with normal hearing (mean age: 26.1 years) and older lis teners with normal hearing (mean age: 70.9 years) were included in the st udy. A /ba/ /pa/ stimulus continuum, in which the duration of VOT was varied in small steps, was used. The listeners were asked to discriminate stimulus pairs using a same-different task (indicating whether the stimuli were the “same” or “different”) and to identify the percei ved initial phonemes as either /b/ or /p/ in another task, through which the listeners’ sensitivity to changes in VOT were measured. Their results show significant age effect s on the VOT identification functions and measures of discrimination of VOT cues. Their older listeners were apparently less sensitive to changes in VOT and showed more gradual identification slopes as compared to the young listeners. The aut hors suggest that age-related f actors other than peripheral hearing loss contribute to the te mporal processing deficits obse rved for older listeners.

PAGE 42

31 They conclude that this deficit places the ol der listeners at a “func tional disadvantage” in the perception of temporal cu es in conversational speech. Similarly, Price & Simon (1984) investig ated the percepti on of stop closure duration and preceding vowel duration in young (ages 16-26 years) and older listeners (ages 55 years or higher). Their older listene rs required an average of 8 ms longer silent closure duration to correctly id entify a voiceless plosive, comp ared to the young listeners. The authors suggest that age is a contributing factor to the temporal resolution deficits in older listeners. Some researchers, on the other hand, suggest that older listeners with hearing loss are not impaired in their abil ity to identify signals on the ba sis of temporal features. Dorman et al. (1985) examined phonetic identification among young normal-hearing, older normal-hearing, and older hearing-impaired listeners with mild to moderate, sloping hearing impairment. The authors created a “slit – split” continuum by varying the duration of a silent gap in the word “slit ” produced by a male speaker. Intervals of silence varying from 20 to 120 ms in 20 ms steps were intr oduced between the /s/ noise and the vocalic portion of /lIt/. Subjects were asked to iden tify stimuli as “slit” or “split” in an identification tas k. The phonetic boundary was 77 ms for the young normal group, 72 ms for the old normal group, and 65 ms for the older hearing-im paired group. Posthoc Scheffe tests revealed a significant difference between the young normal group and the older hearing-impaired group. Dorman et al. (1985) found that the older hearingimpaired listeners actually required a shorter silent duration to iden tify the stop consonant

PAGE 43

32 /p/ when they were presented with the stimu li in which the formant transition cue to /p/ (rising formant transitions) was not available. Based on this experiment and other phone me identification experiments within the study, Dorman et al. (1985) concluded that “older hearing-impair ed listeners are not impaired in their ability to identify signals on the basis of temporal features” (p. 668). The rationale for their interpretation was that since older hearing-impaired listeners did not need a longer duration of silence to percei ve a /p/ in the “slit” series, neither age nor mild to moderate hearing impairment aff ects a listener’s ability to make phonetic judgments based on temporal stimulus propertie s. However, the fact that older hearingimpaired listeners needed a shorter durati on of silence to identify a stop consonant demonstrated that they had ineffectively utili zed the temporal cue or at least used it differently from normal hearing listeners. Furthermore, there are some issues rela ted to the method and design of Dorman’s study (1985) that are worth mentioning. The author s did not set very strict criteria for the selection of normal hearing subjects. The criteria fo r young normal hearing were pure tone thresholds lower than 20 dB HL at 0.5, 1, 2, and 4 kHz. For the older normal listeners, the criteria were pure tone thres holds lower than 20 dB HL at 0.5, 1, and 2 kHz and lower than 30 dB HL at 4 kHz. There is no reference to their hearing at higher frequencies. Although some researchers have found that reduced temporal ability adversely affects a person’s ability to process the tem poral cues in a spe ech context (Godfrey & Millay, 1977; Cazls & Palis, 1991; Ginzel et al., 1982; Pr ice & Simon, 1984), others

PAGE 44

33 believe that such temporal resolution defic its do not affect a person’s ability to process temporal speech cues (Tyler et al., 1982). Se veral studies on temporal acuity have shown that the differences in temporal resolution ab ility between listeners with hearing loss and listeners with normal hearing were found to be comparatively small when compared to the magnitude of temporal acuity needed for identifying phoneme contrasts. For example, Tyler et al. (1982) investigated phonetic temporal processing in normal (mean age: 23 years) and hearing-impaired listeners (mean age: 53 years). They found, despite measured differences in temporal acuity between the two groups, there were no group differences in the identification of stimuli from a voiced-voiceless consonant continuum when the stimuli differed in the temporal f eature of VOT. The authors found that the average gap detection thresholds for the liste ners with normal hearing and listeners with hearing loss were 10 and 17 ms, respectively, sh owing an elevation of 7 ms for the older listeners. The silent interval needed to signa l a stop in a consonant cluster is on the order of 80 ms or longer and that needed to signal the absence of a stop in the cluster is 20 ms or less (Fitch et al., 1980). The presence or absence of a stop is cued by a comparatively long silent duration, which is normally within the range of temporal resolution ability of hearing-impaired listeners. Based on this reasoning, some researchers argue that although listeners with hearing loss suffer from poorer than normal temporal acuity, the magnitude of the deficit may not necessarily affect phonetic identifica tion (Tyler et al., 1982). They believe that even though listene rs with hearing loss show deteriorated temporal processing ability compared to lis teners with normal hearing, it may not be a cause for their comparatively poorer performance in speech processing.

PAGE 45

34 To summarize, several of th e studies reviewed demonstrat ed that temporal acuity deficits associated with cochlear hearing lo ss or age-related factors may negatively affect speech processing. As a result, listeners w ith reduced temporal resolution may have increased difficulty in processing rapid cha nges in everyday speech when temporal cues are the primary cues for phoneme contrast s (Godfrey & Millay, 1977; Cazls & Palis, 1991; Ginzel et al., 1982; Price & Simon, 1984). However, other researchers suggest that the degree of temporal acuity deterioration associated with presbycusis is not large enough to affect speech perception in real wo rld environments (Tyler et al., 1982), and some other researchers argue that neither ag e nor hearing impairment affects temporal acuity in speech percepti on (Dorman et al., 1985). The studies reviewed above i nvestigated the effects of frequency and/or temporal resolution deficits on the pro cessing of spectral and tempor al cues, respectively. Many researchers have attempted to explain how thes e deficits affect listeners’ processing of various speech cues. As mentioned earlier, mu ltiple speech cues are embedded in speech. Normally, listeners will put more weight on a particular speech cue in a particular context. To investigate how much listene rs with varied auditory function rely on different speech cues, many researcher s have employed cue weighting studies. Cue Weighting In real speech, several acoustic properties serve as cues for vowel or consonantal contrasts and they provide information for the identification of a particular speech stimulus (Dorman et al. 1985; Repp et al., 1989 ; Fitch et al., 1980). Among the important

PAGE 46

35 cues for vowel perception are F1/F2 pattern, intrinsic duration, and the spectro-temporal pattern of the formant trajectories into a nd out of the syllable nucleus. These cues compensate for one another in speech understanding. Therefore, when the F1/F2 patterns do not attain their acoustic target values, lis teners are still able to accurately identify vowels by using prosodic information such as the “sentential stress-timing structure” (Verbrugge & Shankweiler, 1977). Likewise, mu ltiple acoustic cues are available for the identification of stop consonants. Among thes e are formant transiti on direction, intensity and spectrum of burst, and closure duration. Fo r example, listeners can correctly identify the place of articulation of an initial stop consonant-vowel stimulus when the burst is eliminated and only the transition is ava ilable (Stevens & Blumstein, 1978). These findings suggest that listeners can independently make use of the multiple acoustic cues of a given articulatory event. A listener can use a single cue or a combination of cues that enable him or her to make a correct identification. More importantly, when one speech cue is degraded, the listener will re ly on other cues in processing speech. Researchers have found that, under stri ngently controlled experimental conditions, listeners can rely on a single acoustic cue to di fferentiate phonetic contrasts (Peterson, 1952; Port, 1976; Strange et al., 1983 ). A cue is generally known as a primary cue when the presence of that cue alone is su fficient for correct identification of a certain phoneme while a secondary cue is one that canno t be used alone to identify the phoneme. Normally, the primary cue for certain phonetic contrasts would be mo re heavily weighted by listeners, while other secondary cues work complementarily in the process.

PAGE 47

36 Generally speaking, it is assumed that most listeners will put more weight on the primary acoustic cue in phoneme identification; however, individual va riability exists in that some listeners may weight different acous tic cues more heavily than other listeners. Thus, numerous research studies have investig ated how listeners utilize different speech cues to identify phonemes (Dorman et al., 1977; Repp et al., 1989; F itch et al., 1980). Also, many researchers have i nvestigated how changes in a secondary acoustic cue affect the location of perceptual boundaries along a primary acoustic continuum, when a primary acoustic cue by itself is sufficien t to distinguish the phoneme categories (Summers & Leek, 1992; Fitch et al., 1980). This shift in primary cue boundary due to influence of secondary cue is known as a tr ading relationship. The principal hypothesis for these studies is that if different acoustic cues provide comparable phonetic information, it is possible to counterbalance the absence of or ambiguity in one acoustic cue by strengthening the other, provided that those acoustic values are within the limits prescribed by natural speech (Best et al., 1981). Often, how ever, there is cue that, if eliminated entirely, cannot be completely comp ensated for by the other. In this case, there are clear primary and secondary cues. In other cases, the two cues may be more equally used. Research studies on trading re lationships can provide useful information on the relative weighting of two specific spee ch cues in the identification of phonetic contrasts. By examining the trading relati onship of two speech cues, investigators can infer the weighting of these speech cues in speech processing. To better understand whethe r hearing impairment and related psychoacoustic deficits may affect one’s processing st rategies in speech understanding, several

PAGE 48

37 researchers have compared the weighting of acoustic cues between listeners with normal hearing and listeners with hearing loss (N elson et al., 1995; Hedrick & Younger, 2003). Several of these studies have shown that li steners with hearing loss do exhibit different weighting of acoustic cues from listeners with normal hearing, and thus different trading relationships between various acoustic cues (Nelson et al., 1995; Hedrick & Younger, 2003). The following is a review of relevant cue-weighting studies. Summers & Leek (1992) investigated the effect of hearing impairment on the relative weighting of formant frequency and vowel duration information in vowel identification. A total of 22 subjects (age not specified) were incl uded in their study, half hearing-impaired and half with normal hear ing. Subjects were asked to identify each stimulus as “bit” or “beet” during the iden tification tasks. A series of stimuli was synthesized, of which the formant frequency cues and vowel duration cues to /i/ and /I/ were varied orthogonally. With in each of the two series, F2 steady-state values ranged from 1640 Hz (appropriate for /I/) to 2300 Hz (appropriate for /i/) in 110-Hz steps. The only difference between the two series of stimuli was total vowel duration: stimuli from the “long” series were 120 ms long (appropria te for /i/), and stimuli from the “short” series were 70 ms in dur ation (appropriate for /I/). Thus, the clearest “beet” stimulus was 120 ms in duration and 2300 Hz in F2 frequency; while the clearest “bit” stimulus was 70 ms in duration and 1640 Hz in F2 frequency. Probit fits to listener responses to each series of vowel stimuli were obtained for the normal-hearing and hearing-impaired groups For both series, listeners with normal hearing exhibited steeper labeling slopes th an the hearing-impaired listeners. This

PAGE 49

38 suggests that the listeners with normal heari ng utilized F2 frequency as an unambiguous, primary cue for vowel identifica tion, as shown in most of the F2 values tested. On the other hand, the listeners with hearing loss exhibited relativel y shallow slopes, indicating that a number of F2 frequencies provided ambiguous cues. A significant interaction was observed between F2 frequencies and groups, su ggesting that a change in F2 frequencies led to a greater effect on responses for th e group with normal-hear ing compared to group with hearing impairment. Summers & Leek (1992) also compared the frequency difference between the 50% mid-points of the two durational series which reflects the influence of vowel duration on vowel identification. This value reflects the amo unt of F2 change necessary to counterbalance the effect of duration and maintain performance at 50% “beet” responses. Their data showed no signifi cant difference between groups, which means that the effect of vowel duration on labeli ng was the same for both groups. Their data also showed that, although lis teners with hearing loss did not rely on F2 frequency as much as the listeners with normal heari ng, their reliance on vo wel duration did not systematically increase as reliance on F2 decr eased. Therefore, the authors suggest that vowel duration does not play a more important role in vowel percep tion in the listeners with hearing loss, even for those with good temp oral resolution abilities In other words, both the normal hearing and hearing impair ed groups had the same criterion for this dimension or they adopted the same weighting for this temporal cue. To summarize, Summers & Leek’s data ( 1992) suggest that listeners with normal hearing showed a more well-defined categorical perception in the “bit beet” continuum

PAGE 50

39 by making greater use of F2 formant frequency in vowel labeling than did listeners with impaired hearing. It appear s that the subjects with h earing loss perceived spectral information as a less reliable cue than did the subjects with normal hearing. Their data also show that vowel duration did not play a more important role than spectral information in cuing vowel duration for the hearing-impaired listeners, even for those with good temporal resolution ab ilities. The authors’ interp retation of results was based on the assumption that all subjects demonstr ated sufficient frequency resolution for the identification task (by showing greater than 90% correct F2 -endpoint frequency discrimination, 1640-Hz vs. 2300-Hz). However, it should be noted th at even though the subjects were able to discriminate the endpoi nts, it did not necessar ily mean that they were able to discriminate the steps of F2 fr equency changes. Accordingly, the relatively shallow slope values for the identification functions obtained from the listeners with hearing loss could be due to th eir inability to detect change s in F2 frequencies. This explanation is supported by th e significant group differen ce in frequency resolution obtained by Summers & Leek (1992). Hedrick & Younger (2003) studied cue wei ghting in fricatives that differed in place of articulation by using normal-hearing listeners (ages 23-41 years; audiometric thresholds 15 dB HL between 250 and 4000 Hz) and listeners with hearing impairment (ages 51–79 years). In their study, they inves tigated the perceptual weighting of these cues in the perception of fricatives /s/ and / / by using synthetic continua varying from /sa/ to / a/, in which three acoustic cues: (1) fric ation duration, (2) the onset frequency of

PAGE 51

40 F2 in the formant transition, and (3) the amplit ude of the frication relative to that of the vowel in the F3 frequency region (“rela tive amplitude cue”) were manipulated simultaneously. Two frication durations we re used: 50 and 140 ms (50 ms being the shortest frication duration at which normal h earing listeners can correctly identify both /s/ and / /, and 140 ms being the upper range of voi celess fricative durations in American English speech). The onset frequency of F2 transition was varied from 1200 (appropriate for /sa/) to 1800 Hz (appropriate for / a/) in 100 Hz steps. Th ree values of relative amplitude cue were used: –10, 0, and +10 dB (a negative relative amplitude value is typically perceived as an /s/, whereas a posit ive relative amplitude value is perceived as / /). Subjects were asked to label the initial consonant as either /s/ or / /. Their results show that their listeners w ith hearing loss tended to give more /s/ responses than the listeners with normal hearing, resulti ng in boundary locations for the psychometric functions that la y to the right of the boundaries for the mean functions for listeners with normal hearing. When the list eners with hearing loss were presented with stimuli with a relative amplitude value appropr iate for /s/ (i.e., -10 dB), they perceived the stimuli predominately as /sa/ regardless th e values of onset frequency of F2. Similar response patterns were observed when the list eners with hearing loss were presented with stimuli with relative amplitude of 0 dB (ambiguous for both /s/ and / /). On the other hand, listeners with normal hearing showed steeper labeling slopes of the –10 and 0 dB functions than the listeners with hearing lo ss, suggesting listeners with normal hearing

PAGE 52

41 have a sharper categorical shift from th e categorical judgments between /s/ and / /. The listeners with normal hearing were able to integrate the relative amplitude cue and the spectral cue of onset frequency of F2 transiti on effectively. However, the listeners with hearing loss showed less efficient use of the spectral cues. They weighted the relative amplitude cue heavier than the spectral cue of onset frequency of F2 transition. Thus, these results show a differen tial cue weighting between th e two groups of listeners. There was also a greater change in re sponses from listeners with hearing impairment than their normal-hearing count erparts when the frication duration was manipulated. These data suggest that fricat ion duration may have more influence on the listeners with hearing loss in the identifica tion of fricatives. On the other hand, there appeared to be a smaller effect of changi ng the relative amplitude values for the 50-ms frication duration conditions for the listeners with hearing impairment than for their peers, which again suggests di fferent weighting of this cu e between the two groups. As indicated by Hedrick & Younger’s re sults (2003), listeners with normal hearing were able to use both the relativ e amplitude cue and F2 transition onset information in fricatives; however, listeners w ith hearing loss showed less efficient use of transition information. The authors suggest th at listeners with h earing impairment may perceive suprathreshold acoustic speech info rmation differently than listeners with normal hearing because the hearing loss distorts the coding of certain cues, resulting in different weighting of cues fr om normal hearing listeners.

PAGE 53

42 Cue Weighting/Trading Rela tionship: Stop Consonants Among the studies on weighting of speech cues performed in the last few decades, cue-weighting studies related to stop consonant perception have re ceived much attention (Price & Simon, 1984; Nelson et al., 1995). Several of these studi es were conducted in an attempt to better understand how listeners process multiple sp eech cues in the perception of stop consonants. Researchers have examined the weighting of stop clos ure, vowel duration, and formant transition information by listeners of various auditory abilities and found that trading relations could be found in various cu es for stop consonant perception (Fitch et al., 1980; Nelson et al., 1995; Summers & L eek, 1992). More importantly, they found that listeners with h earing impairment (Nelson et al., 1995), and older listeners (Price & Simon, 1984) do exhibit different cue weighting strategies for various cues for stop consonant perception when compared to young listeners with normal hearing. The following is a review of se veral cue weighting studies related to stop consonant perception that are most re levant to the present study. Fitch, Halwes, Erickson, & Liberman (1980) examined the trading relationship between the temporal and spectral cues to a stop consonant in lis teners with normal hearing. Two continua were synthesized: a “slit” continuum and a “split” continuum. The stimuli consisted of an s-like noise, followed by silent gap of variable duration, followed by vocalic portions typical of either a /lIt/ or a /plIt/ syllable. The interval of silence between the /s/ noise and the vocalic portion varied in 8-ms steps from 8 to 160 ms. The only difference between these two patterns was that for the /plIt/ series, F1, F2 and F3 began lower and contained rising fo rmant transitions (an acoustic cue for a

PAGE 54

43 preceding stop consonant), whereas for the /lIt/ series, formants started higher and had flat initial transitions. Listeners were instruct ed to identify the stimu li of both continua as either “slit” or “split”. The results of Fitch et al. (1980) showed that stimuli with long silent durations (the primary cue for a stop) were labeled “s plit” in both series; however, the location of the phoneme boundary differed between the two c ontinua. For the mid range of silence, 48 ms to 112 ms, listeners iden tified “split” more often for the stimuli containing rising formant transitions than for stimuli containi ng flat initial formants. In other words, shorter silent intervals (indicating no stop) could be offset by the presence of rising formant transitions (indicating a stop) and vice versa. This tradeoff is evidenced by the displacement of the phonetic bound ary between “slit” and “split ” in the two series. For the “split” series, the phonetic boundary was at about 55 ms of silence, whereas for the “slit” series, the boundary was located at appr oximately 80 ms. As shown in their data, listeners needed approximately 25 ms less sile nce to perceive a “split” when the formant transitions appropriate for /p/ were present (as in the “split” series) than when they were absent (as in the “slit” series). The di splacement of the phonetic boundary reflects the trading relationship between the temporal and the spectra l cues in stop consonant identification. Nelson, Nittrouer & Norton (1995) conducted a study to investigate whether listeners with hearing loss exhibit similar wei ghting of spectral and temporal cues related to stop consonants as listeners with normal hearing. They included 18 listeners with hearing loss and 5 with normal hearing, ra nging from 15 to 48 years old. The listeners

PAGE 55

44 with hearing loss were further divided into four groups labeled mild, sloping, moderate and severe hearing impairment. In their “s ay stay” identification task, signals were constructed along two continua a low-F1 continuum and a high-F1 continuum, both containing a natural /s/, followed by a synt hesized vocalic portion. The “low-F1” continuum contained a vocalic portion with a steeply sloping first formant transition (F1 onset frequency started at 230 Hz) that clear ly indicated stop clos ure. The “high-F1” continuum contained a vocalic portion with a gently sloping first formant transition (F1 onset frequency started at 430 Hz) that am biguously indicated stop closure. Silent intervals between the /s/ noise and the vocalic portion of the signal ranged from 0-55 ms in 5-ms steps for each continuum. Subjects we re asked to identify the stimuli as “say” or “stay.” Probit fits to the group data for the two continua were obtained. For the low-F1 onset condition (where formant transition s upported a stop), the group data of the normalhearing and the hearing-impaire d groups did not differ signifi cantly. All listeners placed the phoneme boundary at approxim ately the same location on the continuum. However, significant differences were noted for the high-F1 onset condition (where formant transition did not support a /t/) between groups All the hearing-impaired groups, except for the sloping listener group, exhibited a si gnificantly shorter phoneme boundary for the high-F1 continuum than the normal-heari ng group. For the normal-hearing group, the mean separation between the two functions was 18.6 ms, meaning that normal-hearing subjects needed an extra 18.6 ms of silence to identify a stop wh en there was induced ambiguity by the high F1 onset frequency, while the hearing impaired groups exhibited a

PAGE 56

45 much smaller separation of the two functions (mild: 7 ms; sloping: 9.2 ms; moderate: 0.8 ms, and severe: 0.2 ms) to counter the effects of the ambiguous transition. Accordingly, significant differences were found between th e values of mean separation of the two functions when comparing the hearing-impair ed groups with the normal hearing group. A larger separation between the functions as exhibited by the norma l-hearing listeners suggests that the ambiguous spectral informa tion caused a larger effect on the normal hearing listeners than the hearing impaired lis teners. This further suggests that listeners with hearing loss weight formant transition cu es differently than listeners with normal hearing. As mentioned in earlier sections, age-rela ted psychoacoustic deficits in speech understanding, other than reduced hearing sens itivity, have been reported in various studies (Strouse et al., 1998; Price & Simon, 1984). The reduc ed ability to use temporal and spectral cues in older listeners may lead to a different weighting of acoustic cues than for young listeners, which in turn affects the speech processi ng strategies of the older listeners. Price & Simon (1984) investig ated the effects of age a nd level of presentation on the perception of the voicing distinction in stop consonants, using stimuli that differed in two temporal dimensions: duration of th e preceding vowel a nd the duration of consonantal closure (silent dur ation). These two temporal cues are important for the voicing distinction for intervocalic stop c onsonants. Ten young subjects (age 16-26 years) and 10 older subjects (a ge 55 years or higher), who had either normal hearing from 250–8000 Hz, or near normal hearing sensitivity up to 6000 Hz, were used in their

PAGE 57

46 studies. Naturally produced tokens of “rab id” were low-pass filtered at 3500 Hz and edited to create vowel and silent closure dur ation continua: four di fferent durations (160, 180, 200 and 220 ms) for the vowel // and 4 si lent closure durations (35, 65, 95 and 125 ms). Along the continuum, the shortest vow el duration and the l ongest silent closure duration gave the clearest “rapid”, while th e longest vowel durati on and the shortest closure duration gave the clearest “rabid”. Subjects were instructed to give a “b” response if they heard “rabid” a nd a “p” response if they heard “rapid”, or to indicate any other medial consonants that they heard. Price & Simon’s results (1984) showed th at the older subjects required a longer silent closure duration to perceive “rapid” than the young listeners across all four vowel durations and the two presenta tion levels. A closer look at the data obta ined at the presentation level of 80 dB HL and for the continuum that contai ns the vowel duration most appropriate for “rapid” (160-ms series) show that older subjects required 11 ms longer silence to perceive “r apid” than the younger subjects ; however, for the continuum that contained the vowel duration appropriate for /b/ (220-ms series), the difference between the two groups was only about 5 ms. Also, the ambiguity in vowel duration resulted in a larger shift in responses fo r the young normal-hearing listeners than for the older normal-hearing listeners. For example, at the presentation level of 80 dB HL, a comparison of crossover values for the 160-ms series with those for the 220-ms series reveals a significant difference: there is a 25.5 ms shift for the young normal-hearing listeners, while there is only a 18.2 ms shift fo r the older normal-heari ng listeners. Thus, when there was a vowel durat ion appropriate for the voice d sound (i.e., in the 220-ms

PAGE 58

47 series), young normal-hearing listeners required a longer period of additional silence to overcome the ambiguity than the older normal-hear ing listeners did. This larger effect of vowel duration exhibited by the young listene rs suggests that young listeners weighted vowel duration more heavily than the older lis teners. These findings provide evidence of an age-related difference in the perception of stimuli differing in two temporal aspects: vowel duration and silent closure duration, and that there is a differential weighting of these two cues between these two groups. The aforementioned cue weighting and trad ing relationship studies suggest that differential performance in speech percepti on exists between listeners with normal hearing and listeners with hearing loss as well as between young a nd older listeners. Specifically, listeners with hearing loss (Nelson et al., 1995; Summers & Leek, 1992; Hedrick & Younger, 2003) and ol der listeners (Price & Simon, 1984) may be less able to utilize spectral information, such as forman t frequency and formant transition, in the identification of vowels or consonants, even when these spectral cues are perceived at suprathreshold levels (Turner & Robb, 1987) A possible explanation could be that listeners with hearing loss either weight cer tain speech cues differently from listeners with normal hearing, as evidenced by a different trading relationship between the cues, or that they have a less well-d efined perception of the identification of two different phonemes due to reduced auditory or psychoacoustic sensitivity.

PAGE 59

48 Summary Age-related hearing loss causes changes in auditory perception. The associated changes (which include reduced hearing sens itivity, diminished frequency and temporal resolution abilities) are thought to be contribu ting factors to poor sp eech understanding in older listeners with hearing loss. Multiple speech cues are available for a given phoneme, or within a word. Numerous cue weighting studies have su ggested that listeners with hearing loss demonstrate different processi ng strategies in speech understanding than listeners with normal hearing. Unanswered Question Studies of cue weighting and trading rela tionships between spectral and temporal cues in the identification of stop consona nts among older listeners with and without hearing loss, remain scarce. Nelson et al. (1995) studied spec tral and temporal cues, but they only included young listene rs in their study. Price & Simon (1984) studied the effects of age on a weighting st rategy, but they compared th e weighting of two temporal cues rather than both spectral and tempor al cues. Although these previous studies provide important information on the weighting strategies of select groups, they do not address the weighting of spectral and temporal cues by older listen ers with and without hearing loss. The unanswered question is whether older listener s with age-related hearing loss process spectral and temporal sp eech cues differently from young and older listeners with normal hearing.

PAGE 60

49 Research Questions The present study addressed the ques tion by comparing the cue weighting strategies and tradi ng relationships in three groups of listeners (young listeners with normal hearing, older listeners with normal h earing, and older listeners with hearing loss) using both spectral and temporal cues. The specific questions addressed by th e present study are outlined below. 1. Given that the spectral information is audible, is there a difference in the frequency resolution ability am ong the listener groups when they process stimuli designed to match the spectral information of an /l/ and a /p/? 2. Given that the stimuli are audible, is there a difference in temporal processing ability between the listen er groups when they process more and less speech-like information? 3. Given that the spectral and temporal information is audible, is there a difference in the weighting of sp ectral and temporal speech cues between older listeners with and without hearing loss or between young and older listeners w ith normal hearing? To answer these questions, this study co mpared the performance on a series of psychoacoustic and speech identification ta sks of three groups of listeners: (i) young listeners with normal hearing, (ii) older li steners with normal h earing, and (iii) older listeners with hearing loss. The psychoac oustic tasks were designed to compare the frequency resolution and temporal processing ab ility across the three listener groups; the

PAGE 61

50 dependent variables were the minimum det ectable glide frequency for the frequency resolution task and gap detection thresholds for more and less speech-like stimuli for the temporal processing tasks. For the speech identification task, the dependent variables studied included the location of the 50% point and slope of three psychometric functions generated from listener responses of three speech continua that differed only in the slope of the initial formant transition F1, F2 and F3: (i) rising formant transition, which strongly indicates the presence of a /p/; (ii) ambiguous form ant transition, with a slope intermediate between those for /p/ and /l/; and (iii) flat form ant transition, which strongly indicates the presence of an /l/. Moreover, group comparisons were made of the size of the trading relationship between the 50% point s of functions generated from the flat and rising continua. These compar isons were made to determine whether group differences in cue weighting exist. A relatively shallo w function slope for any of the three continua suggests that perception is less categorical for the primary cu e (i.e. the temporal cue in this study). Conversely, a relativ ely steep slope suggests that perception is categorical for the primary cue. A relatively large trading relationship sugge sts the listener has relatively heavy weighting on the secondary cue (i.e. the spectra l cue in this study). In contrast, a relatively small trading relationship sugge sts relatively weaker weighting on the secondary cue. If the functions of the flat and rising continua have shallow slope values and a large trading relations hip, it implies that the listener’s perception is more continuous for the primary cue and with relative ly strong weighting of the secondary cue. On the other hand, if the two functions have steep slope values and a small trading relationship, it implies that the listener’s perception is more categorical for the primary

PAGE 62

51 cue and with relatively weaker weighting of the secondary cu e. If the slopes of both functions are shallow and there is a small trading relationship, it suggests that the listener’s perception is more continuous than categorical for the primary cue or that the steps of the continuum cannot be discrimi nated. It does not, however, necessarily indicate a strong weighting of the secondary cu e. If the slopes of the functions are steep and the trading relationship is small, it suggests the listener’s perception is more categorical for the primary cue with a relativel y weaker weighting of the secondary cue. Together, these comparisons may help de termine whether group differences in cue weighting exist and what psychoacousti c differences may be responsible for any differences in cue weighting among the groups.

PAGE 63

52 Chapter Two Methods and Procedures The present study consisted of three parts. The first pa rt included detection and discrimination tasks used to ensure all spectr al and temporal information were audible to each listener. The second part included two psychoacoustic tasks used to investigate the temporal and frequency resolution ability of the listener groups. The third part was the speech identification task used to investig ate whether there were differences in cue weighting strategies among the listener groups. Participants Three groups of listeners were recruited for the study: (1) 11 listeners aged 23 – 34 years (mean age: 27.5 years, SD = 4.3) with normal hearing (YNH), (2) 8 listeners aged 62 – 73 years (mean age: 67.1 years, SD = 4.2) with normal hearing (ONH), and (3) 11 listeners aged 62 – 74 years (mean age: 68.6 years, SD = 3.4) with sensori-neural hearing loss (OIH). The YNH listeners we re volunteers from the Department of Communication Sciences and Di sorders of University of South Florida, who had a background in speech and hearing sciences. The ONH and OIH listeners, on the other hand, were recruited from the general public and did not have background knowledge of speech and hearing sciences. A one-w ay Analysis of Variance (ANOVA) and

PAGE 64

53 subsequent post-hoc analyses indicated that the YNH listeners were significantly younger than the ONH and OIH listeners (p = .00) but the ages of the ONH and OIH listeners did not differ significantly (p = .42). All listene rs received a complete hearing evaluation. Listeners in the YNH group ha d pure-tone thresholds 25 dB HL for the octave frequencies from 250 through 8 kHz, and listeners in the ONH group had normal pure tone thresholds 25 dB HL for the octave frequencies from 250 through 6 kHz and 40 dB HL at 8 kHz. The OIH group had bila terally symmetrical sloping sensorineural hearing loss, typical of presbyc usis. Symmetrical hearing wa s defined as less than 15 dB difference between ears at 2 consecutive octa ve frequencies. Figure 1 shows the average pure tone thresholds for each listener group averaged acr oss ears. A one-way ANOVA and subsequent post-hoc analysis indicated that the bilateral four-frequency (500, 1k, 2k, and 4k Hz) pure tone average of the YNH group (mean = 6.9 dB HL) was significantly better than that of the ONH (mean = 14.3 dB HL) (p = .01) and OIH groups (mean = 29.7 dB HL) (p = .00). Also, the ONH listener gr oup had significantly better hearing than the OIH listener group (p = .00). Although the pure tone average of the ONH listener group was significantly poorer than that of th e YNH listener group, it s hould be noted that thresholds for this group were within the ra nge of normal audiometri c hearing sensitivity without adjustment for an effect of age (Brant & Fozard, 1990).

PAGE 65

54 Figure 1. Pure tone thresholds averaged acr oss ears and participants for each group. Error bars (representing one standard de viation) are shown for each symbol.

PAGE 66

55 Additional criteria for all listeners in cluded normal tympanogram, no exposure to ototoxic drugs, no history of extensive noise exposure and no otol ogic or neurological disorders. All listeners were monolingual nati ve speakers of English. All listeners in the ONH and OIH groups passed a cognitive screen ing, the Mini-Mental State Examination (Folstein, Folstein, & McHugh, 1975) with a scor e of 28 or better out of 30 (a score of 24 or better is indicative of no cognitive im pairment). Results of the MMSE scores are shown in Table 1. Table 1. MMSE scores of old normal hear ing (ONH) and old impaired hearing (OIH) listeners. Subject MMSE Score ONH001 30 ONH003 30 ONH004 30 ONH005 30 ONH006 30 ONH007 30 ONH008 30 ONH010 30 OIH001 28 OIH002 30 OIH003 30 OIH004 30 OIH005 30 OIH007 30 OIH008 30 OIH009 30 OIH010 30 OIH011 30 OIH012 30

PAGE 67

56 All the experiments were conducted inside a sound treated booth (ANSI, 04. 89). All stimuli were presente d diotically via Sennheiser HD 265 linear circumaural earphones to each listener. Stimulus presenta tion and recording of listener responses were controlled by software written in Visual BasicTM v. 6.0 (Appendix A) and TuckerDavis Technologies (TDT) Psychoacoustic syst em hardware. All the experiments were completed in two 1-hour sessions. Traini ng sessions were given for some of the experiments (as described in each procedure s ection); data collected from training were not used for analysis. Creation of Stimuli Non-speech stimuli Gaussian Noise Ten 1653-ms samples of Gaussian noise were computer generated and filtered to eliminate frequencie s above 3500 Hz. Portions of the Gaussian noise with durations varying from 120 to 200 ms, randomly selected from the 10 samples, was used in Experiment 1(a) (Detection th resholds for the Gaussian noise) and in Experiments 4(a) and (b) (Temporal resoluti on tasks). Figure 2 shows the time waveform and magnitude spectrum of one of the Gaussian noise samples.

PAGE 68

57 Time (s) 0 0.12 –1 1 0 Amplitude (re maximum)–1 –0.8 –0.6 –0.4 –0.2 0 0.2 0.4 0.6 0.8 1 0 0.02 0.04 0.06 0.08 0.1 0.12 A: Waveform Frequency (Hz) 0 5000 Sound pressure level (dB/Hz)60 80 100 50 60 70 80 90 100 0 1000 2000 3000 4000 5000 B: Spectrum Figure 2. Waveform (A) and magnitude spect rum (B) of one of the Gaussian noise samples. Sweeps Two 50-ms (including 5-ms cos2 rise-fall envelope) complex tone sweeps, one with a flat configuration and the other with a rising configuration, were

PAGE 69

58 created. The flat configurat ion sweep was a 50-ms complex tone consisting of three simultaneous 310-, 1620and 2680-Hz tones (sta rting and endpoint frequencies were the same for all three tones). The rising configuration sweeps consisted of three simultaneous tones with lower starting freque ncies and the same endpoint frequencies as the sweep with a flat configuration. The sweep with a rising configuration consisted of three tones with varying star ting frequencies within the frequency range of 210-310 Hz, 1520-1620 Hz, and 2580-2680 Hz, respectively, the endpoint frequencies were the same as the flat configuration sweep. These sw eeps were used in Experiment 3 (Frequency resolution task). The sweep w ith flat configuration was also used in Experiment 1(c) (Detection of synthetic form ant transition of “slit”). Speech stimuli: “slit – split” continuum Three, 13-step series of speech stimuli we re synthesized. The synthesis procedure was similar to the method used by Fitch et al. (1 980), except that a natu ral /s/, rather than an “s-like” synthetic noise, and a natural /t/, ra ther than a synthetic /t/, were used. In addition, the values of natural utterances from “slit” and “split” syllables were used for synthesis instead of /lIt/ and /plIt/. Also, fewer steps of sile nt intervals were used, and one series with an intermediate formant tr ansition was included in the experiment, in addition to the “split” and “slit” series. To synthesize the vocalic syllables, the approximate pa rameter values of natural utterances of “slit” and “split” of a male native speaker of English, including formant frequencies, relative amplitudes, and funda mental frequencies, were obtained from acoustic analysis. Also, the na tural utterance of “slit” of the same male speaker was used

PAGE 70

59 to obtain the natural /s/ and /t/ used for the creation of the “slit split” continua. Figure 3 shows the spectrograms of the natural “split” and “slit” of this ma le native speaker of English. Using SenSyn Laboratory Speech Synthe sizer, Version 1.1 and the parameter values of the natural utterances, a total of three vocalic syllables were synthesized: /lI/, /plI/, and one vocalic syllable with formant tr ansition information that was intermediate between those of /lI/ and /plI/ (hereinafter referred to as “intermediate /plI/”). The duration for all vocalic syllables (/lI/, intermediate /plI/ and /plI/) was 230 ms. Frequency contour was the only difference among these synt hesized syllables: the onset transition of the /lI/ syllable was relatively flat; the /plI/ syllable had a rising contour; and the “intermediate /plI/” was less steeply rising than for the /plI/ stimuli. Appendix B shows the measurements of formant frequencies of naturally produced “s plit” and “slit” and Appendix C shows the synthetic para meters of vocalic syllables /lI/, intermediate /plI/ and /plI/. Figure 4 (A), (B), and (C) show the sp ectrograms of the synthe tic vocalic syllables /lI/, vocalic syllable with intermediate formant transition information for /plI/, and /plI/ respectively. A 200-ms /s/ fricative nois e and a 110-ms /t/ were truncated from the natural utterance of “slit”. The /s/ from “slit” was used because there was little coarticulation of /s/ when followed by /l/ (both consonants were similar in place of articulation), and it was, therefore, relatively neutral.

PAGE 71

60 Time (s) 0 0.7 0 5000 Frequency (Hz)0 1000 2000 3000 4000 5000 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 A: “spli t ” Time (s) 0 0.7 0 5000 Frequency (Hz)0 1000 2000 3000 4000 5000 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 B: “slit” Figure 3. Spectrograms of the natural “split” (A ) and “slit” (B) of a male native speaker of English.

PAGE 72

61 Time (s) 0 0.23 0 5000 Frequency (Hz)0 1000 2000 3000 4000 5000 0 0.05 0.1 0.15 0.2 A : Synthetic syllable with rising transition ( /p/) Time (s) 0 0.23 0 5000 Frequency (Hz)0 1000 2000 3000 4000 5000 0 0.05 0.1 0.15 0.2 B: Synthetic syllable with intermediate transitio n Time (s) 0 0.23 0 5000 Frequency (Hz)0 1000 2000 3000 4000 5000 0 0.05 0.1 0.15 0.2 C: Synthetic syllable with at transition (/l/) Figure 4. Spectrograms of the s ynthetic vocalic syllables /plI/ (A), “intermediate transition (B) and /lI/ (C).

PAGE 73

62 To produce the complete stimuli, the /t/ with a preceding silence of 90-ms was placed after the /plI/, “intermediate /plI/”, and /lI/ vocalic syllables. The /s/ sound was then placed in front of the /plIt/, “intermediate /plI/ + t”, and the /lIt/ vocalic syllables. An interval of silence th at varied from 0 to 130 ms in st eps of 10 ms was placed between the /s/ and the vocalic portion, making a total of 14 stimuli in each series. A full set of 42 stimuli, varying in duration of silent closure and forman t transition information, was generated for the “slit – split” cont inuum: 14 stimuli for the “s” + /plIt/ series, 14 for the “s” + “intermediate /plIt/ series, and 14 for the “s” + /lIt/ series (hereinafter referred to as the “rising” series, “intermediate” series, a nd the “flat” series respectively) and were stored on the computer hard-drive for play out through the Tucker-Davis Technologies (TDT) Psychoacoustics System. The flat, intermediate, and the rising seri es were used in Experiment 5 (Speech identification task: “slit – split” identification). The clearest “s lit” of the flat series (i.e. the one with the shortest sile nt duration of 0 ms), and the clearest “split” of the rising series (i.e. the one with silent duration of 110 ms) were used in Experiment 2(b) (Discrimination threshold of “split” – “slit”). Also, portions of the vocalic syllable /plI/ and /lI/ were edited for the use in the following experiments: Experiment 1(b) (Detection threshold for a 150-ms composite speech-like si gnal and 1(d) (Detection threshold for the first 25-ms formant transition of /plI/), Experiment 2(a) (Discr imination threshold for the 50-ms sample of the voc alic portion of /plI/ /lI/), and Experiment 4( b) (more speech-like gap detection task).

PAGE 74

63 Part One: Establish Audibility Experiment 1: Detection Thres holds for Experimental Stimuli Stimuli Experiment 1(a) A 120-ms sample of Gaussian noise. Experiment 1(b) Composite speech-like signal: 150-ms sample of the vocalic portion (being the formant transition and porti on of steady-state) was edited from the vocalic syllable /plI/. Experiment 1(c) Tone sweep: 50-ms tone sweep consisting of three simultaneous 310-, 1620and 2680-Hz tones (representativ e of formant transition of “slit”). Experiment 1(d) Formant transition of /plI/: first 25-ms of the transition edited from the synthetic /plI/. Procedure Since audibility of the stimuli was an important consideration, detection thresholds of each of the afore-mentioned stimuli were measured. The detection thresholds obtained in Experiments 1 (a), (b) and (c) were used as the reference for the presentation levels in the subseque nt psychoacoustic experiments. Detection thresholds obtained in Experiment 1(d) we re used to establish that the /p/ formant transition in the rising series in the speech iden tification task was audibl e to all listeners. Although the duration of formant transition for /plI/ (50 ms) was twice as long as the sample used here, it was thought that by ensuring the audibility of the relatively soft first half (25 ms) of the transition, audibility of the entire transition would be guaranteed.

PAGE 75

64 Thresholds for the detection of the above -mentioned stimuli were determined in an adaptive two-interval, two-alternative, forced-choice (2I/2AFC) procedure. The adaptive procedure adopted a two-down, one-up rule target ing 70.7% correct detection (Levitt, 1971). The adaptive procedure cont inued until eight reversals occurred. A stepsize of 4 dB was used for the first four revers als, after which the step-size was reduced to 2 dB. Detection thresholds were calculated as the average inte nsity level of the final four reversals, and each threshold was measured at least three times (more runs were administered if the individual run results diffe red by more than 4 dB). Results of three runs that differed by less than 4 dB were aver aged. Initial runs that were not averaged to determine thresholds were considered training runs. Upon each trial, the listener was presented w ith two intervals of stimuli: the target and the standard. The target stimulus was the stimulus for 1(a), (b), (c), or (d); the standard stimulus was silence. For each tria l, the sentence “Which interval contains the sound?” appeared on the top of the computer scr een prior to the presen tation of stimuli. Two boxes, labeled “Interval I” and “Interval II”, then appeared in sequence on the computer screen. When the “Interval I” box appeared, either a ta rget stimulus or a standard stimulus (i.e. silence) was pres ented simultaneously. The “Interval II” box appeared shortly afterwards with a simultaneous presentation of either a target stimulus or a standard stimulus. If the target stim ulus was presented with the “Interval I” box, then the standard stimulus was presented w ith the “Interval II” box, and vice versa. The sequence of presentation of standard and target stimuli was randomized. The listener clicked on the corresponding box to indicate that he/she percei ved the target stimulus, or

PAGE 76

65 had to guess if not sure. Visu al feedback of the correct resp onse was provided after each trial. An inter-trial interval of 600 ms occurred following the listener’s response. Experiment 2: Discrimi nation thresholds for /plI/ /lI/ formant transitions and “split” – “slit” syllables This experiment served two purposes: (1) to demonstrate the listeners’ ability to differentiate the two stimuli; (2 ) to provide a reference intensity level for stimulus presentation in the speec h identification task. Experiment 2(a) Discrimi nation threshold for /plI//lI/ Stimuli A 50-ms sample of the vocalic portion was edited from the beginning of the synthetic vocalic syllables /plI/ and /lI/ (formant transition of /plI/ and /lI/). Procedure Discrimination thresholds for the formant transitions of /plI/ /lI/ were determined by using an adaptive standa rd, two-alternative forced-choice (S/2AFC) procedure. A step-size of 4 dB was used for the first four re versals, after which the stepsize was reduced to 2 dB. Discrimination th resholds were calculated as the average intensity level of the final four reversals, a nd each threshold was m easured at least three times (more runs were administered if the in dividual run results di ffered by more than 4 dB). Results of three runs that differed by less than 4 dB were average d. Initial runs that were not averaged to determine thresholds were considered traini ng runs. The starting presentation level was set at an arbitrary suprathreshold level, except for one listener (OIH 003) for whom the starting level was in advertently set to a subthreshold level.

PAGE 77

66 Listeners were presented with three intervals of stimuli. The first interval always contained the standard stimulus. The second and third intervals contained the standard stimulus and the target stimulus, in random or der. The standard stimulus was the 50-ms vocalic portion edited from /lI/. The target stimulus was the 50-ms vocalic portion edited from /plI/. During each trial, the sentence “Which Inte rval is different from the Standard?” appeared on the top of the computer screen prio r to the presentation of stimuli. For each trial, three boxes, labeled “Sta ndard”, “Interval I” and “Inter val II”, appeared in sequence on a computer screen. When the “Standard” box appeared, the standard stimulus was presented simultaneously. The “Interval I” and “Interval II” boxes appeared shortly afterwards in sequence with a simultaneous pres entation of either a target stimulus or a standard stimulus. If the target stimulus wa s presented with the “Interval I” box, then the standard stimulus was presented with the “I nterval II” box, and vice versa. The sequence of presentation of the standard and target stimuli in “Inter val I” and “Interval II” was randomized. A 900-ms interstimulus interval was used. The listener’s task was to indicate which in terval, “Interval I” or “Interval II” had the stimulus that was different from the stimulus of the “Standard” by clicking the corresponding box, or guessing if not sure. Visu al feedback of the correct interval was provided after each response. An inter-trial interval of 600 ms occurred following the listener’s response.

PAGE 78

67 Experiment 2(b) Discrimination threshold for “split” “slit” Stimuli The clearest representati on of the synthetic “slit” in the flat series (the one with the shortest silent gap duration of 0 ms), and the clearest representation of the synthetic “split” in the rising series (the one with the silent gap duration of 110 ms) were used to establish the discrimina tion threshold for each listener. Procedure Thresholds for discrimination of “s plit” and “slit” were determined in an adaptive two-interval, two-alternative, forced-choice (2I/2AFC) procedure. A stepsize of 4 dB was used for the first four revers als, after which the step-size was reduced to 2 dB. Discrimination thresholds were calculate d as the average intensity level of the final four reversals, and each threshold was measur ed at least three times (more runs were administered if the individual run results diffe red by more than 4 dB). Results of three runs that differed by less than 4 dB were aver aged. Initial runs that were not averaged to determine thresholds were considered traini ng runs. The starting presentation level was set at an arbitrary suprathres hold level. A few were inadve ntly set below threshold (YNH 001, 002; OIH 011, 012). For each trial, the sentence “Which Interv al contains Split?” appeared on the top of the computer screen prior to the presentation of stimuli. On each trial, the listener was presented with two intervals of stimuli: the target and the standard. The target stimulus was “split” and the standard stimulus was “s lit”. Two boxes, labeled “Interval I” and “Interval II”, then appeared in sequence on a computer screen. When the “Interval I” box appeared, either a target stimulus or a sta ndard stimulus was presented simultaneously. The “Interval II” box appeared shortly afterw ards with a simultane ous presentation of

PAGE 79

68 either a target stimulus or a standard stimul us. If the target stimulus was presented with the “Interval I” box, then the standard stimul us was presented with the “Interval II” box, and vice versa. The sequence of presenta tion of standard and target stimuli was randomized. A 900-ms interstimulus interval was used. The listener clicked on the corresponding box to indicate that he/she perceived the target stimulus “split”, or he/she had to guess if not sure. Visual f eedback of the correct response was provided after each trial. An inter-trial interval of 600 ms occurred following the listener’s response. Part Two: Psychoacoustic Tasks Experiment 3: Freque ncy Resolution Task Stimuli/Procedure Minimum detectable glide onset freque ncy was estimated to determine the frequency resolution ability of each liste ner by using an adaptive standard, twoalternative forced-choice (S/2AFC) procedur e. Listeners were presented with three intervals of stimuli. The first interval al ways contained the standard stimulus. The second and third intervals contained the standa rd stimulus and the target stimulus, the order of which was switched randomly. The standard stimulus was a 50-ms sweep w ith a flat configuration, i.e. a complex tone consisting of three simultaneous 310, 1620and 2680-Hz tones designed to match the spectral information of an /l/ (starting a nd endpoint frequencies were the same for all

PAGE 80

69 three tones). The target stimulus was a 50ms sweep mimicking a rising configuration, i.e., a sweep consisting of three simultaneous tones with lower st arting frequencies and same endpoint frequencies as in the standard interval. The starting frequencies of the target stimulus were within th e range of 210—310 Hz, 1520—1620 Hz and 2580—2680 Hz (i.e., 100 Hz below the F1, F2, and F3 for the “slit” formant transition) respectively. The endpoint frequencies of the target stimulus were the same as those for the standard stimulus. The presentation level was 35 dB above the detection threshold of the tone sweep obtained in Experiment 1(c). During each trial, the sentence “Which Interval is different from the Standard?” appeared on the top of th e computer screen prior to the presentation of stimuli. For each trial, three boxes, labe led “Standard,” “Interva l I,” and “Interval II,” appeared in sequence on a computer scree n. When the “Standard” box appeared, the standard stimulus was presented simultaneously. The “Interval I” a nd “Interval II” boxes appeared afterwards in sequence with simu ltaneous presentation of either a target stimulus or a standard stimulus. If the targ et stimulus was presented with the “Interval I” box, then the standard stimulus was presented with the “Interval II” box, and vice versa. The sequence of presentation of the standard and target stimuli in “Interval I” and “Interval II” was randomized. A 900-ms inters timulus interval was used. The listener’s task was to indicate which inte rval, “Interval I” or “Interva l II,” contained the stimulus that was different from the stimulus of the “Standard” by clicking the corresponding box, or guessing if not sure.

PAGE 81

70 The adaptive procedure used a two-dow n, one-up rule targeting 70.7% correct detection (Levitt, 1971) and continued until eight reversals occu rred. The starting frequency of each tone increased or decrease d by same amount. A step-size of 4-Hz was used for the first four reversal s, after which the step-size wa s reduced to 2-Hz. When two correct responses were made, the starting freq uencies of the target stimulus increased simultaneously by the step size, generating a stimulus with “more flat” configuration. Visual feedback of the correct interval was provided after e ach response. An inter-trial interval of 600 ms occurred followi ng the listener’s response. Discrimination thresholds were calculated as the average frequency difference of the final four reversals, and each threshold wa s measured at least three times (more runs were administered if the indi vidual run results differed by more than 6 Hz). Results of three runs that differed by less than 6 Hz we re averaged. Initial runs that were not averaged to determine thresholds were considered training runs. Experiment 4: Tempor al Resolution Tasks Experiment 4(a): Less Speech -Like Gap Detection Task Stimuli Samples of Gaussian noise (the sa me noise used in Experiment 1(a) except edited with 0.5-ms cos2 rise-fall envelope) were paired and each marker pair was separated by a silent temporal gap. Procedure Gap detection threshold (GDT) wa s determined in an adaptive twointerval, two-alternative, for ced-choice (2I/2AFC) procedure. Listeners were presented

PAGE 82

71 with two intervals of stimuli: the standard and target stimulus presented in random order. The duration of the first marker was al ways 120 ms and the duration of the 2nd marker (following the gap) was varied randomly in duration between 150 and 200 ms in 5-ms steps to preclude the use of extraneous durati on cues in the selecti on of the gap interval (after Lister & Tarver, 2004) The standard stimulus contained markers that were separated by a sub-threshold, 1-ms gap to pr eclude the use of gating transients in the selection of the gap interval. The target stimulus contained markers separated by a gap that varied adaptively by a factor of 1.2 using a two-down/one-up rule targeting 70.7% correct discrimination (Levitt, 1971). Experiment 4(b): More Sp eech-like Gap Detection Task Stimuli Each marker pair consisted of a noise stimulus and a composite speechlike stimulus of equal amplitude. The noise stimulus (same noise stimulus as for Experiment 4 (a)) was the 1st marker and the composite speech-like stimulus (same stimulus used in Experiment 1(b)) was the 2nd marker. Procedure GDT was determined in an adap tive, 2I/2AFC paradigm similar to Experiment 4(a). The standard stimulus contained the 1st marker and the 2nd marker separated by a sub-threshold, 1ms gap. The target stimulus contained the same markers, except the gap size was varied adaptively by a factor of 1.2 using a two-down/one-up rule targeting 70.7% correct discri mination (Levitt, 1971). The duration of the first marker was always 120 ms and the duration of the 2nd marker (following the gap) varied randomly in duration between 150 to 200 ms in 5 ms steps to preclude the use of extraneous duration cues in the selection of th e gap interval (after Li ster & Tarver, 2003).

PAGE 83

72 Also, a longer duration of the vocalic portion was used to avoid extraneous acoustic cues (150 – 200 ms was the duration at which the steady-state of /I/ was attained.) During each trial for Experiments 4(a) and (b), the directions “Which Interval has a longer silent gap?” appeared on the top of th e computer screen prio r to the presentation of stimuli. The listeners responded by c licking the corresponding box, or guessing if not sure. When two correct responses were chose n, the gap size decrease d by the step size. Visual feedback of the correct interval was provided after e ach response. An inter-trial interval of 600 ms occurred following the list ener’s response. All stimuli in Experiment 4(a) were presented at 35 dB SL relative to each listener’s average detection threshold for the Gaussian noise marker obtained in 1(a) and all stimuli in Experiment 4(b) were presented at 35 dB SL relative to each lis tener’s average detection threshold for the 150ms composite speech-like signal obtained in E xperiment 1(b). GDT was obtained using the adaptive procedure and continued until eight reversals had occurred and was calculated as the geometric mean gap size of th e final six reversals. Each threshold was measured at least three times (more runs were administered if the individual run results differed by more than a factor of 2). Results of three runs that differed by less than a factor of 2 were averaged. In itial runs that were not aver aged to determine thresholds were considered training runs.

PAGE 84

73 Part Three: Speech Identification Task Experiment 5: “slit split” Identification Stimuli/Procedure A full set of 42 synthetic speech stimuli from 3 series of “slit – split” continua (14 stimuli for the flat series, 14 for the intermediate series, and 14 for rising series) were used in this experiment. The stimuli we re stored on the comp uter hard-drive for presentation through the TDT hardware. Each stimulus was presented 5 times. There were a total of 210 trials for this experiment. The stimuli were randomized in order and were presented in 5 trial blocks. During each trial block, 42 trials were presented. A one-interval, two-alternative, forced-c hoice procedure was used for the speech identification task. One instance of each me mber of the flat, intermediate, and rising continua was presented to the listeners diot ically via earphones. The presentation level was 35 dB above the discrimination threshold obtained in Experiment 2(a) or 2(b), whichever was the highest. For each trial, two boxes labeled “SLIT” and “SPLIT” respectively were shown on the computer simultaneously. One stimulus randomly chosen from the 42 stimuli generated for this experiment was presented on each trial. The listener made selections relative to his/her percep tion of the stimulus as either “sli t” or “split” by using a computer mouse to click on the corresponding response bo x on the computer screen. An inter-trial interval of 600 ms occurred following the li stener’s response. The number of “split” responses was then summed for each continuum at each gap duration for each listener.

PAGE 85

74 Chapter Three Results Detection and Discrimination Tasks (Experiments 1 and 2) In order to ensure audibility of speech cues to all listeners and to establish reference levels for presentation of the psyc hoacoustic tasks, detec tion thresholds for a 120-ms Gaussian noise, a 150-ms composite speech-like signal, a 50-ms tone sweep (synthetic formant transition of “slit”) and th e first 25-ms of the formant transition for /plI/ were obtained. Discrimination thresholds were also obtained for the stimulus pairs /plI/ /lI/ and “split” – “slit”. Tables 2 and 3 s how a summary of the detection thresholds and the discrimination thresholds for each listener group, respectively (Appendix D shows individual detection thresholds for E xperiments 1(a) – (d) and Appendix E shows individual discrimination thresholds for Experiments 2(a) and (b)). Table 2. Mean detection thresholds (dB SPL ) and standard deviations (SD) of three listener groups for Experiment 1. Group Gaussian Noise Speech-like Composite Tone Sweep Transition Mean SD Mean SD Mean SD Mean SD YNH 2.54 4.41 17.01 3.02 7.48 4.23 23.23 3.00 ONH 8.88 4.16 21.36 3.64 11.66 5.46 25.10 2.91 OIH 22.20 9.78 26.79 6.89 24.18 8.98 29.56 6.74

PAGE 86

75 Table 3. Mean discrimination thresholds (dB SPL) and standard deviations (SD) of three listener groups for Experiment 2. Group /plI/ /lI/ “split” “slit” Mean Mean SD SD YNH 23.85 26.94 6.22 3.87 ONH 28.79 39.11 4.67 3.91 OIH 43.50 55.75 9.38 10.83 Six one-way between-subjects ANOVAs were computed with listener group as the independent variable and the thre sholds obtained as the dependant variable for each task. The results of these ANOVAs ar e shown in Table 4. Significant effects of listener group were present for all threshol ds obtained. For significant main effects, Least Significant Difference (LSD) post-hoc an alyses were used to determine whether there were any significant differences among the three listener groups. Because Levene’s Test of equality of error variances showed significant error variances, Games-Howell adjustment was used for the post-hoc tests. Table 5 shows a summary of the results of the post-hoc tests. Table 4. F values, p-values, effect sizes, a nd observed power for the main effect of group for Experiments 1 and 2. Dependent Variable df F p Partial Eta Squared Observed Power Gaussian noise 2, 27 23.32 .00** .63 1.00 Speech-like Composite 2, 27 10.81 .00** .45 0.98 Tone sweep 2, 27 18.50 .00** .58 1.00 Transition 2, 27 5.14 .01* .28 0.78 /plI/ /lI/ 2, 27 21.37 .00** .61 1.00 “split” “slit” 2, 27 43.73 .00** .76 1.00 p < .05. ** p < .01

PAGE 87

76 As expected, the YNH listener group show ed the lowest thresholds, while the OIH listener group showed the highest threshol ds for each task (Tables 2 and 3). In general, the OIH listener group showed th e greatest variance in thresholds when compared to the other two groups. As shown in Table 2, the standard deviation values for the OIH listener group are approximately twice those for the YNH and ONH listener groups. A closer look at the pattern shows that several th resholds of the YNH and the ONH listener groups are more alike than those of the ONH and OIH groups; the thresholds for which this is true include th e detection thresholds on the Gaussian noise (YNH: 2.54, ONH: 8.88, OIH: 22.2) the t one sweeps (YNH: 7.49, ONH: 11.67, OIH: 24.18), and the discrimination threshold of /plI/ /lI/ (YNH: 23.85, ONH: 28.79, OIH: 43.50). The thresholds for the speech -like composite (YNH: 17.01, ONH: 21.36, ONH: 26.80) and transition (YNH: 23.22, ONH: 25.1, ONH: 29.55), as well as the discrimination thresholds of “split” “slit” (YNH: 26.94, ONH: 39.11, OIH: 55.75) show more even spacing among the three groups. Thes e results support the ex pected pattern of higher thresholds for those with hearing loss.

PAGE 88

77 Table 5. Least Significant Difference (L SD) post-hoc p-values for listener group comparisons for Experiments 1 and 2. Dependent Variable YNH vs. ONHYNH vs. OIHONH vs. OIH Gaussian noise .02* .00** .00** Speech-like composite.04* .00** .10 Tone sweep .21 .00** .00** Transition .38 .03* .16 /plI/ /lI/ .04* .00** .00** “split” “slit” .00** .00** .00** p < .05. ** p < .01 Post-hoc analyse showed that there were significant differences in the detection threshold for Gaussian noise and th e discrimination thresholds for /plI/ /lI/ and “split” “slit” among all three listener groups. Fo r the speech-like composite, YNH listeners showed significantly lower thresholds th an the ONH and the OIH listeners, but the thresholds of the ONH and OIH did not differ significantly. For the tone sweep, the OIH listener group showed significantly higher thre sholds than the other two groups, while no significant difference was found between th e YNH and ONH listener groups. For the 25ms formant transition for “split”, the only si gnificant difference obt ained was between the YNH and OIH listener groups. Psychoacoustic Tasks (Experiments 3 and 4) The purpose of the psychoacoustic tasks was to determine whether the spectral and temporal processing capabilities differe d among the listener groups. Accordingly,

PAGE 89

78 each listener completed two temporal resolu tion tasks (less speechlike gap detection and more speech-like gap detection) and a spectral resolution task (minimum detectable glide onset frequency). One-way between subjec ts ANOVAs were computed for each of the psychoacoustic tasks, with listener group as the independent variab le and gap detection threshold or minimum detectable glide onset frequency as dependant variable. The results of each of these tasks are described below. Frequency Resolution (Experiment 3) The frequency resolution abil ities of the three listener groups were examined by obtaining the minimum detectable glide onset frequency (hereafter referred to as MDGli). The standard and the target stimuli were 50-ms tone sweeps consisting of three simultaneous 310-, 1620and 2680Hz tones. The standard stimulus had a flat configuration (starting and endpoint frequencies are the sa me), and the target stimulus had a rising configuration, with starting frequencies were w ithin the range of 210 – 310 Hz, 1000 – 1620 Hz, and 2280 – 2680 Hz, respectivel y, and same endpoint frequencies as the target sweep. Table 6 displays the mean and standard deviation of the MDGli for each listener group (Appendix F shows indivi dual MDGli for Experiment 3). These results suggest that the YNH lis teners required an average of 32 Hz below the onset frequency to detect a difference from the static stimulus. The ONH listeners and OIH listeners required an average of 37 Hz a nd 39 Hz, respectively, for the same task.

PAGE 90

79 Table 6. Means and standard deviations (SD) minimum detectable glide onset frequency for the three listener groups for Experiment 3. Mean (Hz) SD YNH 32.18 7.79 ONH 37.44 8.58 OIH 39.26 7.86 A one-way between-subjects ANOVA was co mputed with listener group as the independent variable and the MDGli obtained fo r each listener as the dependent variable. There was no significant effect of listene r group on the MDGli [F(2, 27) = 2.27, p = .12, Partial Eta Squared = .14, observed power = .42]. Temporal Resolution (Experiment 4) Temporal resolution ability was exam ined by obtaining the gap detection thresholds for the less speech-like stimuli (1st and 2nd markers were Gaussian noise, hereafter referred to as GDTNN) a nd the more-speech-like stimuli (1st marker was the Gaussian noise and the 2nd marker was the speech-like composite, hereafter referred to as GDTNC). Both the Gaussian noise and the sp eech-like composite were the same stimuli used in the afore-mentioned detection experime nts. The stimuli were presented at 35 dB SL, relative to each listener’s average thresh olds for the Gaussian noise and speech-like composite obtained in the Experiments 1 a nd 2. Table 7 shows a summary of the gap detection thresholds of the GDTNN and GDTNC for each listener group (Appendix G shows individual gap detec tion thresholds for Expe riments 4(a) and (b)).

PAGE 91

80 Table 7. Mean gap detection thresholds and standard deviations (SD) in milliseconds for the three listener groups for Experiment 4. Group GDTNN GDTNC Mean SD Mean SD YNH 3.21 0.72 50.75 27.54 ONH 3.44 0.51 98.31 48.19 OIH 3.82 0.92 107.35 50.82 As shown in Table 7, the thresholds for GDTNN are similar among the listener groups; however, larger thresholds were obtained for the GDTNC, especially for the ONH and OIH listener groups. The mean gap de tection threshold fo r the GDTNC of the ONH listener group was more similar to that of the OIH listener group than the YNH group. Two, one-way, between-subjects ANOVAs were computed with listener group as the independent variable and gap detection th reshold as the dependent variable for both tasks. As shown in Table 8, there was no signi ficant effect of listener group for GDTNN. The results of GDTNC, however showed a significant effect of listener group [F(2, 27) = 5.381, p = .011]. Table 8. F values, p-values, effect size, a nd observed power for the main effect of group for Experiment 4. Dependent Variable df F p Partial Eta Squared Observed Power GDTNN 2 1.82 0.18 0.12 .35 GDTNC 2 5.38 .011* 0.29 .80 p < .05.

PAGE 92

81 LSD post-hoc tests were used to determ ine whether there were any significant differences among the three listener groups fo r GDTNC. Levene’s Te st of Equality of Error Variances showed no signi ficant variances and theref ore no adjustment was used for the post-hoc analysis. As shown in Table 9, the GDTNC thresholds of the YNH listener group were significantly smaller than those of the ONH (p = .02) and OIH (p = .01) listener groups; no signi ficant difference was found between the ONH and OIH listener groups. Table 9. LSD post-hoc p-values for the gap detection thresholds of more speech-like stimuli for the three listener groups for Experiment 4(b). Dependent Variable YNH vs. ONH YNH vs. OIH ONH vs. OIH GDTNC .02* .01* .65 p < .05 To summarize, the results of the gap detection tasks suggest that temporal resolution ability was not affected by hearing loss or age when the stimuli were comparatively simple, but was affected by age when the stimuli were more complex. All three listener groups had similar gap detection thresholds for the stimulus pair having the same frequency characteristics. When the stimuli were more complex, however (i.e., the 1st marker is noise and the 2nd marker is a more speech-like composite), both groups of older listeners required a l onger duration of silence than the young listeners with normal hearing to detect a gap. Thus, the data sugge st that older listeners, with or without

PAGE 93

82 hearing loss, have more difficulty processi ng temporal information than young listeners when the signals contain different frequency characteristics. Speech Identification Task (Experiment 5) The “slit split” identification data were plotted as percent “split” responses as a function of the duration of th e silence inserted between the /s/ and the vocalic portion (henceforth “silent duration”). Using Probit analysis (F inney, 1964), a probit function was generated using the proportion of “split” re sponses at each silent duration. For each listener, the 50 percent point (or phoneme boundary) and the slope of the probit function (in probits units/ms change) were obtained fr om the output of the probit analysis for each of the three continua presented (flat, intermediate and rising formant transition). The slope of the probit function was computed from the inverse of the sta ndard deviations of the listeners’ performance (the values of regression coefficients obtained in the probit analysis). The 50% point was the estimate of the silent duration at which 50% “split” responses would be obtained (i.e., the categor y boundary between “sli t” and “split”). A third measure obtained was the separation, or “trading relationshi p,” between the 50% points obtained for the flat a nd rising continua.

PAGE 94

83 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100%0102030405060708090100110120130140Gap (ms)"Split" Responses 48 ms 59 ms 72 ms A: YNH 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% 0102030405060708090100110120130140 Gap (ms)"Split" Response43 ms 53 ms 58 ms B: ONH

PAGE 95

84 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% 0102030405060708090100110120130140 Gap (ms)"Split" Response52 ms 51 ms 63 ms C: OIH Figure 5. Results of the speech identificat ion task for YNH (panel A), ONH (panel B) and OIH (panel C) listener groups for E xperiment 5. Average listener performance (percent “split” response) at each gap conditi on for flat, intermediate and rising transition continua is indicated by square, circle a nd diamond markers, respectively. Average psychometric functions obtained from perfor mance on each gap condition are indicated by the lines through the markers for each condi tion. The numbers on the graphs represent the 50% points of the continua. The average identification functions for th e three groups of liste ners for the flat, intermediate and rising transition continua are shown in Figure 5 (panels A-C). The results shown in Figure 5 indicate that all three listener groups clearly perceived the contrast between “slit” and “spl it” in all three series as the silent duration varied. More specifically, their judgments shifted from mostly “slit” to mostly “split” as the silent duration increased. As can be seen from a comparison of Figures 4 A-C, however, the separation between the 50% points of functions obtained for the flat and rising continua appears to be largest for the YNH group and smallest for the OIH group. The functions

PAGE 96

85 of the YNH listener group also show shallower slopes (flat: .09; inte rmediate: .11; rising: .10) than the functions of the ONH group (fla t: .17; intermediate: .18; rising: .11) and OIH group (flat: .12; intermediate: .14; risi ng: .15), especially when comparing the functions obtained for the fl at and intermediate continua for the YNH listener group to those for the OIH listener group. Finally, the 50% point for the functions for the flat continuum appears to be shifted more to th e right (to a longer sile nt duration) for the YNH group, compared to the other two groups The 50% points appear more similar across the groups for the rising and intermediate functions. Table 10 shows the values of the mean and standard deviation for each gr oup for the 50% point and the slope of each of the three functions, as well as the mean trading relations hip for each group (difference in ms between the 50% points of the functions for the flat and rising continua). Appendix H shows individual data for Experiment 5. Table 10. Means and standard de viations (SD) for the 50% point and the slope of each of the flat, intermediate, and ri sing functions, and th e trading relationship for the three listener groups for Experiment 5. Slope 50% point (ms) Trading Relationship Flat – Rising (ms) Flat Intermediate Rising Flat Intermediate Rising Mean (SD) Mean (SD) Mean (SD) Mean (SD) Mean (SD) Mean (SD) Mean (SD) YNH .09 (.02) .11 (.05) .10 (.04) 71.65 (11.14) 59.09 (7.36) 47.74 (8.46) 23.91 (13.00) ONH .17 (.03) .18 (.06) .11 (.02) 58.00 (8.62) 52.75 (5.92) 43.23 (10.39) 14.77 (9.90) OIH .12 (.04) .14 (.05) .15 (.09) 63.37 (5.46) 51.79 (5.24) 50.81 (6.46) 12.57 (9.13)

PAGE 97

86 Two, two-way mixed-design analyses of variance (ANOVAs) were performed, each with one between-subjects factor (liste ner group, 3 levels) and one within-subjects factor (transition type, 3 levels). In the first analysis, the slope for each listener was used as the dependent variable. In the second an alysis, the 50% point for each listener was used as the dependent variable. A on e-way between-subjects ANOVA was performed with listener group as the between-subjects variable and the size of the trading relationship for each pair of functions for each listener (i.e., difference in ms between the 50% points of the functions for the flat and ri sing continua) as the dependent variable. The results of these three ANOV As are shown in Table 11. Table 11. Summary of two two-way ANOVAs (d ependent variables were slope and 50% point, respectively) and one one-way ANOVA (dependent vari able was the size of the trading relationship between the flat and rising continua) for Experiment 5. df F p Partial Eta Squared Observed Power Slope (2-way ANOVA) Continuum (rising, intermediate, & flat) 2, 542.61 0.08 0.09 0.50 Group (YNH, ONH, & OIH) 2, 276.19 0.01* 0.31 0.86 Continuum x Group 4, 543.38 0.02* 0.20 0.82 50% point (2-way ANOVA) Continuum 2, 5457.87 0.00** 0.68 1.00 Group 2, 274.23 0.03* 0.24 0.69 Continuum x Group 4, 543.84 0.01* 0.22 0.87 Trading relationship flat rising (1-way ANOVA) 2, 273.27 0.05 0.20 0.57 p < .05. ** p < .01

PAGE 98

87 Slope As mentioned earlier, the sl ope value of a probit functi on can be used to estimate the person’s sensitivity to a pa rticular cue in processing spee ch. In this case, the slope values for each function show how sensitive a listener is to ch anges in the temporal cue. A shallow slope suggests that perception is le ss categorical for the temporal cue while a steep slope suggests categorical perc eption of the temporal cue. The two-way ANOVA showed a significant main effect of listener group [F(2, 27) = 6.19, p = .01] and a significant interact ion (group by continuum) [F(4, 54) = 3.38, p = .02]. Post-hoc tests were used to comp are the slope values obtained for the three continua within each level of listener group. A second set of post-hoc tests compared the slope values among the three listener groups w ithin each level of the continuum variable. All post-hoc comparisons were made using least significant differences comparisons (LSD). Slope comparisons of con tinua within each group The first set of post-hoc tests for this ANOVA using LSD compared slope values of th e continua within each of the listener groups. Figure 6 displays the slope values for each continuum for each of the three groups. Table 12 lists the p values for each pa ir of continua compared for each of the three listener groups.

PAGE 99

88 Table 12. LSD post-hoc p-values for the slope values of the three continua within each of the three listener gr oups for Experiment 5. Flat vs. Intermediate Flat vs. Rising Intermediate vs. Rising YNH .04* .51 .48 ONH .60 .01* .01* OIH .21 .13 .61 p < .05 Figure 6. Mean slope values and standard devi ations for the flat, intermediate, and rising continua for the three listen er groups for Experiment 5. For the YNH listener group, the slopes of a ll three continua are relatively shallow, suggesting that spectral information influences the decision of these listeners for a fairly

PAGE 100

89 wide range of silent durati on values (i.e., when temporal information is ambiguous). They showed less categorical and more conti nuous perception for each function. For this group of listeners, the shallowest slope was obt ained for the flat continuum (slope = .09), followed by the rising continuum (slope = .10), and the intermediate continuum (slope = .11). In fact, the slope of the intermediate continuum was found to be significantly steeper than that of the flat continuum (p = .04), but it is not signifi cantly steeper than the rising continuum. Based on th e steeper slope for the intermediate continuum, these results suggest (somewhat weakly) that this group weighted temporal information more heavily when the spectral information was ambiguous, i.e. when the spectral information did not clearly represent eith er a /p/ or an /l/. For the ONH listener group, the slopes of the flat and intermediate continua are comparatively steeper (slope = .17 and .18, respec tively) than that of the rising continuum (slope = .11). Comparisons of the slopes revealed a significant difference between the flat and rising continua (p = .01) and the intermediate and rising continua (p = .01), but no significant difference between the flat and intermediate co ntinua. The shallower slope of the identification function of the rising continuum suggests that these listeners put more weight on the spectral cue when it was indicative of /p/ than when it was indicative of /l/. The steeper slopes of the flat and intermediate continuum suggest that these listeners were more heavily influenced by the changes in duration of the silent gap for these two continua. The data further suggest that when the spectral cue was flat or ambiguous, this group shifted their strategy to putting more weight on the temporal cue

PAGE 101

90 and showed a more categorical perception base d on duration of the silent gap than when the rising transition cue was present. For the OIH listener group, the steepest slope was obtained for the rising continuum (slope = .15), followed by the inte rmediate continuum (slope = .14), and the flat continuum (slope = .12). Post hoc te sts showed no significant differences among the slopes for this group. This resu lt suggests that these listener s used essentially the same listening strategy irresp ective of changes in spectral information. Slope comparisons across groups wi thin each level of continuum The second set of post-hoc tests for this ANOVA, using LSD, co mpared slope values of the groups within each level of the continuum variable. Table 13 lists the p values for each pair of groups compared at each level of the formant transi tion continuum variable. Figure 7 displays the slope values for each group fo r each of the three continua. Table 13. LSD post-hoc p-values for the comparisons of slope value among the three listener groups within each level of continuum for Experiment 5. YNH vs. ONH YNH vs. OIH ONH vs. OIH Flat .00** .01* .00** Intermediate .01* .24 .09 Rising .56 .05 .22 p < .05. ** p < .01

PAGE 102

91 Figure 7. Mean slope values and standard devi ations for the three listener groups for the flat, intermediate, and rising continua for Experiment 5. As shown in Table 13 and Figure 7, ther e were no significant differences among the groups in the values of the slope for th e rising continuum, although the slope for the OIH group was nearly significantly st eeper than that for the YNH group (p =.05). These results indicate that all th ree listener groups behaved similarly when the spectral information was strongly indicative of a /p/. However, significant differences among the groups were obtained for the interm ediate and flat continua. For the flat continuum, the steepest slope was obtained for the ONH listener group (.17), followed by the OIH (.12) and YNH (.09) listener groups. The post-hoc

PAGE 103

92 analysis showed that the slope values for both the ONH and OIH listener groups were significantly steeper than th at of the YNH listener group (p = .00 and p = .01 respectively). This suggests that when the /p/ formant transition was absent, the two older listener groups put more weight on th e temporal information than did the YNH listener group. Also the results showed a si gnificantly steeper slope value for the ONH listener group than for the OIH listener group (p = .00) for this continuum. For the intermediate continuum, the pattern is similar to that obtained for the flat continuum. The ONH listener group again ha d the steepest slope value (.18), followed by the OIH (.14) and YNH (.11). Data analys is revealed that the only significant difference was between the YNH and ONH listener groups (p = .01). Again, this suggests that when the /p/ formant transi tion was ambiguous, the ONH listeners weighted the temporal information more heavily th an the YNH group. There is no significant difference between the ONH and OIH listener groups, which suggests that the two groups behaved similarly in weighti ng of temporal information when the spectral information was ambiguous.

PAGE 104

93 50% Point The 50% point is the estimate of the silent duration at which 50% “split” responses would be obtained (i.e., the category boundary between “slit” and “split”). The results of the two-way ANOVA on the locati on of the 50% points showed significant main effects of listener group [F(2,27) = 4.23, p = .03] and formant transition (continuum) [F(2,27) = 57.87, p = .00]. The two-way inte raction between group and continuum was also significant [F(4, 54) = 3.84, p = .01]. Post-hoc tests were used to compare 50% points obtained for the three continua within each level of listener group. A sec ond set of post-hoc tests compared performance among the three listener groups within each leve l of the continuum variable. All post-hoc comparisons were made using LSD comparisons. 50% point comparisons of continua within each group Pair wise comparisons of the 50% point for each continuum within each leve l of the listener group variable are shown in Table 14. Figure 8 displays the 50% point for each continuum for each of the three groups. Table 14. LSD post-hoc p-values for the location of 50% point of each of the three continua for the three listen er groups for Experiment 5. Group Flat vs. Intermediate Flat vs. Rising Intermediate vs. Rising YNH .00** .00** .00** ONH .03* .00** .00** OIH .00** .00** .68 p < .05. ** p < .01

PAGE 105

94 Figure 8. Mean 50% point and standard de viation of each continuum for the three listener groups for Experiment 5. For the YNH listeners, the 50% points for al l three continua differed significantly from one another. Thus, it is clear that the spectral information in the formant transitions caused the YNH listeners’ phoneme boundaries to shift significantly for each of the three formant transition conditions. As expected, the mean 50% point was greatest for the flat formant continuum (71.65 ms silent duration) and smallest for the rising continuum (47.74 ms silent duration). The mean 50% point for the interm ediate continuum fell between those for the flat and rising series (59. 09 ms silent duration). Thus the YNH listeners required a

PAGE 106

95 significantly shorter sile nt duration to perceive a “split ” in the rising continuum and a significantly longer silent durati on to perceive a “split” in th e flat continuum, as shown by the rightward displacement of the flat and intermediate functions from the rising function in Figure 5-A. The displacement of the phoneme boundary between “slit” and “split” in the flat and risi ng continua reflects the trad ing relationship between the temporal and the spectral cues. The ONH listener group showed a pattern similar to the YNH listener group. The mean 50% point for the rising co ntinuum for this group occurred at a significantly shorter silent duration (43.23 ms) than did those for th e intermediate and fl at continua (52.75 and 58.00 ms, respectively). The 50% point for the in termediate continuum also occurred at a significantly shorter si lent duration than that of the flat continuum. Thus, the ONH listeners also show a rightward displacement of the intermediate and flat functions from the rising function, suggesting th at spectral information had an effect on the identification of the /p/. The data for the OIH listener gr oup showed a different pattern than those for the other two groups. While the mean 50% point for the flat continuum (63.37 ms) was significantly greater th an those for both th e intermediate and rising continua (51.79 and 50.81 ms, respectively), the 50% points of the intermediate and rising transition continua did not differ significantly from one anothe r. Thus, while there is a rightward displacement of the flat function from the risi ng function that is sim ilar to those for the YNH and ONH listener groups, the intermediate and rising functions essentially overlap one another.

PAGE 107

96 50% point comparisons across groups within each level of continuum Pair wise comparisons of the mean 50% points for the thre e listener groups within each level of the continuum variable are shown in Table 15. Fi gure 9 displays the 50% point for the three listener groups for each level of the continuum. Table 15. LSD post-hoc p values for the 50% po ints for the three listener groups at each level of the continua for Experiment 5. Dependent Variable YNH vs. ONH YNH vs. OIHONH vs. OIH Flat .00** .04* .20 Intermediate .04* .01* .75 Rising .26 .40 .06 p < .05. ** p < .01

PAGE 108

97 Figure 9. Mean values and standard deviations for the 50% point of each of the continua for the three listener groups for Experiment 5. For the flat continuum, the mean 50% poi nt of the YNH listener group occurred at a significantly longer silent duration than those of the ONH listener group (p = .00) and the OIH listener group (p = .04). There wa s no significant difference in 50% point location between the ONH and OIH listener groups for this continuum. Similar results were found for the intermediate continuum. The 50% point occurred at a significantly longer duration for the YNH listener group than for the ONH listener group (p = .04) or the OIH listener group (p = .01). Again no si gnificant difference was found between the

PAGE 109

98 two older listener groups for this continuum. No significant differe nce in 50% point was found among the three groups for the 50% point for the rising continuum. Trading Relationship As displayed in Table 10 and Figure 10, the YNH listener group had the largest trading relationship and the OIH listener gr oup had the smallest. Although there was no significant main effect of gr oup on the size of the trading re lationship, the data do warrant a closer look because the group difference approaches significance [F(2, 27) = 3.27, p = .05]. Pair wise comparison reve aled a significant difference in the size of the trading relationship between the YNH and OIH listene r groups (p = .02). No significant difference was found between the YNH and ONH listener groups. Also, there was no significant difference between th e two older listener groups. The mean trading relationship is 23.91 ms for the YNH listener group, much longer than those of the ONH listener gr oup (14.77 ms) and the OIH listener group (12.57 ms). Accordingly, the size of tradi ng relationship of the ONH listeners is only 61% of that of the YNH listener group. The si ze of trading relationship is even more reduced for the OIH listener group, which is only 52% of that obtained for the YNH listener group. These data suggest that the YNH listener group required the silent gap duration to be quite long (71.65 ms) for them to perceive the presence of /p/ 50% of the time when the /p/ formant transition was absent in the continua. However, the two older listener groups perceived the presence of a /p/ at shorter gap duration (58.00 and 63.37 ms, respectively). The comparat ively smaller trading relati onship obtained for the ONH and

PAGE 110

99 OIH listener groups suggests th at the spectral information ex erted less influence in the identification of a /p/ for these two gr oups than for the YNH listener group. Figure 10. Mean values and st andard deviations of the tr ading relationshi p between the flat and rising continua for the thr ee listener groups for Experiment 5.

PAGE 111

100 Chapter Four Discussion This study was designed to investigate how age-related changes in hearing sensitivity, temporal resolution, and spectra l resolution may affect an individual’s strategy in processing specific speech cues. Results of the study suggest that different groups of listeners weight spectral and tempor al speech cues differently even when all the key spectral and temporal information is audible. Discussion of Findings in Relations hip to the Research Questions Frequency resolution ability The first goal of this study was to compare frequency resolution ability of the listener groups for stimuli that approximated the spectral information of an /l/ and a /p/, respectively. Frequency resolution was expl ored by measuring minimum detectable glide (MDGli) frequencies for each group. MDG li did not differ significantly between the groups. This was unexpected as numerous studies have documented the decline in frequency resolution with age and heari ng loss (Dubno & Schaefer, 1992; Lutman, 1991; Patterson et al., 1982; Lutman & Clark, 1986). Our finding of no group differences may be explained by the frequency characteristics of the formant transition for /l/ (F1 = 310 Hz, F2 = 1620 Hz and F3 = 2680 Hz) and /p/ (F1 = 260 Hz, F2 = 1000 Hz, and F3 = 2280

PAGE 112

101 Hz). Both formant transitions contain pr imarily low and mid frequency information. These are frequency regions for which group di fferences in hearing thresholds were relatively small (1 kHz and below) and cochle ar function was assumed to be more similar than for high frequencies. Also, because al l three frequencies cha nged together, listeners only needed normal frequency resolu tion for one of the three tones. Similarly, Summers & Leek (1995) found no difference between their normalhearing (age 22–72 years) and hearing-impaired listeners (age 29–68 years) in frequency glide discrimination in the F2 region in E nglish CV syllables. They used reference stimuli that with different onset freque ncies (1600, 1800, and 1900 Hz) and an offset frequency held at constant 2000 Hz. Thei r comparison stimuli contained higher onset frequencies than the reference and offset frequency of 2000 Hz. The onset-frequency difference limens for the HI group did not differ significantly from those of the NH group. Nelson, Nitttrouer & Norton (1995) also compared the MDGli thresholds of normal and hearing impaired listeners (aged 15–48 years) and found no difference between the young normal hearing and “mild h earing loss” groups. They used linear frequency sweeps with 50-ms total duration. The reference glide was 430 to 611 Hz, simulating the F1 transition of “say” and th e comparison glides had starting frequencies that were always lower. Two steady t ones, with frequencies of 1840 and 3000 Hz respectively, were added simulta neously to the signal to simulate F2 and F3. In other words, the only difference between the target and reference stimuli was the frequency of the lowest tone (simulating F1). In th e present study, three 50-ms simultaneous tone

PAGE 113

102 sweeps, simulating the flat configuration of F 1, F2 and F3 transition of “slit” were used as the reference stimuli. The target stimulus had a rising configura tion for all three tone sweeps. The mean data of the MDGli for th e YNH listener group in the present study is 6 Hz higher than found for young normal hearin g listeners in the Nelson et al. (1995) study (32.2 Hz and 25.9 Hz respectively). Th e OIH group in the present study may be compared to the young “mild hearing loss” gr oup in the Nelson et al. (1995) study. Similarly, there was no significant differen ce between the YNH and the OIH groups in the present study. The mean for our OIH group was 39 Hz and for the Nelson et al. (1995) “mild hearing loss” group the mean wa s 27 Hz (a 12 Hz difference). The MDGli thresholds obtained in our YNH and OIH groups are thus comparable to those obtained in the Nelson et al. (1995), with th e slightly higher thresholds obtained in the present study perhaps due to the differences in the stim uli and the methods in the two studies. The listeners in the Nelson et al. (1 995) study performed an adaptive threeinterval forced-choice (3AFC) discrimination task, while the listeners in the present study performed an adaptive standar d, two-alternative forced-choi ce detection task. 3AFC tasks generally result in be tter performance than 2AFC ta sks because detecting the odd stimulus in a set of three stimuli does not require the listener to understand the acoustic differences between standard and target. Ther efore, 3AFC tasks are comparatively easier than 2AFC tasks which require a listener to identify a particular stimulus based on its acoustic characteristics in a set of two. To conclude, the data of this study sugge st that there was no difference in the frequency resolution ability among the listene r groups for stimuli that approximated the

PAGE 114

103 spectral information for /l/ and a /p/ because no significance between group differences found, largely in agreement w ith previous studies. Temporal processing ability The second research goal of this project was to compare temporal processing ability across the listener groups. The result s of the gap detection tasks showed that all three listener groups had similar gap detec tion thresholds (YNH = 3.2 ms, ONH = 3.4 ms, OIH = 3.8 ms) for the less speech-like stimulus pair (GDTNN, noise burst markers of the same frequency characteristics). However, when the stimuli were more speech-like (GDTNC, the 1st marker was noise and the 2nd marker was a composite tone designed to simulate the vocalic syllable /plI/), both groups of older liste ners required a significantly longer duration of silence (ONH: 98.3 ms; OIH: 107.3 ms) to detect a gap than did the younger listeners with normal hearing (50.5 ms). Nelson et al. (1995) included two similar tasks in their study of perception of speech and non-speech stimuli among young adults aged 15 – 48 years with or without hearing loss. For the less speech-like stimuli, Nelson et al. (1995) measured a mean gap detection threshold of 2.6 ms, very close to the 3.2 ms mean GDT NN measured for a similar group and stimulus in the present study. Although considerably older, our OIH group may be compared to the “mild heari ng loss” group in the Nelson et al. (1995) study. The GDTNN threshold mean for our OI H group was 3.6 ms and for the Nelson et al. (1995) mild loss group, it was 4.1 ms. Both studies showed no si gnificant differences in gap detection threshold between normal h earing and impaired hearing listener groups for a less speech-like stimulus pair. However, the gap detection thresholds obtained for

PAGE 115

104 the more speech-like stimuli were very differe nt between our study and the Nelson et al. (1995) study. Nelson et al. (1995) measured gap detection thresholds of 15.1 ms and 13.4 ms for their YNH and young “mild hearing loss” group, respectively. They found no significant difference between the two groups In contrast, in the present study, our YNH and OIH gap thresholds (50.8 ms and 107.4 ms, respectively) were both much larger than those of Nelson et al. (1995) a nd significantly different from each other. Potential explanations for the different resu lts between studies for the more speech-like stimulus pair are stimulus differences and age differences. In the present study, the 1st marker was a 120-ms low-pass filtered Gaussian noise with cut off frequency of 3500 Hz and the 2nd marker was a composite speech-like si gnal that varied randomly in duration between 150 and 200 ms and in the frequency region of 100 – 5000 Hz. In contrast, in the Nelson et al. (1995) study, the 1st marker was 120-ms high-p ass filtered white noise with cutoff frequency of 2000 Hz and the 2nd marker was a 50-ms tone complex consisting of a linear frequency sweep from 230 to 611 Hz and simultaneous 1840and 3000-Hz tones. The GDTNN and GDTNC results from th e present study suggest that older listeners have more difficulty processing te mporal information than younger listeners when the signals are relatively complex and speech-like. These results are consistent with the findings of Lister, Besing & Koehnke (2002), who found age and stimulus complexity are the major factors influenc ing gap discrimination. Their young, middleaged and old listeners, all with normal hear ing, demonstrated similar gap discrimination difference limens for fixed-frequenc y narrow-band noise stimuli (2000-Hz 1st marker and

PAGE 116

105 2000-Hz 2nd marker). Specifically, mean differ ence limens for this condition were 16, 15, and 32 ms for the young, middle-aged, and ol der listeners, respect ively. However, significant age group differences were found when the marker stimuli were disparate in frequency (2000-Hz 1st marker and 500-Hz 2nd marker). For this condition, mean difference limens were 32 ms, 73 ms, and 112 ms for the young, middle-aged, and older listeners, similar to the GDTNC thre sholds of our older listeners. While the comparatively larger thresh olds for GDTNC obtained from the two older listener groups may have been expect ed from the across-channel gap detection literature because the signals before and afte r the gap were dissimilar (Lister, Besing & Koehnke, 2002), careful consideration of th e spectral characteristics of the 1st and 2nd markers for the GDTNC suggests the opposite. Spectrum analysis of the GDTNC stimuli revealed a relatively flat region of peak amplitude between 600 and 4000 Hz for the 1st marker; and the 2nd marker showed a peak amplitude in the region of 100 Hz with a gradual roll-off of 58 dB to 5000 Hz. Thus, the two markers showed peak energy in approximately the same frequency region but were perceptually di fferent. Grose et al. (2001) found that gap detection thresholds were not uniformly elevated for markers that were perceptually different but fell within the same general freque ncy region and had the same general bandwidth. Therefore, the co mparatively larger thresholds for GDTNC obtained from all three listener groups may be considered unexpected because there was essentially no spectral discontinuity. Lastly, it is interesting to note the differences between the YNH listener group and the two older listener gr oups when comparing their re spective GDTNC thresholds

PAGE 117

106 with the duration of silent gap needed for the identification of a “split” 50% in the flat continuum in the speech identification task, where the silent gap was the only cue for a /p/). The thresholds for GDTNC for the YNH listeners was 50.75 ms, much shorter than the duration of silent gap needed for this gr oup to identify “split” 50% of the time in the flat continuum (71.65 ms). In contrast to the YNH listener group, the two older listener groups revealed a comparatively larger GDTNC thresholds (ONH: 98.3 ms; OIH: 107.3 ms), which were inconsistent with their abil ity to use much smaller durations of silent gap in the speech identification task. The silent gap was the only cue signaling the presence of a /p/ in the flat continuum. The ONH and OIH groups perceived a “split” 50% of the time in the flat continuum when the silent gap durations were 58 ms and 63 ms respectively, durations substantially shor ter than their respective thresholds for detecting the gap in the GDTNC task. One potential expl anation for this difference is that the older listener groups were more experienced in processing temporal cues in the speech context and therefore, their behavior was influenced by a comparatively shorter duration in the speech identification task. This is supported by unpublished data (Lister et al., 2006) that gap detecti on thresholds improve over time as listeners become more familiar with the stimuli and task. In addition, the task differences themselves may have played a role, in that res ponding appropriately to an incr easing gap duration by answering “split” more often is quite different from cons ciously detecting that increased duration as such. Another possible explanation might be the spectral difference between the stimuli for GDTNC and the ones used in the speech identification task. Snell, Ison & Frisina (1994) suggested that the fre quency region for which the most acute temporal resolution

PAGE 118

107 is measured falls around 4 kHz. In the present study, the 1st marker used in the GDTNC task was a Gaussian noise filtered to e liminate frequencies above 3500 Hz. For the stimuli used for the speech identification task, the /s/ preceding the syllable /plIt/ has strongest energy above 3500 Hz. Since the sp ectrum of the natu ral /s/ preceding the vocalic syllable /plIt/ fell within region of dominant temporal sensitivity (Snell et al., 1994), it may explain why the older listeners were able to detect a much smaller gap in speech than in the GDTNC task. Also, the comparatively larger thresh olds obtained for GDTNC for the older listener groups compared to the duration of silent gap needed for the identification of “split” might be explained by the difference in rise-fall time between the stimuli for GDTNC and the ones used in the speech identif ication task. The rise-fall time for the noise marker used in GDTNC was 0.5 ms, while the rise-fall time for the /s/ in the speech identification task had a relatively longer fall off time of approximately 13 ms. The composite marker used in GDTNChad a long rise time of 140 ms, similar to that of the vocalic portion of the stimuli used in the spee ch idenficaiton task. However, there was a subtle difference between the composite mark er and the vocalic portion in that the composite markerused in GDTNC had a rise-f all time of 0.5 ms imposed on the 140 ms rise fall-time, while the one used in the sp eech identification task did not. The difference in rise-fall time could have affected the ga p detection thresholds because the gap was less well-defined (and more natural) for the speech identification task than for the GDTNC task. Therefore, the gaps used for the sp eech identification task could have been effectively, slightly longer than those us ed for GDTNC and somewhat dependent upon

PAGE 119

108 the listeners’ hearing thresholds. Lastly, th e larger GDTNC thresholds might be due to the fact that the 1st marker was randomly varied and chosen from multiple tokens of filtered Gaussian noise but the /s/ used in th e speech task was a single naturally produced /s/, with no variation. To summarize, temporal processing ability was not affected by age or hearing loss when the stimuli were simple and less speech-like. However, when the stimuli were relatively more complex and speech-like, tem poral resolution ability was found to be affected by age but not hearing loss, agreei ng with previous studi es (Lister, Besing & Koehnke, 2002). Weighting of spectral and tempor al cues in speech perception The primary goal of the present study wa s to compare the perception of spectral and temporal speech cues of older listen ers with and without hearing loss and young listeners with normal hearing. Before the discussion of differences found among listener groups, it is worth mentioning that the presen t study replicated th e results of some previous studies using stimuli w ith similar characteristics. Fitch, Halwes, Erickson, & Liberman (1980) first investigated the trading relationship between the spectral and tempor al cues in the identification of a stop consonant in young listeners with normal hearing; but they did not study older listeners with and without hearing loss. The present study has replicated a displacement of the perceptual boundary between “slit” and “spl it” from the flat rising series, thus demonstrating a trading relations hip between the temporal and the spectral cues. Similar

PAGE 120

109 to the results of the Fitch et al. (1980) study, the function of the flat continuum obtained from our YNH listener group was shifted to the right of that obt ained for the rising continuum. Furthermore, the size of the trading relationship obtained from the YNH listener group in the present study is almost iden tical to the results of Fitch et al. (1980) (present study: 24 ms; Fitch’s study: 25ms). There are, however, small differences between the two studies in the location of phonetic boundary for the rising and flat continua (55 ms and 80 ms respectively in the Fitch et al. (1980) study; 48 ms and 72 ms respectively in the present study), which may be due to different sta tistical methods. In the Fitch et al. (1980) study, th e 50% point was the point wher e the interpolated function crossed the 50% level, while in the present study, the 50% point was the 50% point of a probit function generated using the proportion of “s plit” responses at each silent duration. Dorman et al. (1985) inves tigated the perceptual di fferences among three groups of listeners (YNH, ONH, and OIH) using the “slit” series, which was comparable to the flat continuum used in the pr esent study; but they did not study continua with rising formant transition (“split” seri es) or with intermediate formant transition. Dorman et al. (1985) found a similar phonetic boundary fo r “split” responses for the YNH and OIH listener groups (Dorman’s study: YNH: 77 ms OIH: 65 ms; Present study: YNH: 72 ms, OIH: 63 ms). However, the phonetic bounda ry obtained for the ONH listeners by Dorman et al. (1985) was much greater than those obtained for the ONH listeners used in the present study (72 ms and 58 ms, respectiv ely). Several factors may explain the difference in phonetic boundary between the ONH groups in the two studies. First, Dorman et al. (1985) had a larger sample size (n = 23) while th e present study has a

PAGE 121

110 comparatively smaller sample size (n = 8). Second, the presentation level set by Dorman et al. (1985) was 90 dB SPL for all listeners, while in the present study, the presentation levels were 35 dB SL, referenced to the di scrimination thresholds for the speech stimuli obtained in the discrimination experiments (Expe riment 2). This resulted in an average presentation level in the present study of 62 dB SPL for the YNH group, 74 dB SPL for the ONH group, and 91 dB SPL for the OIH group. Thus, the presentation levels for the two normal-hearing groups in the present study were much lower than the level used by Dorman et al. (1985). Third, the method of selecting the phonetic boundary was different between the two studies. In the Dorman et al. (1985) study, the phonetic boundary for “split” responses was the point where the in terpolated function cr ossed the 50% level, while in the present study, the phonetic boundary was the 50% point of a probit function generated using the proportion of “split” responses at each silent dur ation. Finally, the ONH listeners in the Dorman et. al. (1985) st udy had pure-tone thresholds lower than 20 dB HL at 0.5, 1, and 2 kHz, and less than 30 dB HL at 4 kHz. The authors did not provide any information about thresholds at higher frequencies. In the present study, the criteria for pure-tone thresholds for the ONH listeners was 25 dB HL for the octave frequencies between 250 and 6k Hz and 40 dB HL at 8k Hz. Thus, the differences in hearing sensitivity of listeners, presenta tion levels, method of selection of phonetic boundary and possibly sample size may explai n the difference in the phonetic boundary obtained for the flat continuum for the ONH groups used in two studies. To evaluate the influence of spectral in formation on the identification of a stop consonant by the three listener groups, the si ze of the trading relati onship (the separation

PAGE 122

111 between the 50% points of the rising and flat continua), wa s compared across groups. In the present study, the size of the tradi ng relationship obtained for the YNH group (23.9 ms) was significantly larger than that obtaine d for the OIH group (12.8 ms). The size of trading relationship of the ONH group (14.8 ms) was slightly larger but similar and not significantly different from that of th e OIH group. Nelson et al. (1995) found a significantly larger trading re lationship for their normal h earing group (18.6 ms) than for their “mild hearing loss” group (7.0 ms). Th e size of the trading relationships obtained for the YNH and OIH groups in the present stud y is approximately 5 ms larger than those obtained for the most similar gr oups in Nelson et al. (1995). The primary question of this study focuse d on differences in the use of spectral and temporal speech cues between older li steners with and without hearing loss and between young and older listeners with norma l hearing. To address this question, we examined the 50% points and slopes of the flat intermediate, and rising functions as well as the trading relationships between the flat and rising functions across the three groups of listeners. For the rising continuum, in which the fo rmant transition indicated the presence of a /p/, all three groups showed similar cue weighting strategi es, as there were no significant differences in the 50% points or th e slopes of the functions obtained for this continuum. Thus, the degree of hearing loss of the OIH group did not appear to affect the way they weighted the spectral information fo r this continuum. This may be explained by the results of psychoacoustic experiments. The frequency resolution of the three groups was found to be comparable for stimuli that mimicked the spectral information of

PAGE 123

112 either a /p/ or an /l/. In summary, all listene rs, regardless of age or hearing status, made use of the robust spectral cues in the rising co ntinuum. These results are similar to those found by Nelson et. al. (1995), in which stimulus pair “say”“stay” was used. They found that when the spectral information strong ly indicated the presence of /t/ (low F1 series), the 50% point and slopes for the low F1 series obtained from the listeners with normal hearing and mild hearing loss were close to each other (no information on whether they were signifi cantly different). The flat continuum provided no spectral cu e to indicate the pr esence of the stop consonant /p/ (the spectral bias was towards /l/) Therefore, listeners had to rely only on the temporal information provided by the sile nt duration between the fricative /s/ and the remainder of the syllable for the identification of “slit” vs. “split”. As mentioned earlier, there was a shift of the 50% point for the flat continuum to a longer duration for all three listener groups, relative to the rising conti nuum. However, the 50% point obtained for the YNH group was significantly greater than those obtained for th e two older listener groups for the flat continuum, resulting in a larger trading re lationship for the YNH group. Similarly, in the Nelson et al. (1995), both their norma l hearing and mild hearing loss groups needed a similarly greater silent duration to perceive a “stay” for the “high F1” series (/t/ spectral information is absent ), compared to the “low F1” series (/t/ spectral information is present). Also, thei r normal hearing group required a significantly longer silent duration than that obtained from their “mild he aring loss” group in the “high F1” series (normal hearing group: 36.6 ms; “mild hearing loss” group: 26.1 ms).

PAGE 124

113 In addition to the rising and flat conti nua, the present study also included an intermediate continuum, for which the formant transitions for F1, F2, and F3 were halfway between those of the flat and rising continua. The intermediate continuum was used to evaluate responses of listeners in the perception of ambiguous spectral information. One striking difference among th e three listener groups was the location of the 50% points for responses to the intermed iate continuum, as shown in Figures 5 (A) – (C). For the YNH listeners, the 50% points for the intermediate series fell between those of the flat and rising functions (50% po int: flat = 71.65 ms; intermediate = 59.09 ms; rising = 47.74 ms). Similar to the YNH gr oup, the intermediate function for the ONH group fell between those for the rising and fl at continua, although the 50% point for the intermediate function for the ONH group was some what closer to that obtained for the flat function than that obtained for th e rising function (50% point: Flat = 58.00 ms, Intermediate = 52.75 ms; Rising = 43.23 ms). However, for the OIH listeners, the intermediate and rising functions were almost overlapping each other (50% point: flat = 63.37 ms; intermediate = 51.79 ms ; rising = 50.81 ms). Because the spectral parameters of the fo rmant transitions for the intermediate series were halfway between the values for th e rising and flat series, the location of the intermediate perceptual continuum suggest s that the YNH and ONH listeners treated the spectral information as a continuum, rather than as a binary function (transition present or absent). However, for the OIH group, the respon ses seem to suggest that they treated the robust and ambiguous spectral information alike.

PAGE 125

114 We were initially interested in differe nces in the perception of spectral and temporal speech cues between older listeners with and without hearing loss or between young and older listeners with normal hearing. Analysis of the three functions within each group reveals unique patterns of listening st rategies for varying spectral information. Differences in weighting of spectral and te mporal cues obtained for the groups with normal hearing and hearing loss, and between the young and older listener groups should reflect differences in listeni ng strategy, given that the psyc hoacoustic data and stimulus values used imply that both the spectral a nd temporal information was audible for all three groups. The YNH listeners appear to have used a similar strategy for all three continua, except that there is some evidence that they placed more weight on the temporal cue for the intermediate continuum. The greater influence of temporal information for the intermediate continuum is evidenced by the significantly steeper average slope obtained for the identification function for the intermediate than for the flat continuum. Nevertheless, compared to the other two groups, the YNH listener group showed comparatively shallower slope values across the three continua and a larger trading relationship between the fl at and rising continua. The OIH listeners appeared to use the same strategy for a ll three continua. However, in contrast to the YNH group, the OI H listeners appeared to use the temporal information more heavily when identifying the /p/. This was supported by the smaller trading relationship between the flat and ri sing continua and the comparatively steeper slope values across functions obtained for the three continua. That is, the presence or

PAGE 126

115 absence of a /p/ formant transition did not affect the identification of a “split” as much for the OIH listeners as it did in the YNH listeners Therefore, the present study showed that the OIH group relied mainly on temporal cues and weighted the spectral information less heavily than the YNH group even when this information was audible. Moreover, the OIH listeners demonstrated comparable fr equency resolution abil ity with the YNH and ONH groups, at least for the frequency region im portant for the identification of a /p/ or an /l/ (MDGli for YNH: 32.18 Hz; ONH: 37.44 Hz; OIH: 39.26 Hz). The OIH listeners tended to put less weight on spectral informati on but relied on the more salient temporal cue. In contrast to both the YNH and the OI H groups, the ONH group did not affix to a single weighting strategy in the identification of the “slit split” continua. Instead they seemed to change strategy depending on whether the formant transition strongly or ambiguously indicated the presence of a /p/. For the rising continuum, the ONH group performed similarly to the YNH group and appear ed to rely more h eavily on the spectral cue when the /p/ formant tr ansition was robust, as evid enced by shallower slope and presence of large trading relationship. Howe ver, for the flat and intermediate continua, the ONH listeners switched lis tening strategy to put more weight on the temporal information when the /p/ transition was am biguous or absent, as evidenced by steeper slope values for the intermediate and flat cont inua. The difference in the slope values for the flat and intermediate continua between the YNH and ONH listeners suggests that age affected these listeners’ weighting of spectra l dynamic cues. Since both of these groups presented with normal hearing sensitivit y, the steep slope value for the ONH group

PAGE 127

116 suggests that age is the factor affecting th eir weighting strategy, even though it may be argued that the presence of minimal high fr equency hearing loss in the ONH group was enough to disrupt this process. Interestingly, it seems that there is a developmental trend showing combined effects of aging and hearing loss. The beha vior of the ONH listeners falls between the patterns of the YNH listeners and the OIH liste ners. It seems that when the spectral information indicating /p/ was still robust, the ONH group proce ssed the speech cues in a manner similar to the YNH group. When th e spectral information indicating /p/ was degraded or removed, however, their performance was simila r to that of the OIH group. There may be a period when older listeners who still have relatively normal hearing use spectral cues because they still serve as a re liable cue for speech processing, especially when clearly present. When their hearing ha s deteriorated further and they no longer find the spectral cues as reliable, they might sh ift their strategy and we ight temporal cues more heavily because they are mo re salient and reliable. Hedrick & Younger (2007) studied the effect of hearing loss and age on perceptual weighting of relative amplitu de and formant transition cues in the identification of the consonant por tion of CV stimuli as either /p/ or /t/ in three groups of listeners, young with normal hearing (YNH), young with impaired h earing (YIH), and old with impaired hearing (O IH). Similar to the pres ent study, they found that YNH listeners weighted spectral information more he avily than did listeners with hearing loss. They also suggested that the OIH listeners had more difficulty integrating spectral information and relative amplitude cues to make a /p/ judgment than did YIH or YNH

PAGE 128

117 listeners. Similar to the findings in th e present study, Hedrick & Younger (2007) found that age and hearing loss affected the weighting strategy for speech cues. Lastly, it should be mentioned that even though the two older listener groups in the present study had larger thresholds fo r a temporal gap for the more speech-like stimuli (ONH: 98.3 ms; OIH: 107.3 ms), that did not appear to have prevented them from using temporal gaps to identify “split”. As suggested by Fitch et al. (1980), the silent duration for cueing the presence of a stop c onsonant is on the order of 80 ms or longer and that for cueing the absence of a stop conson ant is 20 ms or less. These values fall below the mean gap thresholds for both ol der groups for the GDTNC task, but not the GDTNN task. The gap detection thresholds for the more speech-like stimuli might have been smaller if the stimuli had more closely matched the stimuli for the speech identification task. Even so, the comparativel y larger gap detection thresholds of the two older listener groups did not, a pparently, cause them to weig ht temporal information less strongly. To conclude, the results of the presen t study are consistent with findings of previous studies. The ONH and OIH listeners seem to weight spectral information less heavily than the YNH listeners (Nelson et al., 1995; Hedrick & Younger, 2007). Each listener group showed a different pattern of re sults across the rising, intermediate, and flat functions, suggesting that differe nt weighting strategies did exist across the groups and is apparently the first to show a change in cue weighting within a group. Significant changes in cue weighting within a group are ev idenced by (1) the sign ificant difference in the slope of the identificati on function between the rising and the other two continua

PAGE 129

118 shown for the ONH listeners, and (2) weakly th e significant difference in the slope of the identification function between the flat and intermediate continua for the YNH listeners. Application of Results Results of this study suggest that OIH listeners may tend to put less weight on spectral speech cues even when they are au dible. This may explain why many hearing aid users remain less proficie nt in speech understanding than young listeners with normal hearing. As suggested by the data from the OIH group, listeners with hearing loss did not use spectral information as effectively as the YNH group even when all the spectral information was audible. Living with deteri orating hearing sensitiv ity over a long period of time may cause listeners with hearing impairment to percei ve spectral information as a less reliable cue than temporal information. Neural research studies have documented the plasticity of the human brain. There is a possibility that auditory neurons reorganize themselves after long periods of deprivation and do not return to their former function following amplification. As a result, the hearing aid user s may ignore the spectral cues, even when they become audible again due to amplification. Furtherm ore, in real-world listening environments, temporal information, su ch as silent gaps, are partially filled by reverberation and background noise and become less perceptually sali ent. Therefore, listeners must be able to use redundant speech cues to enhance speech understanding ability. This line of thought leads to the idea that auditory training of spectral cues may improve the performance of hearing aid user s. Scott (2006) found that new hearing aid

PAGE 130

119 users showed improvements in sentence iden tification after 10 days of training in discrimination of frequency sweeps at 2 kHz. Auditory training with an emphasis on enhancing sensitivity to fr equency differences among formant transitions may help hearing aid users to be more effective in integrating spectral information with other speech cues. Limitations of this study In addressing the research questions, th e present study was modeled after previous studies (Fitch et al., 1980; Dorman, et al., 1985; Nelson et al., 1995). Although the present study has successfully addressed the re search questions and replicated the results of previous research studies, it had the following limitations. 1. The sample size was comparatively sma ll in the study, rendering some of the experiments underpowered. Some differe nces approached significance but may have been significant with a larger sample size. 2. The pure tone thresholds of the ONH lis tener group fell with in the range of normal audiometric hearing sensitivity; however, statistically, their hearing was significantly poorer than that of the YNH listener group. The minimal high frequency hearing loss may be enough to disrupt processing. The difference in hearing sensitivity between the two normal hearing groups could have affected some of the fi ndings in the present study.

PAGE 131

120 3. All the YNH listeners were volunteers from the Department of Communication Sciences and Disorders of University of South Florida, who had a background in speech and hearing sciences. In contrast, the ONH and OIH groups were listeners recruited fr om the general public, without this background knowledge. Also, some of th e YNH listeners were “experienced” participants who had participated in so me experiments similar to those of the present study. 4. It has been well-documented that freque ncy resolution deteriorates with age and hearing loss and we were surprise d to find no group differences for our frequency resolution task. Because the fr equency resolution task used in this study was designed to assess differen ces in frequency ability among the listeners for a stimulus similar in spectral characteristics to a /p/ or an /l/, the task may not have been sensitive eno ugh to reveal subtle differences in frequency resolution ability among the gr oups. These subtle differences could have influenced performance on the identification task. 5. The gap detection thresholds for the more and less speech-like stimuli might have been smaller for all listener groups if the spectra of the stimuli fell in the region of 4 kHz, a region of particular ly acute temporal re solution ability. 6. The present study only compared older listeners with and without hearing loss. To provide a more complete pictur e of the effect of hearing loss on cue weighting strategy, the performance of young listeners with hearing loss should be studied.

PAGE 132

121 Future Research The results of the present study indicate that older listener s with or without hearing loss may weight spectral informa tion differently than young normal hearing listeners. Young listeners with hearing loss s hould be included in future cue weighting research to provide a more complete pictur e of the effects of hearing loss and age on speech understanding. It is important to c onsider, however, that the etiology, duration, and configuration of hearing loss among young adults differs greatly from that found among older adults, making comparisons of the groups difficult. Hearing loss and frequency resolution are closely related, but it is still unclear whether frequency resolution contributes to ch anges in speech pro cessing strategy that occur with age and hearing loss. Future studies should include psychoacoustic turningcurve measurement experiments to more pr ecisely define the listeners’ frequency resolution. Results of the present stu dy show that older listeners with hearing loss did not integrate spectral information with tem poral information in the same way as young normal hearing listeners, even when this in formation was audible. Since hearing aid users often experience difficu lty in understanding speech, these results suggest that auditory training might help to redirect the hearing ai d users’ focus on spectral information. If hearing aid users can learn to better integrate spectral information with other speech cues, they can perhaps better unde rstand speech in real world environments.

PAGE 133

122 Accordingly, future studies should investig ate whether there woul d be changes in cue weighting strategy for hearing aid users with and without auditory training. Future studies might also include add itional listening conditions that better simulate real world listening environments such as noise or reverberation. In the real world, less-than-optimal listening conditions de grade or mask the temporal cues, which may be more salient than spectral cues for lis teners with hearing loss. Also, the robust but relatively low amplitude spectral cue may be masked by noisy or reverberant conditions. Therefore, even young listeners with normal hearing may exhibit different cue weighting strategies when pr ocessing speech in quiet than in noise. Future studies in this direction may provide more informati on about real-world listening conditions and thus provide a better understanding of speech processing strategies in different listener groups. The observed differences in cue weighting st rategies in listeners with hearing loss from that of listeners with normal heari ng might be secondary to a long period of deprivation of spectral information resulting from gradual cochlear dysfunction. Future studies of listeners with recent onset hearing loss due to trauma, drugs, noise, disease, etc. could provide additional information about cue weighting strategies. If these listeners with recent onset hearing loss weight spectral information as heavily as listeners with normal hearing, this will support the idea that longstanding hearing loss is the reason for these listeners to put more weight on tem poral information and less weight on spectral information and the importance of early intervention of using amplification for listeners

PAGE 134

123 with hearing loss. Future studies might al so examine individual speech identification functions in relationship to duration of hearing loss and duration of hearing aid use.

PAGE 135

124 References Adams, P. & Benson, V. (1992). Current esti mates from the National Health Interview Survey, 1991. Vital and Health Statistics, Series 10. National Center for Health Statistics Bastian, J., Eimas, P., & Liberman, A. ( 1961). Identification and discrimination of a phonemic contrast induced by silent interval. Journal of the Acoustical Society of America 842. Best, C., Morrongiello, B., & Robson, R. ( 1981). Perceptual equivalence of acoustics cues in speech and nonspeech perception. Perception & Psychophysics, 29 (3), 191-211. Borg, E., Canlon, B, & Engstr m, B. (1995). Noise-induced hearing loss—Literature review and experiments in rabbits, Scandinavian Audiology, 24 (Suppl. 40), 1147. Brant, L., & Fozard, J. (1990). Age changes in pure-tone hearing thresholds in a longitudinal study of normal human aging. Journal of the Acoustical Society of America 88 813-820. Cazals, Y., & Palis, L. (1991). E ffect of silence duration in intervocalic velar plosive on voicing perception for normal and hearing-impaired subjects. Journal of the Acoustical Society of America, 89 (6), 2916-2921. Coughlin, M., Kewley-Port, D., & Humes, L. (1998). The relation between identification and discrimination of vowels in young and elderly listeners. Journal of the Acoustical Society of America, 104 (6), 3597-3607. Delattre, P., Liberman, A., Cooper, F., Gerstm an, L. (1952). An experimental study of the acoustic determinants of vowel color. Word( 8),195. Dorman, M., Marton, K., & Hannley, M. ( 1985). Phonetic identification by elderly normal and hearing-impaired. Journal of the Acoustical Society of America, 77 (2), 664-670.

PAGE 136

125 Dorman, M., Raphael, L., & Liberman, A. (1979). Some experiments on the sound of silence in phonetic. Journal of the Acoustical Society of America, 65 (6), 15181532. Dubno, J., & Schaefer, A. (1992). Comparison of frequency selectivity and consonant recognition among hearing-impaired and masked normal-hearing listeners. Journal of the Acoustical Society of America, 91 (4), 2110-2121. Fitch, H., Halwes, T., Erickson, D., & Liberm an, A. (1980). Perceptual equivalence of two acoustic cues for stop-consonant manner. Perception & Psychophysics, 27 (4), 343-350. Fitzgibbons, P., & Gordon-Salant, S. (1994) Age effects on measures of auditory duration discrimination. Journal of Speech, Language, and Hearing Research, 37 662-670. Fitzgibbons, P., & Gordon-Salant, S. (1987). Mi nimum stimulus levels for temporal gap resolution in listeners with sensorineural hearing loss. Journal of the Acoustical Society of America, 81 (5), 1542-1545. Fitzgibbons, P., & Gordon-Salant, S. (1987). Te mporal gap resolution in listeners with high-frequency sensorin eural hearing loss. Journal of the Acoustical Society of America, 81 (1), 133-137. Fitzgibbons, P., & Wightman, F. (1982). Gap de tection in normal and hearing-impaired listeners. Journal of the Acoustical Society of America, 72 (3), 761-765. Ginzel, A., Pedersen, B., Spliid, P., & Andersen E. (1982). The role of temporal factors in auditory perception of consonants and vowels. Scandinavian Audiology, 11 93-100. Glasberg, B., Moore, B., & Bacon, S. (1987) Gap detection and masking in hearingimpaired and normal-hearing subjects. Journal of the Acoustical Society of America, 81 (5).

PAGE 137

126 Glasberg, B., & Moore, B. (1986). Auditory fi lter shapes in subject s with unilateral and bilateral cochlear impairments. Journal of the Acoustical Society of America, 79 (4), 1020-1033. Godfrey, J., & Millay, K. (1977). Perception of rapid spectral change in speech by listeners with mild and modera te sensorineura l hearing loss. Journal of the American Audiology Society, 3 (5), 200-208. Gordon-Salant, S., & Fitzgibbons, P. (1999). Profile of audito ry temporal processing in older listeners. Journal of Speech, Language, and Hearing Research, 42 (2), 300311. Grose, J., Hall, J., & Buss, E. (2001). Gap duration discrimination in listeners with cochlear hearing loss: Effects of gap and marker duration, frequency separation, and mode of presentation. Journal of the Association for Research in Otolaryngology, 2 388-398. Hedrick, M., & Younger, M. (2007). Perceptu al weighting of stop consonant cues by normal and impaired listeners in reverberation versus noise. Journal of Speech, Language, and Hearing Research, 50 254-269. Hedrick, M., & Younger, M. ( 2003). Labeling of /s/ and / / by listeners with normal and impaired hearing, revisited. Journal of Speech, Language, and Hearing Research, 46 636-648. Heinz, J., & Stevens, K. (1961). On the pr operties of voiceless fr icative consonants. Journal of the Acoustical Society of America, 33 (5), 589-596. Humes, L. (1982). Spectral and temporal resolution by the hearing impaired. Vanderbilt Hearing Aid Report: State of the Art-Research Needs, edited by G.A. Studebaker and F.H. Bess (Monographs in Contemporary Audiology, Upper Darty, PA). Lee, L., & Humes, L. (1993). Evaluating a sp eech-reception threshol d model for hearingimpaired listeners. Journal of the Acoustical Society of America, 93 (5), 28792885.

PAGE 138

127 Leek, M., & Dorman, M. (1987). Minimum spect ral contrast for vow el identification by normal-hearing and hearing-impaired listeners. Journal of the Acoustical Society of America, 81 (1), 148-154. Levitt, H. (1971). Transformed up-down methods in psychoacoustics. Journal of the Acoustical Society of America, 49, 467-477. Lisker, L., & Abramson, A. (1967). Some ef fects of context on voice onset time in English stops. Language and Speech 1-28. Lister, J., Roberts, R., McArdle, R., Roge rs, C., & Krause, J. (2006). The stability, validity, and sensitivity of an adaptive clinical test of temporal resolution. XXVIIIth International Congress of Audiology, Innsbruck, Austria. Lister, J., & Tarver, K. (2004). Effect of ag e on silent gap discrimination in synthetic speech stimuli. Journal of Speech, Language, and Hearing Research, 47(2) 257268. Lister, J., Besing, J., & Koehnke, J. (2002). E ffects of age and frequency disparity on gap discrimination. Journal of the Acoustical Society of America, 111 (6), 2793-2800. Lister, J., Koehnke, J., & Besing, J. (2000). Binaural gap duration discrimination in listeners with impaired hearing and normal hearing. Ear & Hearing, 21 141-150. Lutman, M. (1991). Degradations in frequency and temporal resolution with age and their impact on speech identification. Acta Otolaryngology (Suppl. 476) 120-126. Lutman, M., Gatehouse, S., & Worthington, A. (1991). Frequency resolution as a function of hearing thre shold level and age. Journal of Acoustical Society of America, 89 (1), 320-328. Lutman, M., & Clark, J. (1986). Speech id entification under simulated hearing-aid frequency response characteris tics in relation to sensit ivity, frequency resolution, and temporal resolution. Journal of the Acoustical Society of America, 80 (4), 1030-1040.

PAGE 139

128 Madden, J., & Feth, L. (1992). Temporal re solution in normal-hearing and hearingimpaired listeners using fr equency modulated stimuli. Journal of Speech, Language, and Hearing Research, 35 436-442. Miller, J. (1989). Audito ry-perception interpretation of the vowel. Journal of the Acoustical Society of America, 85 (5), 2114-2134. Moore, B. (1996). Perceptual consequen ces of cochlear hearing loss and their implications for the design of hearing aids. Ear & Hearing, 1996 (17), 133-160. Moore, B., Peters, R., & Glasberg, B. (1992). Detection of temporal gaps in sinusoids by elderly subjects with an d without hearing loss. Journal of the Acoustical Society of America, 92 (4), 1923-1932. Nelson, P., Nittrouer, S., & Norton, S. (1995). “Say-stay” identification and psychoacoustic performance of hearing-impaired listeners. Journal of the Acoustical Society of America, 97 (3), 1830-1838. O’Connor, J., Gerstman, L., Liberman, A., De lattre, P., & Cooper, F. (1957). Acoustic cues for the perception of initial /w,y,r,l/ in English. Word, 13, 24-43. Patterson, R., Nimmo-Smith, I., Weber, D., & Milroy, R. (1982). The deterioration of hearing with age: Frequency selectivit y, the critical ratio, the audiogram, and speech threshold. Journal of the Acoustical Society of America, 72 (6), 1788-1803. Peterson, G., & Lehiste, I. (1960). Du ration of syllable nuclei in English. Journal of the Acoustical Society of America, 32 (6), 693-703. Peterson, G., & Barney, H. (1952). Control methods used in a study of the vowels. Journal of the Acoustical Society of America, 24 (2), 175-184.

PAGE 140

129 Pick,G., Evans,E., & Wilson, J. (1977). Freque ncy resolution in patients with hearing loss of cochlear orgin. In E.F. Evans & J.P. Wilson (Eds), Psychophysics and Physiology of Hearing (pp. 273-282). London: Academic Press. Pickett, J. (1999). The Acoustics of Speech Communication. Boston. Allyn and Bacon. Plomp, R. (1978). Auditory handicap of hear ing impairment and the limited benefit of hearing aids. Journal of the Acoustical Society of America, 63 (2), 533-549. Port, R. (1976). Influence of tempo on the clos ure interval cue to the voicing and place of intervocalic stops. Journal of the Acoustical Society of America, 59 (Suppl. 1) 541. Price. P., & Simon, H. (1984). Perception of temporal differences in speech by “normalhearing” adults: Effects of age and intensity. Journal of the Acoustical Society of America, 76 (2), 405-410. Repp, B., & Lin, H. (1989). Acoustic properties and perception of st op consonant release transients. Journal of the Acoustical Society of America, 85 (1), 379-396. Rhode, W. (1971). Observations of the vibra tion of the basilar membrane in squirrel monkeys using the Mossbauer technique. Journal of the Acoustical Society of America, 49 (4), 1218-1231. Schuknecht, H., & Gacek, M. (1993). Co chlear pathology in presbycusis. Ann Otol Rhinol Laryngol, 102 1-16. Scott, J. (2006). Effects of auditory training on hearing aid acclimatization, Journal of the Acoustical Society of America, 120 (5), 3349. Sellick, P., Patuzzi, R., & Johnstone, B. (1982). Measurement of basilar membrane motion in the guinea pig using the Mossbauer technique. Journal of the Acoustical Society of America, 72 (1), 131-141.

PAGE 141

130 Snell, K., & Frisina, R. (2000). Relations hips among age-related differences in gap detection and word recognition. Journal of the Acoustical Society of America, 107 (3), 1615-1626. Snell, K. (1997). Age-related changes in temporal gap detection. Journal of the Acoustical Society of America, 101 (4), 2214-2220. Snell, K., Ison, J., & Frisina, R. (1994). Th e effects of signal frequency and absolute bandwidth on gap detection in noise. Journal of the Acoustical Society of America, 96(3) 1458-1464. Stevens, K. N., & Blunstein, S. E. (1978). I nvariant cues for place of articulation in stop consonants. Journal of the Acoustical Society of America, 64 (5), 1358-1368. Strange, W. (1989). Dynamic specification of coarticulated vowels spoken in sentence context. Journal of the Acoustical Society of America, 85 (5), 2135-2153. Strange, W., Jenkins, J., & Johnson, T. (1983) Dynamic specification of coarticulated vowels. Journal of the Acoustical Society of America, 74 (3), 695-705. Strouse, A., Ashmead, D., Ohde, R., & Granth am, W. (1998). Temporal processing in the aging auditory system. Journal of the Acoustical Society of America, 104 (4), 2385-2399. Summers, W., & Leek, M. (1995). Frequency glide discrimination in the F2 region by normal-hearing and hearing-impaired listeners. Journal of the Acoustical Society of America, 97 (6), 3825-3832. Summers, W., & Leek, M. (1992). The role of spectral and temporal cues in vowel identification by listeners with impaired hearing. American Speech-LanguageHearing Association, 35 1189-1199. Turner, C., & Henn, C. (1989). The relation be tween vowel recognition and measures of frequency resolution. American Speech-Language-Hearing Association, 32 (4958).

PAGE 142

131 Turner, C., & Robb, M. (1987). Audibility and recognition of stop consonants in normal and hearing-impaired subjects. Journal of the Acoustical Society of America, 81 (5), 1566-1573. Tyler, R., Summerfield, Q., Wood, E., & Fe rnandes, M. (1982). Psychoacoustic and phonetic temporal processing in normal and hearing-impaired listeners. Journal of the American Audiology Society, 72 (3), 740-752. Van Tasell, D. (1993). Hearing loss, speech, and hearing aids. Journal of Speech, Language, and Hearing Research, 36 228-244. Van Tasell, D., Hagen, L., Koblas, L., & Pe nner, S. (1982). Perception of short-term spectral cues for stop consonant place by normal and hearing-impaired subjects. Journal of the Acoustical Society of America, 72 (6), 1771-1780. Verburugge, R., & Shankweiler, D. (1977). Prosodic information for vowel identity. Journal of the Acoustical Society of America, 61 (1), S39. Weinstein, B. (2000). Geriatric Audiology New York: Thieme New York. Willott, J. (1991). Aging and the auditory system San Diego: Singular Publishing Group, Inc.

PAGE 143

132 Appendix A: Visual Basic (v. 6.0) Code Experiments 1(a) – (d ): Detection Tasks FRMDETAILS Sub InitializeHardware() Dim LongRet As Long LongRet = XBlock(ByVal 100, ByVal 0) 'checks to see if the XBus is locked If LongRet = 0 Then Call ErrorCheck Exit Sub End If LongRet = APlock(ByVal 100, ByVal 0) 'checks to see if AP is locked If LongRet = 0 Then Call ErrorCheck Exit Sub End If End Sub Sub ErrorCheck() 'this is a tucker routine to deliver an error message 'to the screen. These are for hardware errors Dim LongRet As Long Dim bytErrMsg(255) As Byte Dim strErrMsg As String LongRet = getS2err(bytErrMsg(0)) If LongRet > 0 Then strErrMsg = StrConv(bytErrMsg, vbUnicode) Call MsgBox(strErrMsg) End If End Sub Sub Main() End Sub Public Sub InitializePD1() Dim LongRet As Long LongRet = S2init(ByVal 0, ByVal INIT_PRIMARY, ByVal 1000) Call ErrorCheck Call InitializeHardware Call PD1clear(ByVal 1) Call PD1fixbug(ByVal 1) End Sub FRMINTERVAL Private Sub Command1_Click() ExitFlagE = 1 Unload FRMINTERVAL Call S2close Call XBunlock(ByVal 0) Call APunlock(ByVal 0) Call trash End End Sub Private Sub HappyFace1() For J = 1 To 2

PAGE 144

133 Appendix A (Continued) Image1.Visible = True Call delay(0.3) Image1.Visible = False Image2.Visible = True Call delay(0.3) Image2.Visible = False Image3.Visible = True Call delay(0.3) Image3.Visible = False Next J End Sub Private Sub HappyFace2() For J = 1 To 2 Image4.Visible = True Call delay(0.3) Image4.Visible = False Image5.Visible = True Call delay(0.3) Image5.Visible = False Image6.Visible = True Call delay(0.3) Image6.Visible = False Next J End Sub Private Sub INTERVAL1_Click() Choice = 1 mclick = 1 If Signal = 1 Then Call HappyFace1 Else Call HappyFace2 End If INTERVAL1.Visible = False INTERVAL2.Visible = False End Sub Private Sub INTERVAL2_Click() Choice = 2 mclick = 1 If Signal = 2 Then Call HappyFace2 Else Call HappyFace1 End If INTERVAL1.Visible = False INTERVAL2.Visible = False End Sub

PAGE 145

134 Appendix A (Continued) FRMRESULTS Private Sub CmdEnd_Click() End EndFlag = 1 End Sub Private Sub CmdRepeat_Click() ExitFlagR = 1 Unload FrmResults Call S2close Call XBunlock(ByVal 0) Call APunlock(ByVal 0) Call trash End Sub Private Sub CmdSave_Click() CmdSave.Enabled = False Dim boolAdding As Boolean If (DatDetection.Record set.EOF = False And DatDetection.Recordset.BOF = False) Then DatDetection.Recordset.CancelUpdate 'adEditNone DatDetection.Recordset.AddNew boolAdding = (DatDetection. Recordset.EditMode = adEditAdd) Call LoadValues DatDetection.Recordset.Update If boolAdding Then DatDetection.Recordset.MoveLast End If CmdSave.Enabled = Not CmdSave.Enabled DatDetection.Enabled = Not DatDetection.EOFAction FrmResults.PrintForm Printer.EndDoc Call AddDisplay Unload FrmResults If EndFlag = 1 Then End End If If ReInitializeFlag = 1 Then FrmResults!ResultsID.Text = "" FrmResults!ResultsCondition.Text = "" FrmResults!Resu ltsStartAttn.Text = "" FrmResults!ResultsFixedAttn.Text = "" FrmResults!Results ArithMeanThresh.Text = "" FrmResults!GeoMeanThresh.Text = "" Call S2close Call XBunlock(ByVal 0) Call APunlock(ByVal 0) Call trash End If End Sub

PAGE 146

135 Appendix A (Continued) Private Sub Form_Load() LoadValues FrmResults.Show 0 End Sub Private Sub AddDisplay() Dim StrAddDisplay As String StrAddDisplay = "Results Added to Database" MsgBox StrAddDisplay End Sub Public Sub LoadValues() TxtResultsID.Text = SubID TxtResultsCondition.Text = Condition TxtResultsStartAttn.Text = StartAttn TxtResultsFixedAttn.Text = FixedAttn TxtArithMeanThresh.Text = ArithMeanThresh TxtGeoMeanThresh.Text = GeoMeanThresh End Sub Module 1 Sub InitializeHardware() Dim LongRet As Long LongRet = XBlock(ByVal 100, ByVal 0) 'checks to see if the XBus is locked If LongRet = 0 Then Call ErrorCheck Exit Sub End If LongRet = APlock(ByVal 100, ByVal 0) 'checks to see if AP is locked If LongRet = 0 Then Call ErrorCheck Exit Sub End If End Sub Sub ErrorCheck() 'this is a tucker routine to deliver an error message 'to the screen. These are for hardware errors Dim LongRet As Long Dim bytErrMsg(255) As Byte Dim strErrMsg As String LongRet = getS2err(bytErrMsg(0)) If LongRet > 0 Then strErrMsg = StrConv(bytErrMsg, vbUnicode) Call MsgBox(strErrMsg) End If End Sub Sub Main() End Sub

PAGE 147

136 Appendix A (Continued) Public Sub InitializePD1() Dim LongRet As Long LongRet = S2init(ByVal 0, ByVal INIT_PRIMARY, ByVal 1000) Call ErrorCheck Call InitializeHardware Call PD1clear(ByVal 1) Call PD1fixbug(ByVal 1) End Sub Module 2 Public Declare Sub AD1clear Lib "s2drv32s.dll" Alias "_AD1clear@4" (ByVal lngdin As Long) Public Declare Sub AD1go Lib "s2drv32s.dll" Alias "_AD1go@4" (ByVal lngdin As Long) Public Declare Sub AD1stop Lib "s2drv32s.dll" A lias "_AD1stop@4" (ByVal lngdin As Long) Public Declare Sub AD1arm Lib "s2drv32s.dll" A lias "_AD1arm@4" (ByVal lngdin As Long) Public Declare Sub AD1mode Lib "s2drv32s.dll" Alias "_AD1mode@8" (ByVal lngdin As Long, ByVal lngmcode As Long) Public Declare Sub AD1srate Lib "s2drv32s.dll" Alias "_AD1 srate@8" (ByVal lngdin As Long, ByVal sngsrate As Single) Public Declare Function AD1speriod Lib "s2drv32s.dll" Alias "_AD1speriod@8" (ByV al lngdin As Long, ByVal sngsper As Single) As Single Public Declare Sub AD1clkin Lib "s2dr v32s.dll" Alias "_AD1clkin@8" (ByVal lngdin As Long, ByVal lngscode As Long) Public Declare Sub AD1clkout Lib "s2drv32s.dll" Alias "_AD1 clkout@8" (ByVal lngdin As Long, ByVal lngdcode As Long) Public Declare Sub AD1npts Lib "s2drv32s.dll" Alias "_AD 1npts@8" (ByVal lngdin As Long, ByVal lngnpts As Long) Public Declare Sub AD1mtrig Lib "s2drv32s.dll" Alias "_AD1mtrig@4" (ByVal lngdin As Long) Public Declare Sub AD1strig Lib "s2drv32s.dll" Alias "_AD1strig@4" (ByVal lngdin As Long) Public Declare Function AD1status Li b "s2drv32s.dll" Alias "_AD1status@4" (B yVal lngdin As Long) As Long Public Declare Sub AD1reps Lib "s2dr v32s.dll" Alias "_AD1reps@8" (ByVal lngdin As Long, ByVal lngnreps As Long) Public Declare Function AD1clip Li b "s2drv32s.dll" Alias "_AD1clip@4" (ByVal lngdin As Long) As Long Public Declare Sub AD1clipon Lib "s2drv32s.dll" Alias "_AD1clipon@4" (ByVal lngdin As Long) Public Declare Sub AD1tgo Lib "s2drv32s.dll" Alias "_AD1tgo@4" (ByVal lngdin As Long) Public Declare Sub AD2clear Lib "s2drv32s.dll" Alias "_AD2clear@4" (ByVal lngdin As Long) Public Declare Sub AD2go Lib "s2drv32s.dll" Alias "_AD2go@4" (ByVal lngdin As Long) Public Declare Sub AD2stop Lib "s2drv32s.dll" A lias "_AD2stop@4" (ByVal lngdin As Long) Public Declare Sub AD2arm Lib "s2drv32s.dll" A lias "_AD2arm@4" (ByVal lngdin As Long) Public Declare Sub AD2mode Lib "s2drv32s.dll" Alias "_AD2mode@8" (ByVal lngdin As Long, ByVal lngmcode As Long) Public Declare Sub AD2srate Lib "s2drv32s.dll" Alias "_AD2 srate@8" (ByVal lngdin As Long, ByVal sngsrate As Single) Public Declare Function AD2speriod Lib "s2drv32s.dll" Alias "_AD2speriod@8" (ByV al lngdin As Long, ByVal sngsper As Single) As Single Public Declare Sub AD2clkin Lib "s2dr v32s.dll" Alias "_AD2clkin@8" (ByVal lngdin As Long, ByVal lngscode As Long) Public Declare Sub AD2clkout Lib "s2drv32s.dll" Alias "_AD2 clkout@8" (ByVal lngdin As Long, ByVal lngdcode As Long) Public Declare Sub AD2npts Lib "s2drv32s.dll" Alias "_AD 2npts@8" (ByVal lngdin As Long, ByVal lngnpts As Long) Public Declare Sub AD2mtrig Lib "s2drv32s.dll" Alias "_AD2mtrig@4" (ByVal lngdin As Long) Public Declare Sub AD2strig Lib "s2drv32s.dll" Alias "_AD2strig@4" (ByVal lngdin As Long) Public Declare Function AD2status Li b "s2drv32s.dll" Alias "_AD2status@4" (B yVal lngdin As Long) As Long

PAGE 148

137 Appendix A (Continued) Public Declare Sub AD2reps Lib "s2dr v32s.dll" Alias "_AD2reps@8" (ByVal lngdin As Long, ByVal lngnreps As Long) Public Declare Function AD2clip Li b "s2drv32s.dll" Alias "_AD2clip@4" (ByVal lngdin As Long) As Long Public Declare Sub AD2gain Lib "s2dr v32s.dll" Alias "_AD2gain@12" (ByVal lngdin As Long, ByVal lngchan As Long, ByVal lnggain As Long) Public Declare Sub AD2sh Lib "s2drv32s.dll" Alias "_AD2sh @8" (ByVal lngdin As Long, ByVal lngoocode As Long) Public Declare Sub AD2sampsep Lib "s2drv32s.dll" Alias "_ AD2sampsep@8" (ByVal lngdin As Long, ByVal sngsep As Single) Public Declare Sub AD2xchans Lib "s2drv32s.dll" Alias "_ AD2xchans@8" (ByVal lngdin As Long, ByVal lngnchans As Long) Public Declare Sub AD2tgo Lib "s2drv32s.dll" Alias "_AD2tgo@4" (ByVal lngdin As Long) Public Declare Sub ADclear Lib "s2drv32s.dll" Alias "_ADclear@4" (ByVal lngdin As Long) Public Declare Sub ADgo Lib "s2drv32s.dll" Al ias "_ADgo@4" (ByVal lngdin As Long) Public Declare Sub ADtgo Lib "s2drv32s.dll" Al ias "_ADtgo@4" (ByVal lngdin As Long) Public Declare Sub ADstop Lib "s2drv32s.dll" Alias "_ADstop@4" (ByVal lngdin As Long) Public Declare Sub ADarm Li b "s2drv32s.dll" Alias "_ADarm@4" (ByVal lngdin As Long) Public Declare Sub ADmode Lib "s2drv32s .dll" Alias "_ADmode@8" (ByVal lngd in As Long, ByVal lngmcode As Long) Public Declare Sub ADsrate Lib "s2dr v32s.dll" Alias "_ADsrate@8" (ByVal l ngdin As Long, ByVal sngsrate As Single) Public Declare Function ADsperiod Lib "s2drv32s.dll" Alias "_ADsperiod@8" (ByV al lngdin As Long, ByVal sngsper As Single) As Single Public Declare Sub ADclkin Lib "s2drv32s.dll" Alias "_ADc lkin@8" (ByVal lngdin As Long, ByVal lngscode As Long) Public Declare Sub ADclkout Lib "s2dr v32s.dll" Alias "_ADclkout@8" (ByVal lngdin As Long, ByVal lngdcode As Long) Public Declare Sub ADnpts Lib "s2drv32s .dll" Alias "_ADnpts@8" (ByVal lngdi n As Long, ByVal lngnpts As Long) Public Declare Sub ADmtrig Li b "s2drv32s.dll" Alias "_ADmtrig@4" (ByVal lngdin As Long) Public Declare Sub ADstrig Li b "s2drv32s.dll" Alias "_ADstrig@4" (ByVal lngdin As Long) Public Declare Function ADstatus Lib "s2drv32s.dll" Alia s "_ADstatus@4" (ByVal lngdin As Long) As Long Public Declare Sub ADreps Lib "s2drv32s.dll" Alias "_ADrep s@8" (ByVal lngdin As Long, ByVal lngnreps As Long) Public Declare Function APlock Lib "s2drv32s.dll" Alias "_ APlock@8" (ByVal lngmtry As Long, ByVal lngfstart As Long) As Long Public Declare Sub APunlock Li b "s2drv32s.dll" Alias "_APunlock@ 4" (ByVal lngfend As Long) Public Declare Function APactive Lib "s2dr v32s.dll" Alias "_APactive@0" () As Long Public Declare Function APinit Lib "s 2drv32s.dll" Alias "_APinit@12" (ByVal lngdn As Long, ByVal lngimode As Long, ByVal lngapt As Long) As Long Public Declare Sub CG1go Lib "s2drv32s.dll" Alias "_CG1go@4" (ByVal lngdin As Long) Public Declare Sub CG1stop Li b "s2drv32s.dll" Alias "_CG1stop@4" (ByVal lngdin As Long) Public Declare Sub CG1reps Lib "s2dr v32s.dll" Alias "_CG1reps@8" (ByVal lngdin As Long, ByVal lngreps As Long) Public Declare Sub CG1trig Lib "s2drv32s .dll" Alias "_CG1trig@8" (ByVal lngdi n As Long, ByVal lngttype As Long) Public Declare Sub CG1period Lib "s2drv32s.dll" Alias "_ CG1period@8" (ByVal lngdin As Long, ByVal sngperiod As Single) Public Declare Sub CG1pulse Lib "s2dr v32s.dll" Alias "_CG1pulse@12" (ByVal lngdin As Long, ByVal sngon_t As Single, ByVal sngoff_t As Single) Public Declare Function CG1active Lib "s2drv32s.dll" Alia s "_CG1active@4" (ByVal lngdin As Long) As Long Public Declare Sub CG1patch Lib "s2dr v32s.dll" Alias "_CG1patch@8" (ByVal lngdin As Long, ByVal lngpcode As Long) Public Declare Sub CG1tgo Lib "s2drv32s.dll" Alias "_CG1tgo@4" (ByVal lngdin As Long) Public Declare Sub DB4clear Lib "s2drv32s.dll" Alias "_DB4clear@4" (ByVal lngdin As Long) Public Declare Function DB4setgain Lib "s2drv32s.dll" Al ias "_DB4setgain@12" (ByVal lngdin As Long, ByVal lngchan As Long, ByVal sngga in As Single) As Single Public Declare Function DB4selgain Lib "s2drv32s.dll" Al ias "_DB4selgain@12" (ByVal lngdin As Long, ByVal lngchan As Long, ByVal lnggs As Long) As Single

PAGE 149

138 Appendix A (Continued) Public Declare Function DB4setfilt Li b "s2drv32s.dll" Alias "_DB4setfilt@16" (ByVal lngdin As Long, ByVal lngchan As Long, ByVal lngftype As L ong, ByVal sngffreq As Single) As Single Public Declare Function DB4selfilt Li b "s2drv32s.dll" Alias "_DB4selfilt@16" (ByVal lngdin As Long, ByVal lngchan As Long, ByVal lngftype As Long, ByVal lngfs As Long) As Single Public Declare Sub DB4userfilt Lib "s2drv32s.dll" Alias "_ DB4userfilt@16" (ByVal lngdin As Long, ByVal lngchan As Long, ByVal lngfn As Long, ByRef sngcoef As Single) Public Declare Sub DB4setIT Lib "s2dr v32s.dll" Alias "_DB4setIT@12" (ByVal lngdin As Long, ByVal lngchan As Long, ByVal lngit As Long) Public Declare Sub DB4nchan Lib "s2dr v32s.dll" Alias "_DB4nchan@8" (ByVal lngdin As Long, ByVal lngnc As Long) Public Declare Sub DB4setTS Lib "s2drv32s.dll" Alias "_DB 4setTS@12" (ByVal lngdin As Long, ByVal sngamp As Single, ByVal sngfreq As Single) Public Declare Sub DB4onTS Lib "s2drv32s.dll" Alias "_DB4onTS@4" (ByVal lngdin As Long) Public Declare Sub DB4offTS Lib "s2drv32s.dll" Alias "_DB4offTS@4" (ByVal lngdin As Long) Public Declare Sub DB4startIM Lib "s2drv32s.dll" Alias "_DB4startIM@8" (B yVal lngdin As Long, ByVal lngchan As Long) Public Declare Sub DB4stopIM Lib "s2drv32s.dll" Alias "_DB4stopIM@4" (ByVal lngdin As Long) Public Declare Function DB4readIM Li b "s2drv32s.dll" Alias "_DB4readIM@8" (ByVal lngdin As Long, ByVal lngpc As Long) As Long Public Declare Function DB4getclip Lib "s2drv32s.dll" Alia s "_DB4getclip@4" (ByVal lngdin As Long) As Long Public Declare Function DB4getstat Lib "s2drv32s.dll" Alia s "_DB4getstat@4" (ByVal lngdin As Long) As Long Public Declare Sub DB4powdown Li b "s2drv32s.dll" Alias "_DB4powdown@4" (ByVal lngdin As Long) Public Declare Function DB4impscan Lib "s2drv32s.dll" Alias "_DB4impscan @8" (ByVal lngdin As Long, ByVal lngtochan As Long) As Long Public Declare Function DB4getgain Li b "s2drv32s.dll" Alias "_DB4getgain@ 12" (ByVal lngdin As Long, ByVal lngchan As Long, ByRef l ngsel As Long) As Single Public Declare Function DB4getfilt Li b "s2drv32s.dll" Alias "_DB4getfilt@16" (ByVal lngdin As Long, ByVal lngchan As Long, ByVal lngft As Long, ByRef lngsel As Long) As Single Public Declare Function DB4getIT Lib "s2drv32s.dll" Alias "_DB4getIT@8" (ByVal lngdin As Long, ByVal lngchan As Long) As Long Public Declare Function DB 4getchmode Lib "s2drv32s.dll" Alias "_DB4getc hmode@4" (ByVal lngdin As Long) As Long Public Declare Function DB4getmud Li b "s2drv32s.dll" Alias "_DB4getmud@4" (ByVal lngdin As Long) As Long Public Declare Function DB4getconst Lib "s2drv32s.dll" Alias "_DB4getconst@ 8" (ByVal lngcc As Long, ByVal lngsel As Long) As Long Public Declare Sub DD1clear Lib "s2drv32s.dll" Alias "_DD1clear@4" (ByVal lngdin As Long) Public Declare Sub DD1go Lib "s2drv32s.dll" Alias "_DD1go@4" (ByVal lngdin As Long) Public Declare Sub DD1stop Lib "s2drv32s.dll" A lias "_DD1stop@4" (ByVal lngdin As Long) Public Declare Sub DD1arm Lib "s2drv32s.dll" A lias "_DD1arm@4" (ByVal lngdin As Long) Public Declare Sub DD1mode Lib "s2drv32s.dll" Alias "_DD1mode@8" (ByVal lngdin As Long, ByVal lngmcode As Long) Public Declare Sub DD1srate Lib "s2drv32s.dll" Alias "_DD1 srate@8" (ByVal lngdin As Long, ByVal sngsrate As Single) Public Declare Function DD1speriod Lib "s2drv32s.dll" Alias "_DD1speriod@8" (ByV al lngdin As Long, ByVal sngsper As Single) As Single Public Declare Sub DD1clkin Lib "s2dr v32s.dll" Alias "_DD1clkin@8" (ByVal lngdin As Long, ByVal lngscode As Long) Public Declare Sub DD1clkout Lib "s2drv32s.dll" Alias "_DD1 clkout@8" (ByVal lngdin As Long, ByVal lngdcode As Long) Public Declare Sub DD1npts Lib "s2drv32s.dll" Alias "_DD 1npts@8" (ByVal lngdin As Long, ByVal lngnpts As Long) Public Declare Sub DD1mtrig Lib "s2drv32s.dll" Alias "_DD1mtrig@4" (ByVal lngdin As Long) Public Declare Sub DD1strig Lib "s2drv32s.dll" Alias "_DD1strig@4" (ByVal lngdin As Long) Public Declare Function DD1status Li b "s2drv32s.dll" Alias "_DD1status@4" (B yVal lngdin As Long) As Long

PAGE 150

139 Appendix A (Continued) Public Declare Sub DD1reps Lib "s2dr v32s.dll" Alias "_DD1reps@8" (ByVal lngdin As Long, ByVal lngnreps As Long) Public Declare Function DD1clip Li b "s2drv32s.dll" Alias "_DD1clip@4" (ByVal lngdin As Long) As Long Public Declare Sub DD1clipon Lib "s2drv32s.dll" Alias "_DD1clipon@4" (ByVal lngdin As Long) Public Declare Sub DD1echo Lib "s2drv32s.dll" Alias "_DD1echo@4" (ByVal lngdin As Long) Public Declare Sub DD1tgo Lib "s2drv32s.dll" Alias "_DD1tgo@4" (ByVal lngdin As Long) Public Declare Sub DA1clear Lib "s2drv32s.dll" Alias "_DA1clear@4" (ByVal lngdin As Long) Public Declare Sub DA1go Lib "s2drv32s.dll" Alias "_DA1go@4" (ByVal lngdin As Long) Public Declare Sub DA1stop Lib "s2drv32s.dll" A lias "_DA1stop@4" (ByVal lngdin As Long) Public Declare Sub DA1arm Lib "s2drv32s.dll" A lias "_DA1arm@4" (ByVal lngdin As Long) Public Declare Sub DA1mode Lib "s2drv32s.dll" Alias "_DA1mode@8" (ByVal lngdin As Long, ByVal lngmcode As Long) Public Declare Sub DA1srate Lib "s2drv32s.dll" Alias "_DA1 srate@8" (ByVal lngdin As Long, ByVal sngsrate As Single) Public Declare Function DA1speriod Lib "s2drv32s.dll" Alias "_DA1speriod@8" (ByV al lngdin As Long, ByVal sngsper As Single) As Single Public Declare Sub DA1clkin Lib "s2dr v32s.dll" Alias "_DA1clkin@8" (ByVal lngdin As Long, ByVal lngscode As Long) Public Declare Sub DA1clkout Lib "s2drv32s.dll" Alias "_DA1 clkout@8" (ByVal lngdin As Long, ByVal lngdcode As Long) Public Declare Sub DA1npts Lib "s2drv32s.dll" Alias "_DA 1npts@8" (ByVal lngdin As Long, ByVal lngnpts As Long) Public Declare Sub DA1mtrig Lib "s2drv32s.dll" Alias "_DA1mtrig@4" (ByVal lngdin As Long) Public Declare Sub DA1strig Lib "s2drv32s.dll" Alias "_DA1strig@4" (ByVal lngdin As Long) Public Declare Function DA1status Li b "s2drv32s.dll" Alias "_DA1status@4" (B yVal lngdin As Long) As Long Public Declare Sub DA1reps Lib "s2dr v32s.dll" Alias "_DA1reps@8" (ByVal lngdin As Long, ByVal lngnreps As Long) Public Declare Function DA1clip Li b "s2drv32s.dll" Alias "_DA1clip@4" (ByVal lngdin As Long) As Long Public Declare Sub DA1clipon Lib "s2drv32s.dll" Alias "_DA1clipon@4" (ByVal lngdin As Long) Public Declare Sub DA1tgo Lib "s2drv32s.dll" Alias "_DA1tgo@4" (ByVal lngdin As Long) Public Declare Sub DA3clear Lib "s2drv32s.dll" Alias "_DA3clear@4" (ByVal lngdin As Long) Public Declare Sub DA3go Lib "s2drv32s.dll" Alias "_DA3go@4" (ByVal lngdin As Long) Public Declare Sub DA3stop Lib "s2drv32s.dll" A lias "_DA3stop@4" (ByVal lngdin As Long) Public Declare Sub DA3arm Lib "s2drv32s.dll" A lias "_DA3arm@4" (ByVal lngdin As Long) Public Declare Sub DA3mode Lib "s2drv32s.dll" Alias "_DA3mode@8" (ByVal lngdin As Long, ByVal lngcmask As Long) Public Declare Sub DA3srate Lib "s2drv32s.dll" Alias "_DA3 srate@8" (ByVal lngdin As Long, ByVal sngsrate As Single) Public Declare Function DA3speriod Lib "s2drv32s.dll" Alias "_DA3speriod@8" (ByV al lngdin As Long, ByVal sngsper As Single) As Single Public Declare Sub DA3clkin Lib "s2dr v32s.dll" Alias "_DA3clkin@8" (ByVal lngdin As Long, ByVal lngscode As Long) Public Declare Sub DA3clkout Lib "s2drv32s.dll" Alias "_DA3 clkout@8" (ByVal lngdin As Long, ByVal lngdcode As Long) Public Declare Sub DA3npts Lib "s2drv32s.dll" Alias "_DA 3npts@8" (ByVal lngdin As Long, ByVal lngnpts As Long) Public Declare Sub DA3mtrig Lib "s2drv32s.dll" Alias "_DA3mtrig@4" (ByVal lngdin As Long) Public Declare Sub DA3strig Lib "s2drv32s.dll" Alias "_DA3strig@4" (ByVal lngdin As Long) Public Declare Function DA3status Li b "s2drv32s.dll" Alias "_DA3status@4" (B yVal lngdin As Long) As Long Public Declare Sub DA3reps Lib "s2dr v32s.dll" Alias "_DA3reps@8" (ByVal lngdin As Long, ByVal lngnreps As Long) Public Declare Function DA3clip Li b "s2drv32s.dll" Alias "_DA3clip@4" (ByVal lngdin As Long) As Long Public Declare Sub DA3clipon Lib "s2drv32s.dll" Alias "_DA3clipon@4" (ByVal lngdin As Long) Public Declare Sub DA3tgo Lib "s2drv32s.dll" Alias "_DA3tgo@4" (ByVal lngdin As Long)

PAGE 151

140 Appendix A (Continued) Public Declare Sub DA3setslew Lib "s2drv32s.dll" Alias "_DA3 setslew@8" (ByVal lngdin As Long, ByVal lngslcode As Long) Public Declare Sub DA3zero Lib "s2drv32s.dll" A lias "_DA3zero@4" (ByVal lngdin As Long) Public Declare Sub DAclear Lib "s2drv32s.dll" Alias "_DAclear@4" (ByVal lngdin As Long) Public Declare Sub DAgo Lib "s2drv32s.dll" Al ias "_DAgo@4" (ByVal lngdin As Long) Public Declare Sub DAtgo Lib "s2drv32s.dll" Al ias "_DAtgo@4" (ByVal lngdin As Long) Public Declare Sub DAstop Lib "s2drv32s.dll" Alias "_DAstop@4" (ByVal lngdin As Long) Public Declare Sub DAarm Li b "s2drv32s.dll" Alias "_DAarm@4" (ByVal lngdin As Long) Public Declare Sub DAmode Lib "s2drv32s .dll" Alias "_DAmode@8" (ByVal lngd in As Long, ByVal lngmcode As Long) Public Declare Sub DAsrate Lib "s2dr v32s.dll" Alias "_DAsrate@8" (ByVal l ngdin As Long, ByVal sngsrate As Single) Public Declare Function DAsperiod Lib "s2drv32s.dll" Alias "_DAsperiod@8" (ByV al lngdin As Long, ByVal sngsper As Single) As Single Public Declare Sub DAclkin Lib "s2drv32s.dll" Alias "_DAc lkin@8" (ByVal lngdin As Long, ByVal lngscode As Long) Public Declare Sub DAclkout Lib "s2dr v32s.dll" Alias "_DAclkout@8" (ByVal lngdin As Long, ByVal lngdcode As Long) Public Declare Sub DAnpts Lib "s2drv32s .dll" Alias "_DAnpts@8" (ByVal lngdi n As Long, ByVal lngnpts As Long) Public Declare Sub DAmtrig Li b "s2drv32s.dll" Alias "_DAmtrig@4" (ByVal lngdin As Long) Public Declare Sub DAstrig Li b "s2drv32s.dll" Alias "_DAstrig@4" (ByVal lngdin As Long) Public Declare Function DAstatus Lib "s2drv32s.dll" Alia s "_DAstatus@4" (ByVal lngdin As Long) As Long Public Declare Sub DAreps Lib "s2drv32s.dll" Alias "_DArep s@8" (ByVal lngdin As Long, ByVal lngnreps As Long) Public Declare Sub ET1clear Lib "s2drv32s.dll" A lias "_ET1clear@4" (ByVal lngdin As Long) Public Declare Sub ET1mult Li b "s2drv32s.dll" Alias "_ET1mult@4" (ByVal lngdin As Long) Public Declare Sub ET1compare Lib "s2drv32s.dll" A lias "_ET1compare@4" (ByVal lngdin As Long) Public Declare Sub ET1evcount Lib "s2drv32s.dll" Alias "_ET1evcount@4" (ByVal lngdin As Long) Public Declare Sub ET1go Lib "s2drv32s.dll" Alias "_ET1go@4" (ByVal lngdin As Long) Public Declare Sub ET1stop Lib "s2drv32s.dll" A lias "_ET1stop@4" (ByVal lngdin As Long) Public Declare Function ET1ac tive Lib "s2drv32s.dll" Alias "_ET1active@ 4" (ByVal lngdin As Long) As Long Public Declare Sub ET1blocks Lib "s 2drv32s.dll" Alias "_ET1blocks@8" (ByVal lngdin As Long, ByVal lngnblocks As Long) Public Declare Sub ET1xlogic Lib "s2dr v32s.dll" Alias "_ET1xlogic@8" (ByVal lngdin As Long, ByVal lnglmask As Long) Public Declare Function ET1report Lib "s2drv32s.dll" Al ias "_ET1report@4" (ByVal lngdin As Long) As Long Public Declare Function ET1read32 Lib "s2drv32s.dll" Alia s "_ET1read32@4" (ByVal lngdin As Long) As Long Public Declare Function ET1read16 Lib "s2drv32s.dll" Alia s "_ET1read16@4" (ByVal lngdin As Long) As Long Public Declare Sub ET1drop Lib "s2drv32s.dll" Alias "_ET1drop@4" (ByVal lngdin As Long) Public Declare Sub HTIclear Li b "s2drv32s.dll" Alias "_HTIclear@4" (ByVal lngdin As Long) Public Declare Sub HTIgo Lib "s2drv32s.dll" Al ias "_HTIgo@4" (ByVal lngdin As Long) Public Declare Sub HTIstop Lib "s2drv32s.dll" Alias "_HTIstop@4" (ByVal lngdin As Long) Public Declare Sub HTIreadAER Lib "s2drv32s.dll" Alias "_ HTIreadAER@16" (ByVal lngd in As Long, ByRef sngaz As Single, ByRef sngel As Single, ByRef sngroll As Single) Public Declare Sub HTIreadXYZ Lib "s 2drv32s.dll" Alias "_HTIreadXYZ@16" (B yVal lngdin As Long, ByRef sngx As Single, ByRef sngy As Si ngle, ByRef sngz As Single) Public Declare Sub HTIwriteraw Lib "s2drv32s.dll" Alia s "_HTIwriteraw@8" (ByVal lngdin As Long, ByRef bytcmdstr As Byte) Public Declare Sub HTIsetraw Lib "s 2drv32s.dll" Alias "_HTIsetraw@10" (ByV al lngdin As Long, ByVal lngnbytes As Long, ByVal bytc1 As Byte, ByVal bytc2 As Byte) Public Declare Sub HTIreadraw Lib "s2drv32s.dll" Alias "_HTIreadraw@12" (ByVal lngdin As Long, ByVal lngmaxchars As Long, ByRef bytbuf As Byte) Public Declare Sub HTIboresight Lib "s2drv32s.dll" Alias "_HTIboresi ght@4" (ByVal lngdin As Long) Public Declare Sub HTIreset Lib "s2drv32s.dll" A lias "_HTIreset@4" (ByVal lngdin As Long) Public Declare Sub HTIshowparam Li b "s2drv32s.dll" Alias "_HTIshowparam@ 8" (ByVal lngdin As Long, ByVal lngpid As Long)

PAGE 152

141 Appendix A (Continued) Public Declare Function HTIreadone Lib "s2drv32s.dll" Alias "_HTIreadone @8" (ByVal lngdin As Long, ByVal lngpid As Long) As Single Public Declare Sub HTIfastAER Lib "s2drv32s.dll" Alias "_ HTIfastAER@16" (ByVal lngdin As Long, ByRef lngaz As Long, ByRef lngel As Long, ByRef lngroll As Long) Public Declare Sub HTIfastXYZ Lib "s2dr v32s.dll" Alias "_HTIfastXYZ@16" (ByVal lngdin As Long, ByRef lngx As Long, ByRef lngy As Long, ByRef lngz As Long) Public Declare Function HTIgetecode Lib "s2drv32s.dll" Alias "_HTIgetecode@4 (ByVal lngdin As Long) As Long Public Declare Sub HTIisISO Lib "s2drv32s.dll" Alias "_HTIisI SO@4" (ByVal lngdin As Long) Public Declare Function LoadHRTFFile Lib "s2drv32s.dll" Alias "_LoadHRTFFile@8 (ByRef hrtf As Variant, ByRef fname As Byte) As Long Public Declare Sub MC1clear Lib "s2drv32s.dll" Alias "_MC1cle ar@4" (ByVal lngdin As Long) Public Declare Sub MC1pos Lib "s2drv32s .dll" Alias "_MC1pos@8" (ByVal lngdin As Long, ByVal lngpos As Long) Public Declare Sub MC1vel Lib "s2drv32s.d ll" Alias "_MC1vel@12" (ByVal lngdin As Long, ByVal lngvel As Long, ByVal lngperm As Long) Public Declare Sub MC1acc Lib "s2drv32s .dll" Alias "_MC1acc@12" (ByVal lngdi n As Long, ByVal lngacc As Long, ByVal lngperm As Long) Public Declare Sub MC1move Li b "s2drv32s.dll" Alias "_MC1move @4" (ByVal lngdin As Long) Public Declare Sub MC1syncmove Lib "s2drv32s.dll" Alias "_MC1syncmove@4" (ByVal lngdin As Long) Public Declare Sub MC1gear Lib "s2dr v32s.dll" Alias "_MC1gear@8" (ByVal lngdin As Long, ByVal snggratio As Single) Public Declare Sub MC1home Lib "s2drv32s.dll" Alias "_MC1home@8" (ByV al lngdin As Long, ByVal lnghome As Long) Public Declare Sub MC1boundry Lib "s2drv32s.dll" Alia s "_MC1boundry@12" (ByVal lngdin As Long, ByVal lngminp As Long, ByVal lngmaxp As Long) Public Declare Sub MC1reference Lib "s2drv32s.dll" Alia s "_MC1reference@16" (ByVal lngdin As Long, ByVal lngrefmode As Long, ByVal lngsrchvel As Long, ByVal lngrefpos As Long) Public Declare Sub MC1filter Lib "s2dr v32s.dll" Alias "_MC1filter@12" (ByVal lngdin As Long, ByVal lngpar As Long, ByVal lngv As Long) Public Declare Function MC1status Li b "s2drv32s.dll" Alias "_MC1status@4" (ByVal lngdin As Long) As Long Public Declare Function MC1curpos Li b "s2drv32s.dll" Alias "_MC1curpos@4" (ByVal lngdin As Long) As Long Public Declare Function MC1curvel Lib "s2drv32s.dll" Alia s "_MC1curvel@4" (ByVal lngdin As Long) As Long Public Declare Sub MC1go Lib "s2drv32s.dll" Alias "_MC1go@4" (ByVal lngdin As Long) Public Declare Sub MC1stop Lib "s2drv32s.dll" Alias "_MC1stop@4" (ByVal lngdin As Long) Public Declare Sub MC1kill Li b "s2drv32s.dll" Alias "_MC1kill@4" (ByVal lngdin As Long) Public Declare Sub MC1zero Lib "s2drv32s.dll" Alias "_MC1zero@4" (ByVal lngdin As Long) Public Declare Sub MC1gohome Lib "s2drv32s.dll" A lias "_MC1gohome@4" (ByVal lngdin As Long) Public Declare Sub MC1goref Lib "s2drv32s.dll" Alias "_MC1goref@4" (ByVal lngdin As Long) Public Declare Function MC1getparam Lib "s2drv32s.dll" Alias "_MC1getparam@8" (ByVal lngdin As Long, ByVal lngparcode As Long) As Long Public Declare Sub PA4atten Lib "s2dr v32s.dll" Alias "_PA4atten@8" (ByVal lngdin As Long, ByVal sngatten As Single) Public Declare Sub PA4setup Lib "s2dr v32s.dll" Alias "_PA4setup@12" (ByVal lngdin As Long, ByVal sngbase As Single, ByVal sngstep As Single) Public Declare Sub PA4mute Li b "s2drv32s.dll" Alias "_PA4mute@ 4" (ByVal lngdin As Long) Public Declare Sub PA4nomute Lib "s2drv32s.dll" A lias "_PA4nomute@4" (ByVal lngdin As Long) Public Declare Sub PA4ac Lib "s2drv32s.dll" Al ias "_PA4ac@4" (ByVal lngdin As Long) Public Declare Sub PA4dc Li b "s2drv32s.dll" Alias "_PA4dc@4" (ByVal lngdin As Long) Public Declare Sub PA4man Li b "s2drv32s.dll" Alias "_PA4man@4" (ByVal lngdin As Long) Public Declare Sub PA4auto Lib "s2drv32s.dll" A lias "_PA4auto@4" (ByVal lngdin As Long) Public Declare Function PA4read Li b "s2drv32s.dll" Alias "_PA4read@4" (ByVal lngdin As Long) As Single Public Declare Sub PI2clear Lib "s2drv32s.dll" Alias "_PI2cl ear@4" (ByVal lngdin As Long) Public Declare Sub PI2outs Lib "s2drv32s.dll" Alias "_PI 2outs@8" (ByVal lngdin As Long, ByVal lngomask As Long) Public Declare Sub PI2logic Lib "s2drv32s.dll" Alias "_PI 2logic@12" (ByVal lngdin As Long, ByVal lnglogout As Long, ByVal lnglogin As Long)

PAGE 153

142 Appendix A (Continued) Public Declare Sub PI2write Lib "s2dr v32s.dll" Alias "_PI2write@8" (ByVal ln gdin As Long, ByVal lngbitcode As Long) Public Declare Function PI2read Lib "s2drv32s.dll" A lias "_PI2read@4" (ByVal lngdin As Long) As Long Public Declare Sub PI2debounce Lib "s2drv32s.dll" Alia s "_PI2debounce@8" (ByVal lngdin As Long, ByVal lngdbtime As Long) Public Declare Sub PI2autotime Lib "s 2drv32s.dll" Alias "_PI2autotime@12" (ByV al lngdin As Long, ByVal lngbitn As Long, ByVal lngdur As Long) Public Declare Sub PI2setbit Lib "s2dr v32s.dll" Alias "_PI2setbit@8" (ByVal lngdin As Long, ByVal lngbitmask As Long) Public Declare Sub PI2clrbit Lib "s2dr v32s.dll" Alias "_PI2clrbit@8" (ByVal lngdin As Long, ByVal lngbitmask As Long) Public Declare Sub PI2zer otime Lib "s2drv32s.dll" Alias "_PI2zero time@8" (ByVal lngdin As Long, ByVal lngbitmask As Long) Public Declare Function PI2ge ttime Lib "s2drv32s.dll" Alias "_PI2gettime@8" (ByVal lngdin As Long, ByVal lngbitn As Long) As Long Public Declare Sub PI2latch Lib "s2dr v32s.dll" Alias "_PI2latch@8" (ByVal lngdin As Long, ByVal lnglmask As Long) Public Declare Sub PI2map Lib "s2drv32s .dll" Alias "_PI2map@12" (ByVal lngdi n As Long, ByVal lngbitn As Long, ByVal lngmmask As Long) Public Declare Sub PI2outsX Lib "s 2drv32s.dll" Alias "_PI2outsX@8" (ByVal lngdin As Long, ByVal lngpnum As Long) Public Declare Sub PI2writeX Lib "s 2drv32s.dll" Alias "_PI2writeX@12" (ByV al lngdin As Long, ByVal lngpnum As Long, ByVal lngval As Long) Public Declare Function PI2readX Lib "s2drv32s.dll" Alias "_PI2readX@8" (ByVal lngdin As Long, ByVal lngpnum As Long) As Long Public Declare Sub PI2toggle Lib "s2drv32s.dll" Alias "_PI 2toggle@8" (ByVal lngdin As Long, ByVal lngtmask As Long) Public Declare Sub PF1type Lib "s2drv32s.dll" Alias "_PF1 type@12" (ByVal lngdin As Long, ByVal lngtype As Long, ByVal lngntaps As Long) Public Declare Sub PF1begin Lib "s2drv32s.dll" Alias "_PF1begin@4" (ByVal lngdin As Long) Public Declare Sub PF1bypass Lib "s2drv32s.dll" Alias "_PF1bypass@4" (ByVal lngdin As Long) Public Declare Sub PF1nopass Li b "s2drv32s.dll" Alias "_PF1nopass@ 4" (ByVal lngdin As Long) Public Declare Sub PF1b16 Lib "s2drv32s.d ll" Alias "_PF1b16@8" (ByVal lngdin As Long, ByVal lngbcoe As Long) Public Declare Sub PF1a16 Lib "s2drv32s.dll" Alias "_PF1a 16@8" (ByVal lngdin As Long, ByVal lngacoe As Long) Public Declare Sub PF1b32 Lib "s2drv32s.d ll" Alias "_PF1b32@8" (ByVal lngdin As Long, ByVal lngbcoe As Long) Public Declare Sub PF1a32 Lib "s2drv32s.dll" Alias "_PF1a 32@8" (ByVal lngdin As Long, ByVal lngacoe As Long) Public Declare Sub PF1freq Lib "s2drv32s.dll" Alias "_PF1fre q@12" (ByVal lngdin As Long, ByVal lnglpfreq As Long, ByVal lnghpfreq As Long) Public Declare Sub PF1gain Lib "s2drv32s .dll" Alias "_PF1gain@12" (ByVal lngdin As Long, ByVal lnglpgain As Long, ByVal lnghpgain As Long) Public Declare Sub PF1fir16 Lib "s2drv32s.dll" Alias "_PF1 fir16@12" (ByVal lngdin As Long, ByRef sngbcoes As Single, ByVal lngntaps As Long) Public Declare Sub PF1fir32 Lib "s2drv32s.dll" Alias "_PF1 fir32@12" (ByVal lngdin As Long, ByRef sngbcoes As Single, ByVal lngntaps As Long) Public Declare Sub PF1iir32 Lib "s2drv32s.dll" Alias "_PF1 iir32@16" (ByVal lngdin As Long, ByRef sngbcoes As Single, ByRef sngacoes As Si ngle, ByVal lngntaps As Long) Public Declare Sub PF1biq16 Lib "s2dr v32s.dll" Alias "_PF1biq16@16" (ByVal lngdin As Long, ByRef sngbcoes As Single, ByRef sngacoes As Si ngle, ByVal lngnbiqs As Long) Public Declare Sub PF1biq32 Lib "s2dr v32s.dll" Alias "_PF1biq32@16" (ByVal lngdin As Long, ByRef sngbcoes As Single, ByRef sngacoes As Si ngle, ByVal lngnbiqs As Long) Public Declare Sub PM1clear Lib "s2drv32s.dll" Alias "_PM1clear@4" (ByVal lngdin As Long) Public Declare Sub PM1config Lib "s 2drv32s.dll" Alias "_PM1config@8" (ByV al lngdin As Long, ByVal lngconfig As Long) Public Declare Sub PM1mode Lib "s2drv32s.dll" Alias "_PM1mode@8" (ByV al lngdin As Long, ByVal lngcmode As Long)

PAGE 154

143 Appendix A (Continued) Public Declare Sub PM1spkon Lib "s2dr v32s.dll" Alias "_PM1spkon@8" (ByVal lngdin As Long, ByVal lngsn As Long) Public Declare Sub PM1spkoff Lib "s2dr v32s.dll" Alias "_PM1spkoff@8" (ByVal lngdin As Long, ByVal lngsn As Long) Public Declare Sub PD1clear Lib "s2drv32s.dll" Alias "_PD1clear@4" (ByVal lngdin As Long) Public Declare Sub PD1go Lib "s2drv32s.dll" Alias "_PD1go@4" (ByVal lngdin As Long) Public Declare Sub PD1stop Li b "s2drv32s.dll" Alias "_PD1stop@ 4" (ByVal lngdin As Long) Public Declare Sub PD1arm Li b "s2drv32s.dll" Alias "_PD1arm@4" (ByVal lngdin As Long) Public Declare Sub PD1nstrms Lib "s 2drv32s.dll" Alias "_PD1nstrms@12" (ByV al lngdin As Long, ByVal lngnDAC As Long, ByVal lngnADC As Long) Public Declare Sub PD1srate Lib "s2dr v32s.dll" Alias "_PD1srate@8" (ByVal ln gdin As Long, ByVal sngsrate As Single) Public Declare Function PD1speriod Lib "s2drv32s.dll" Al ias "_PD1speriod@8" (ByVal lngdin As Long, ByVal sngsper As Single) As Single Public Declare Sub PD1clkin Lib "s2drv32s.dll" Alias "_PD 1clkin@8" (ByVal lngdin As Long, ByVal lngscode As Long) Public Declare Sub PD1clkout Lib "s2dr v32s.dll" Alias "_PD1clkout@8" (ByVal lngdin As Long, ByVal lngdcode As Long) Public Declare Sub PD1npts Lib "s2drv32s.d ll" Alias "_PD1npts@8" (ByVal lngdin As Long, ByVal lngnpts As Long) Public Declare Sub PD1mtrig Lib "s2drv32s.dll" Alias "_PD1mtr ig@4" (ByVal lngdin As Long) Public Declare Sub PD1strig Li b "s2drv32s.dll" Alias "_PD1strig@4" (ByVal lngdin As Long) Public Declare Function PD1status Li b "s2drv32s.dll" Alias "_PD1status@4" (ByVal lngdin As Long) As Long Public Declare Sub PD1reps Lib "s2drv32s.dll" Alias "_PD 1reps@8" (ByVal lngdin As Long, ByVal lngnreps As Long) Public Declare Sub PD1tgo Lib "s2drv32s.dll" Alias "_PD1tgo@4" (ByVal lngdin As Long) Public Declare Sub PD1zero Li b "s2drv32s.dll" Alias "_PD1zero@4" (ByVal lngdin As Long) Public Declare Sub PD1xcmd Lib "s2dr v32s.dll" Alias "_PD1xcmd@16" (ByVal lngdin As Long, ByRef intv As Integer, ByVal lngn As Long, ByRef bytcaller As Byte) Public Declare Sub PD1xdata Lib "s2dr v32s.dll" Alias "_PD1xdata@8" (ByVal lngdin As Long, ByVal lngdata_id As Long) Public Declare Sub PD1xboot Li b "s2drv32s.dll" Alias "_PD1xboot@4" (ByVal lngdin As Long) Public Declare Function PD 1checkDSPS Lib "s2drv32s.dll" Alias "_PD1ch eckDSPS@4" (ByVal lngdin As Long) As Long Public Declare Function PD1what Lib "s2drv32s.dll" Alias "_PD1what@16" (ByVal lngdin As Long, ByVal lngdcode As Long, ByVal lngdnum As Long, By Ref bytcaller As Byte) As Long Public Declare Sub PD1mode Lib "s2drv32s.dll" Alias "_PD1mode@8" (ByV al lngdin As Long, ByVal lngmode As Long) Public Declare Function PD1export Lib "s2drv32s.dll" Alia s "_PD1export@8" (ByVal lngvarcode As Long, ByRef lngindicies As Long) As Long Public Declare Sub PD1resetRTE Li b "s2drv32s.dll" Alias "_PD1resetRT E@4" (ByVal lngdin As Long) Public Declare Sub PD1nstrmsRTE Lib "s2drv32s.dll" Alia s "_PD1nstrmsRTE@12" (ByVal lngdin As Long, ByVal lngnIC As Long, ByVal lngnOG As Long) Public Declare Sub PD1flushRTE Lib "s2drv32s.dll" Al ias "_PD1flushRTE@4" (ByVal lngdin As Long) Public Declare Sub PD1clrIO Lib "s2drv32s.dll" Alias "_PD1clrIO@4" (ByVal lngdin As Long) Public Declare Sub PD1setIO Lib "s2drv32s.dll" Alias "_PD 1setIO@20" (ByVal lngdin As Long, ByVal sngdt1 As Single, ByVal sngdt2 As Singl e, ByVal sngat1 As Single, ByVal sngat2 As Single) Public Declare Sub PD1clrDEL Lib "s2drv32s.dll" Alias "_ PD1clrDEL@20" (ByVal lngdin As Long, ByVal lngch1 As Long, ByVal lngch2 As Long, ByVal lngch3 As Long, ByVal lngch4 As Long) Public Declare Sub PD1setDEL Lib "s 2drv32s.dll" Alias "_PD1setDEL@12" (ByV al lngdin As Long, ByVal lngtap As Long, ByVal lngdly As Long) Public Declare Sub PD1latchDEL Li b "s2drv32s.dll" Alias "_PD1latchD EL@4" (ByVal lngdin As Long) Public Declare Sub PD1flushDEL Lib "s2drv32s.dll" Al ias "_PD1flushDEL@4" (ByVal lngdin As Long) Public Declare Sub PD1interpDEL Lib "s2drv32s.dll" Alia s "_PD1interpDEL@8" (ByVal lngdin As Long, ByVal lngifact As Long) Public Declare Sub PD1clrsched Lib "s2drv32s.dll" A lias "_PD1clrsched@4" (ByVal lngdin As Long)

PAGE 155

144 Appendix A (Continued) Public Declare Sub PD1addsimp Lib "s 2drv32s.dll" Alias "_PD1addsimp@12" (ByV al lngdin As Long, ByVal lngsrc As Long, ByVal lngdes As Long) Public Declare Sub PD1addmult Lib "s 2drv32s.dll" Alias "_PD1addmult@20" (ByV al lngdin As Long, ByRef lngsrc As Long, ByRef sngsf As Single, ByVal lngnsrcs As Long, By Val lngdes As Long) Public Declare Sub PD1specIB Lib "s 2drv32s.dll" Alias "_PD1specIB@12" (ByVal lngdin As Long, ByVal lngIBnum As Long, ByVal lngdesaddr As Long) Public Declare Sub PD1specOB Lib "s2drv32s.dll" Alias "_PD1specOB@12" (ByVal lngdin As Long, ByVal lngOBnum As Long, ByVal lngsrcaddr As Long) Public Declare Sub PD1idleDSP Lib "s2drv32s.dll" Alia s "_PD1idleDSP@8" (ByVal lngdin As Long, ByVal lngdmask As Long) Public Declare Sub PD1resetDSP Lib "s2drv32s.dll" Alias "_PD1resetDSP@8" (ByVal lngdin As Long, ByVal lngdmask As Long) Public Declare Sub PD1bypassDSP Lib "s2drv32s.dll" Alia s "_PD1bypassDSP@8" (ByVal lngdin As Long, ByVal lngdmask As Long) Public Declare Sub PD1lockDSP Li b "s2drv32s.dll" Alias "_PD1lockDSP@8" (ByVal lngdin As Long, ByVal lngdmask As Long) Public Declare Sub PD1interpDSP Lib "s2drv32s.dll" Alia s "_PD1interpDSP@12" (ByVal lngdin As Long, ByVal lngifact As Long, ByVal lngdmask As Long) Public Declare Sub PD1bootDSP Lib "s2drv32s.dll" Alias "_PD1bootDSP@12" (ByVal lngdin As Long, ByVal lngdmask As Long, ByRef bytfname As Byte) Public Declare Sub PD1syncall Li b "s2drv32s.dll" Alias "_PD1syncal l@4" (ByVal lngdin As Long) Public Declare Function PD1whatDEL Lib "s2drv32s.dll" Alias "_PD1whatD EL@4" (ByVal lngdin As Long) As Long Public Declare Function PD1whatIO Li b "s2drv32s.dll" Alias "_PD1whatIO@4" (ByVal lngdin As Long) As Long Public Declare Function PD1whatDSP Lib "s2drv32s.dll" Alias "_PD1whatDSP @8" (ByVal lngdin As Long, ByVal lngdn As Long) As Long Public Declare Function PreLoadRaw Lib "s2drv32s.dll" Alias "_PreLoadRaw@3 6" (ByVal lngdin As Long, ByVal lngdspn As Long, ByVal lngopmode As L ong, ByVal lngstype As Long, ByRef by tsrc_lm As Byte, ByRef bytsrc_r As Byte, ByVal sngsf_lm As Single, ByVal sngsf_r As Single, ByVal lnglock As Long) As Long Public Declare Function PreLoadHRTF Lib "s2drv32s.dll" Alias "_PreLoadHRTF@36" (ByVal lngdin As Long, ByVal lngdspn As Long, ByVal lngctype As Long, ByRef bytfname As Byte, By Val sngaz As Single, ByVal sngel As Single, ByVal sngsf_l As Single, ByVal sngsf_r As Single, ByVal lnglock As Long) As Long Public Declare Sub PushHRTF Lib "s2dr v32s.dll" Alias "_PushHRTF@20" (ByRef hrtf As Variant, ByVal faz As Single, ByVal fel As Single, ByVal lrs As Long, ByVal DBN As Long) Public Declare Sub PD1fixbug Li b "s2drv32s.dll" Alias "_PD1fixbug@4" (ByVal lngdin As Long) Public Declare Sub SW2on Lib "s2drv32s.dll" Alias "_SW2on@4" (ByVal lngdin As Long) Public Declare Sub SW2off Lib "s2drv32s.dll" Alias "_SW2off@4" (ByVal lngdin As Long) Public Declare Sub SW2ton Li b "s2drv32s.dll" Alias "_SW2ton@ 4" (ByVal lngdin As Long) Public Declare Sub SW2toff Li b "s2drv32s.dll" Alias "_SW2toff@4" (ByVal lngdin As Long) Public Declare Sub SW2rftime Lib "s 2drv32s.dll" Alias "_SW2rftime@8" (ByVal lngdin As Long, ByVal sngrftime As Single) Public Declare Sub SW2shape Lib "s2drv32s.dll" Alias "_SW2shape@8" (ByV al lngdin As Long, ByVal lngshcode As Long) Public Declare Sub SW2trig Lib "s2drv32s .dll" Alias "_SW2trig@8" (ByVal ln gdin As Long, ByVal lngtcode As Long) Public Declare Sub SW2dur Lib "s2drv32s .dll" Alias "_SW2dur@8" (ByVal lngdi n As Long, ByVal lngdur As Long) Public Declare Function SW2status Li b "s2drv32s.dll" Alias "_SW2status@4" (ByVal lngdin As Long) As Long Public Declare Sub SW2clear Lib "s2drv32s.dll" Alias "_SW2cle ar@4" (ByVal lngdin As Long) Public Declare Sub SD1go Lib "s2drv32s.dll" Alias "_SD1go@4" (ByVal lngdin As Long) Public Declare Sub SD1stop Li b "s2drv32s.dll" Alias "_SD1stop@ 4" (ByVal lngdin As Long) Public Declare Sub SD1use_enable Lib "s2drv32s.dll" Alias "_SD1use_enable@4" (ByVal lngdin As Long) Public Declare Sub SD1no_enable Li b "s2drv32s.dll" Alias "_SD1no_enable@ 4" (ByVal lngdin As Long) Public Declare Sub SD1hoop Lib "s2drv32s.dll" Alias "_ SD1hoop@28" (ByVal lngdin As Long, ByVal lngnum As Long, ByVal lngslope As Long, ByVal sngdly As Single, ByVal sngwidth As Single, ByVal sngupper As Single, ByVal snglower As Single)

PAGE 156

145 Appendix A (Continued) Public Declare Sub SD1numhoops Lib "s2drv32s.dll" Alia s "_SD1numhoops@8" (ByVal lngdin As Long, ByVal lngnh As Long) Public Declare Function SD1count Li b "s2drv32s.dll" Alias "_SD1count@4" (B yVal lngdin As Long) As Long Public Declare Sub SD1up Lib "s2drv32s.dll" Alias "_SD1up@ 8" (ByVal lngdin As Long, ByRef bytcbuf As Byte) Public Declare Sub SD1down Lib "s2dr v32s.dll" Alias "_SD1down@8" (ByVal lngdin As Long, ByRef bytcbuf As Byte) Public Declare Sub SS1clear Lib "s2drv32s.dll" A lias "_SS1clear@4" (ByVal lngdin As Long) Public Declare Sub SS1gainon Li b "s2drv32s.dll" Alias "_SS1gainon@ 4" (ByVal lngdin As Long) Public Declare Sub SS1gainoff Lib "s2drv32s.dll" Alias "_SS1gainoff@4" (ByVal lngdin As Long) Public Declare Sub SS1mode Lib "s2dr v32s.dll" Alias "_SS1mode@8" (ByVal ln gdin As Long, ByVal lngmcode As Long) Public Declare Sub SS1select Lib "s2dr v32s.dll" Alias "_SS1select@12" (ByVal lngdin As Long, ByVal lngchan As Long, ByVal lnginpn As Long) Public Declare Function S2in it Lib "s2drv32s.dll" Alias "_ S2init@12" (ByVal lngdn As Long, ByVal lngmode As Long, ByVal lngapt As Long) As Long Public Declare Sub S2close Lib "s 2drv32s.dll" Alias "_S2close@0" () Public Declare Sub TG6clear Lib "s2drv32s.dll" Alias "_TG6clear@4" (ByVal lngdin As Long) Public Declare Sub TG6arm Lib "s2dr v32s.dll" Alias "_TG6arm@8" (ByVal ln gdin As Long, ByVal lngsnum As Long) Public Declare Sub TG6go Lib "s2drv32s.dll" Alias "_TG6go@4" (ByVal lngdin As Long) Public Declare Sub TG6tgo Li b "s2drv32s.dll" Alias "_TG6tgo@4" (ByVal lngdin As Long) Public Declare Sub TG6stop Li b "s2drv32s.dll" Alias "_TG6stop@ 4" (ByVal lngdin As Long) Public Declare Sub TG6baserate Li b "s2drv32s.dll" Alias "_TG6baserate@8 (ByVal lngdin As Long, ByVal lngbrcode As Long) Public Declare Sub TG6new Lib "s2dr v32s.dll" Alias "_TG6new@16" (ByVal lngdin As Long, ByVal lngsnum As Long, ByVal lnglgth As Long, ByVal lngdmask As Long) Public Declare Sub TG6high Lib "s2drv32s .dll" Alias "_TG6high@20" (ByVal lngdin As Long, ByVal lngsnum As Long, ByVal lng_beg As Long, ByVal lng_ end As Long, ByVal lnghmask As Long) Public Declare Sub TG6low Lib "s2dr v32s.dll" Alias "_TG6low@20" (ByVal lngdin As Long, ByVal lngsnum As Long, ByVal lng_beg As Long, ByVal lng_ end As Long, ByVal lnglmask As Long) Public Declare Sub TG6value Lib "s2dr v32s.dll" Alias "_TG6value@20" (ByVal lngdin As Long, ByVal lngsnum As Long, ByVal lng_beg As Long, ByVal l ng_end As Long, ByVal lngval As Long) Public Declare Sub TG6dup Lib "s2drv32s .dll" Alias "_TG6dup@28" (ByVal lngd in As Long, ByVal lngsnum As Long, ByVal lngs_beg As Long, ByVal lngs_end As L ong, ByVal lngd_beg As Long, ByVal lngndups As Long, ByVal lngdmask As Long) Public Declare Sub TG6reps Lib "s2dr v32s.dll" Alias "_TG6reps@12" (ByVal lngdin As Long, ByVal lngrmode As Long, ByVal lngrcount As Long) Public Declare Function TG6status Li b "s2drv32s.dll" Alias "_TG6status@4" (ByVal lngdin As Long) As Long Public Declare Sub WG1on Lib "s2drv32s.dll" Alias "_WG1on@4" (ByVal lngdin As Long) Public Declare Sub WG1off Lib "s2drv32s.dll" Alias "_WG1off@4" (ByVal lngdin As Long) Public Declare Sub WG1clear Lib "s2drv32s.dll" Alias "_WG1cle ar@4" (ByVal lngdin As Long) Public Declare Sub WG1amp Lib "s2drv32s.dll" Alias "_ WG1amp@8" (ByVal lngdin As Long, ByVal sngamp As Single) Public Declare Sub WG1freq Lib "s2drv32s.dll" Alias "_WG 1freq@8" (ByVal lngdin As Long, ByVal sngfreq As Single) Public Declare Sub WG1swrt Lib "s2dr v32s.dll" Alias "_WG1swrt@8" (ByVal lngdin As Long, ByVal sngswrt As Single) Public Declare Sub WG1phase Lib "s2drv32s.dll" Alias "_ WG1phase@8" (ByVal lngdin As Long, ByVal sngphase As Single) Public Declare Sub WG1dc Lib "s2drv32s .dll" Alias "_WG1dc@8" (ByVal lngdin As Long, ByVal sngdc As Single) Public Declare Sub WG1shape Lib "s 2drv32s.dll" Alias "_WG1shape@8" (ByVal lngdin As Long, ByVal lngscon As Long) Public Declare Sub WG1dur Lib "s2dr v32s.dll" Alias "_WG1dur@8" (ByVal lngdin As Long, ByVal sngdur As Single) Public Declare Sub WG1rf Lib "s2drv32s.dll" Alias "_WG1 rf@8" (ByVal lngdin As Long, ByVal sngrf As Single)

PAGE 157

146 Appendix A (Continued) Public Declare Sub WG1trig Lib "s2drv32s .dll" Alias "_WG1trig@8" (ByVal ln gdin As Long, ByVal lngtcode As Long) Public Declare Sub WG1seed Lib "s2drv32s.dll" Alias "_WG1seed@8" (ByV al lngdin As Long, ByVal lngseed As Long) Public Declare Sub WG1delta Lib "s2drv32s.dll" Alias "_WG1delta@8" (ByV al lngdin As Long, ByVal lngdelta As Long) Public Declare Sub WG1wave Lib "s2drv32s.dll" Alias "_WG1wave@12" (ByV al lngdin As Long, ByRef intwave As Integer, ByVal lngnpts As Long) Public Declare Function WG1status Li b "s2drv32s.dll" Alias "_WG1status@4" (ByVal lngdin As Long) As Long Public Declare Sub WG1ton Lib "s2drv32s.dll" A lias "_WG1ton@4" (ByVal lngdin As Long) Public Declare Sub WG2on Lib "s2drv32s.dll" Alias "_WG2on@4" (ByVal lngdin As Long) Public Declare Sub WG2off Lib "s2drv32s.dll" Alias "_WG2off@4" (ByVal lngdin As Long) Public Declare Sub WG2clear Lib "s2drv32s.dll" Alias "_WG2cle ar@4" (ByVal lngdin As Long) Public Declare Sub WG2amp Lib "s2drv32s.dll" Alias "_ WG2amp@8" (ByVal lngdin As Long, ByVal sngamp As Single) Public Declare Sub WG2freq Lib "s2drv32s.dll" Alias "_WG 2freq@8" (ByVal lngdin As Long, ByVal sngfreq As Single) Public Declare Sub WG2swrt Lib "s2dr v32s.dll" Alias "_WG2swrt@8" (ByVal lngdin As Long, ByVal sngswrt As Single) Public Declare Sub WG2phase Lib "s2drv32s.dll" Alias "_ WG2phase@8" (ByVal lngdin As Long, ByVal sngphase As Single) Public Declare Sub WG2dc Lib "s2drv32s .dll" Alias "_WG2dc@8" (ByVal lngdin As Long, ByVal sngdc As Single) Public Declare Sub WG2shape Lib "s 2drv32s.dll" Alias "_WG2shape@8" (ByVal lngdin As Long, ByVal lngscon As Long) Public Declare Sub WG2dur Lib "s2dr v32s.dll" Alias "_WG2dur@8" (ByVal lngdin As Long, ByVal sngdur As Single) Public Declare Sub WG2rf Lib "s2drv32s.dll" Alias "_WG2 rf@8" (ByVal lngdin As Long, ByVal sngrf As Single) Public Declare Sub WG2trig Lib "s2drv32s .dll" Alias "_WG2trig@8" (ByVal ln gdin As Long, ByVal lngtcode As Long) Public Declare Sub WG2seed Lib "s2drv32s.dll" Alias "_WG2seed@8" (ByV al lngdin As Long, ByVal lngseed As Long) Public Declare Sub WG2delta Lib "s2drv32s.dll" Alias "_WG2delta@8" (ByV al lngdin As Long, ByVal lngdelta As Long) Public Declare Sub WG2wave Lib "s2drv32s.dll" Alias "_WG2wave@12" (ByV al lngdin As Long, ByRef intwave As Integer, ByVal lngnpts As Long) Public Declare Function WG2status Li b "s2drv32s.dll" Alias "_WG2status@4" (ByVal lngdin As Long) As Long Public Declare Sub WG2ton Lib "s2drv32s.dll" A lias "_WG2ton@4" (ByVal lngdin As Long) Public Declare Function XB1init Lib "s2drv32s.dll" Alia s "_XB1init@4" (ByVal l ngmode As Long) As Long Public Declare Sub XB1close Lib "s 2drv32s.dll" Alias "_XB1close@0" () Public Declare Sub XB1flush Lib "s2drv32s.dll" Alias "_XB1flush@0" () Public Declare Sub XB1rawout Lib "s2drv32s.dll" Alias "_XB1rawout@4" (ByVal lngv As Long) Public Declare Function XB1rawin Li b "s2drv32s.dll" Alias "_XB1rawin@4" (B yVal lngwait As Long) As Long Public Declare Function XB1device Li b "s2drv32s.dll" Alias "_XB1device@8" (ByVal lngdevcode As Long, ByVal lngdn As Long) As Long Public Declare Function XB1getdevice Lib "s2drv32s.dll" Alias "_XB1getdevice@16" (ByVal lngrn As Long, ByVal lngpn As Long, ByRef bytdtxt As Byte, ByRef lngrdin As Long) As Long Public Declare Sub XB1gtrig Lib "s 2drv32s.dll" Alias "_XB1gtrig@0" () Public Declare Sub XB1ltrig Lib "s2drv32s.dll" Alias "_XB1ltrig@4" (ByVal lngrn As Long) Public Declare Function XB1version Lib "s2drv32s.dll" Alia s "_XB1version@8" (ByVal lngdevcode As Long, ByVal lngdn As Long) As Long Public Declare Function XBlock Lib "s2drv32s.dll" Alias "_ XBlock@8" (ByVal lngmtry As Long, ByVal lngfstart As Long) As Long Public Declare Sub XBunlock Li b "s2drv32s.dll" Alias "_XBunlock@ 4" (ByVal lngfend As Long) Public Declare Function UB_allotf Lib "s2drv32s.dll" Al ias "__allotf@4" (ByVal lngnpts As Long) As Long Public Declare Function UB_allot16 Lib "s2drv32s.dll" Al ias "__allot16@4" (ByVal lngnpts As Long) As Long

PAGE 158

147 Appendix A (Continued) Public Declare Sub UB_iir Lib "s2drv32s.dll" Alias "__iir@0" () Public Declare Sub UB_fir Lib "s2drv32s.dll" Alias "__fir@0" () Public Declare Sub allotf Lib "s2drv32s .dll" Alias "_allotf@8" (ByVal lngbid As Long, ByVal lngnpts As Long) Public Declare Sub allot16 Lib "s2drv32s .dll" Alias "_allot16@8" (ByVal l ngbid As Long, ByVal lngnpts As Long) Public Declare Sub alogten Lib "s 2drv32s.dll" Alias "_alogten@0" () Public Declare Sub aloge Lib "s2drv32s.dll" Alias "_aloge@0" () Public Declare Sub add Lib "s 2drv32s.dll" Alias "_add@0" () Public Declare Sub absval Lib "s2drv32s.dll" Alias "_absval@0" () Public Declare Sub acosine Lib "s 2drv32s.dll" Alias "_acosine@0" () Public Declare Sub asine Lib "s 2drv32s.dll" Alias "_asine@0" () Public Declare Sub atangent Lib "s2drv32s.dll" Alias "_atangent@0" () Public Declare Sub atantwo Lib "s 2drv32s.dll" Alias "_atantwo@0" () Public Declare Function average Lib "s2drv32s .dll" Alias "_average@0" () As Single Public Declare Sub block Lib "s2drv32s.dll" Alias "_bloc k@8" (ByVal lngsp As Long, ByVal lngep As Long) Public Declare Sub cat Lib "s 2drv32s.dll" Alias "_cat@0" () Public Declare Sub catn Li b "s2drv32s.dll" Alias "_catn@4" (ByVal lngn As Long) Public Declare Sub cmult Lib "s 2drv32s.dll" Alias "_cmult@0" () Public Declare Sub cadd Lib "s 2drv32s.dll" Alias "_cadd@0" () Public Declare Sub cinv Lib "s 2drv32s.dll" Alias "_cinv@0" () Public Declare Sub cfft Lib "s 2drv32s.dll" Alias "_cfft@0" () Public Declare Sub cift Lib "s2drv32s.dll" Alias "_cift@0" () Public Declare Sub cosine Lib "s2drv32s.dll" Alias "_cosine@0" () Public Declare Sub chgplay Lib "s2drv32s.dll" Alias "_chgplay@4" (ByVal lngdbn As Long) Public Declare Sub cumsum Lib "s2drv32s.dll" Alias "_cumsum@0" () Public Declare Sub dpush Lib "s2drv32s.dll" Al ias "_dpush@4" (ByVal lngnpts As Long) Public Declare Sub drop Lib "s2drv32s.dll" Alias "_drop@0" () Public Declare Sub dropall Lib "s2drv32s.dll" Alias "_dropall@0" () Public Declare Sub dupn Lib "s2drv32s.dll" Alias "_dupn@4" (ByVal lngn As Long) Public Declare Sub dama2disk16 Lib "s2drv32s.dll" Alia s "_dama2disk16@12" (ByVal lngbid As Long, ByRef bytfname As Byte, ByVal lngcatflag As Long) Public Declare Sub disk2dama16 Lib "s2drv32s.dll" Alia s "_disk2dama16@12" (ByVal lngbid As Long, ByRef bytfname As Byte, ByVal lngseekpos As Long) Public Declare Sub deallot Lib "s2drv32s.dll" Al ias "_deallot@4" (ByVal lngbid As Long) Public Declare Sub divide Lib "s2drv32s.dll" Alias "_divide@0" () Public Declare Sub dplay Lib "s2drv32s.dll" Alias "_dpl ay@8" (ByVal lngdbn1 As Long, ByVal lngdbn2 As Long) Public Declare Sub drecord Lib "s2drv32s.dll" Alias _drecord@8" (ByVal lngdbn1 As Long, ByVal lngdbn2 As Long) Public Declare Sub decimate Li b "s2drv32s.dll" Alias "_decimate @4" (ByVal lngfact As Long) Public Declare Sub extract Lib "s2drv32s.dll" Alias "_extract@0" () Public Declare Sub fill Lib "s2drv32s.d ll" Alias "_fill@8" (ByVal sngstart As Single, ByVal sngstep As Single) Public Declare Sub flat Lib "s2drv32s.dll" Alias "_flat@0" () Public Declare Function freew ords Lib "s2drv32s.dll" Alias "_freewords@0" () As Long Public Declare Sub fir Lib "s2drv32s.dll" Alias "_fir@0" () Public Declare Sub fastrecord Lib "s2drv32s.dll" Alias "_fastrecord@4" (ByVal lngdbn As Long) Public Declare Sub foldnadd Lib "s2drv32s.dll" A lias "_foldnadd@4" (ByVal lngartflag As Long) Public Declare Function getS2err Lib "s2drv32s.dll" Alias "_getS2err@4" (ByRef byterr As Byte) As Long Public Declare Function getS2primary Lib "s2dr v32s.dll" Alias "_getS2primary@0" () As Long Public Declare Function getAPlockstatus Lib "s2d rv32s.dll" Alias "_getAPlockstatus@0" () As Long Public Declare Function getXBlockstatus Lib "s2d rv32s.dll" Alias "_getXBlockstatus@0" () As Long Public Declare Function getaddr Lib "s2drv32s.dll" A lias "_getaddr@4" (ByVal lngbid As Long) As Long Public Declare Sub gauss Lib "s 2drv32s.dll" Alias "_gauss@0" () Public Declare Function getnarts Lib "s2dr v32s.dll" Alias "_getnarts@0" () As Long Public Declare Sub hann Lib "s 2drv32s.dll" Alias "_hann@0" () Public Declare Sub hamm Lib "s2drv32s.dll" Alias "_hamm@0" () Public Declare Function hiblock Lib "s2dr v32s.dll" Alias "_hiblock@0" () As Long

PAGE 159

148 Appendix A (Continued) Public Declare Sub inv Lib "s 2drv32s.dll" Alias "_inv@0" () Public Declare Sub iir Lib "s2drv32s.dll" Alias "_iir@0" () Public Declare Sub interpol Lib "s2drv32s.dll" Alias "_interpol@4" (ByV al lngfact As Long) Public Declare Sub logten Lib "s2drv32s.dll" Alias "_logten@0" () Public Declare Sub loge Lib "s 2drv32s.dll" Alias "_loge@0" () Public Declare Sub logn Lib "s2drv32s.dll" Al ias "_logn@4" (ByVal sngbase As Single) Public Declare Function lowblock Lib "s2dr v32s.dll" Alias "_lowblock@0" () As Long Public Declare Sub makedama16 Lib "s2drv32s.dll" Alias "_makedama16@12" (ByVal lngbid As Long, ByVal lngind As Long, ByVal lngv As Long) Public Declare Sub makedamaf Lib "s2drv32s.dll" Alias "_ makedamaf@12" (ByVal lngbid As Long, ByVal lngind As Long, ByVal sngv As Single) Public Declare Sub make Lib "s2drv32s.dll" Alias "_ma ke@8" (ByVal lngind As Long, ByVal sngv As Single) Public Declare Sub mult Lib "s2drv32s.dll" Alias "_mult@0" () Public Declare Sub maxlim Li b "s2drv32s.dll" Alias "_maxlim@4 (ByVal sngmax As Single) Public Declare Sub minlim Li b "s2drv32s.dll" Alias "_minlim@4 (ByVal sngmin As Single) Public Declare Sub maglim Li b "s2drv32s.dll" Alias "_maglim@4 (ByVal sngmax As Single) Public Declare Function maxval Lib "s2drv32s .dll" Alias "_maxval@0" () As Single Public Declare Function minval Lib "s2dr v32s.dll" Alias "_minval@0" () As Single Public Declare Function maxmag Lib "s2dr v32s.dll" Alias "_maxmag@0" () As Single Public Declare Function maxval_ Lib "s2dr v32s.dll" Alias "_maxval_@0" () As Long Public Declare Function minval_ Lib "s2dr v32s.dll" Alias "_minval_@0" () As Long Public Declare Function maxmag_ Lib "s2dr v32s.dll" Alias "_maxmag_@0" () As Long Public Declare Sub mrecord Lib "s2drv32s.dll" Alias "_mrecord@4" (ByVal lngdbn As Long) Public Declare Sub mplay Lib "s2drv32s.dll" Alias "_mplay@4" (ByVal lngdbn As Long) Public Declare Sub noblock Lib "s 2drv32s.dll" Alias "_noblock@0" () Public Declare Sub optest Lib "s 2drv32s.dll" Alias "_optest@0" () Public Declare Sub push16 Lib "s2drv32s.d ll" Alias "_push16@8" (ByRef intbuf As Integer, ByVal lngnpts As Long) Public Declare Sub pushf Lib "s2drv32s .dll" Alias "_pushf@8" (ByRef sngbuf As Single, ByVal lngnpts As Long) Public Declare Sub pop16 Lib "s2drv32s.dll" Alia s "_pop16@4" (ByRef intbuf As Integer) Public Declare Sub popf Lib "s2drv32s.dll" Alias "_popf@4" (ByRef sngbuf As Single) Public Declare Sub popdisk16 Lib "s2drv32s.dll" Alias "_popdisk16@4" (ByRef bytfname As Byte) Public Declare Sub popdiskf Lib "s2drv32s.dll" A lias "_popdiskf@4" (ByRef bytfname As Byte) Public Declare Sub popdiska Lib "s2drv32s.dll" A lias "_popdiska@4" (ByRef bytfname As Byte) Public Declare Sub pushdisk16 Lib "s2drv32s.dll" A lias "_pushdisk16@4" (ByRef bytfname As Byte) Public Declare Sub pushdiskf Lib "s2drv32s.dll" A lias "_pushdiskf@4" (ByRef bytfname As Byte) Public Declare Sub pushdiska Lib "s2drv32s.dll" Alias "_pushdiska@4" (ByRef bytfname As Byte) Public Declare Sub parse Lib "s2drv32s.dll" Alias "_parse@4" (ByRef byts As Byte) Public Declare Sub polar Lib "s2drv32s.dll" Alias "_polar@0" () Public Declare Sub power Lib "s2drv32s.dll" Alias "_power@4" (ByVal sngpw As Single) Public Declare Sub play Lib "s2drv32s.dll" Alias "_play@4" (ByVal lngdbn As Long) Public Declare Function playseg Lib "s2drv32s.dll" Alia s "_playseg@4" (ByVal lngchan As Long) As Long Public Declare Function playcount Li b "s2drv32s.dll" Alias "_playcount@4" (ByVal lngchan As Long) As Long Public Declare Sub pfireone Lib "s2drv32s.dll" Alias "_pfireone@4" (ByVal lngdbn As Long) Public Declare Sub pfireall Lib "s 2drv32s.dll" Alias "_pfireall@0" () Public Declare Function ppausestat Li b "s2drv32s.dll" Alias "_ppausestat@4" (ByVal lngdbn As Long) As Long Public Declare Sub plotmap Lib "s2dr v32s.dll" Alias "_plotmap@16" (ByVal lngxx1 As Long, ByVal lngyy1 As Long, ByVal lngxx2 As Long, ByVal lngyy2 As Long) Public Declare Sub plotwith Lib "s2dr v32s.dll" Alias "_plotwith@24" (ByVal lngxx1 As Long, ByVal lngyy1 As Long, ByVal lngxx2 As Long, ByVal lngyy2 As Long, ByVal sngymin As Single, ByVal sngymax As Single) Public Declare Sub plotwithCS Lib "s 2drv32s.dll" Alias "_plotwithCS@24" (ByVal lngxx1 As Long, ByVal lngyy1 As Long, ByVal lngxx2 As Long, ByVal lngyy2 As Long, ByVal sngymin As Single, ByVal sngymax As Single) Public Declare Sub qdup Lib "s2drv32s.dll" Alias "_qdup@0" () Public Declare Sub qpopf Lib "s2drv32s.dll" Alias "_qpopf@4" (ByVal lngbid As Long) Public Declare Sub qpushf Li b "s2drv32s.dll" Alias "_qpushf@4" (ByVal lngbid As Long) Public Declare Sub qpop16 Lib "s2drv32s.dll" Alias "_qpop16@4" (ByVal lngbid As Long)

PAGE 160

149 Appendix A (Continued) Public Declare Sub qpush16 Lib "s2drv32s.dll" A lias "_qpush16@4" (ByVal lngbid As Long) Public Declare Sub qpushpart16 Lib "s2dr v32s.dll" Alias "_qpushpart16@12" (ByVal lngbid As Long, ByVal lngspos As Long, ByVal lngnpts As Long) Public Declare Sub qpushpartf Lib "s2dr v32s.dll" Alias "_qpushpartf@12" (ByVal lngbid As Long, ByVal lngspos As Long, ByVal lngnpts As Long) Public Declare Sub qpoppart16 Lib "s2drv32s.dll" Alias "_qpopp art16@8" (ByVal lngbid As Long, ByVal lngspos As Long) Public Declare Sub qpoppartf Lib "s2drv32s.dll" Alias "_qpoppa rtf@8" (ByVal lngbid As Long, ByVal lngspos As Long) Public Declare Sub qrand Lib "s 2drv32s.dll" Alias "_qrand@0" () Public Declare Sub qwind Lib "s2drv32s.dll" Alias "_qwind@ 8" (ByVal sngtrf As Singl e, ByVal sngsr As Single) Public Declare Sub reduce Lib "s 2drv32s.dll" Alias "_reduce@0" () Public Declare Sub rect Lib "s2drv32s.dll" Alias "_rect@0" () Public Declare Sub radd Lib "s2drv32s.dll" Alias "_radd@0" () Public Declare Sub rfft Lib "s2drv32s.dll" Alias "_rfft@0" () Public Declare Sub rift Lib "s 2drv32s.dll" Alias "_rift@0" () Public Declare Sub reverse Lib "s2drv32s.dll" Alias "_reverse@0" () Public Declare Sub record Lib "s2drv32s.dll" Alias "_record@4" (ByVal lngdbn As Long) Public Declare Function recseg Lib "s2drv32s.dll" A lias "_recseg@4" (ByVal lngchan As Long) As Long Public Declare Function reccount Lib "s2drv32s.dll" Alias "_reccount@4" (B yVal lngchan As Long) As Long Public Declare Sub swap Lib "s2drv32s.dll" Alias "_swap@0" () Public Declare Sub setaddr Lib "s2drv32s.dll" Alias "_seta ddr@8" (ByVal lngbid As Long, ByVal lngaddr As Long) Public Declare Sub seed Li b "s2drv32s.dll" Alias "_seed@4 (ByVal lngsval As Long) Public Declare Sub shuf Lib "s2drv32s.dll" Alias "_shuf@0" () Public Declare Sub split Lib "s 2drv32s.dll" Alias "_split@0" () Public Declare Sub qscale Lib "s2drv32s.dll" Alias "_scale@4" (ByVal sngsf As Single) Public Declare Sub shift Lib "s2drv32s.dll" Al ias "_shift@4" (ByVal sngsf As Single) Public Declare Sub subtract Lib "s2drv32s.dll" Alias "_subtract@0" () Public Declare Sub sqroot Lib "s2drv32s.dll" Alias "_sqroot@0" () Public Declare Sub square Lib "s2drv32s.dll" Alias "_square@0" () Public Declare Sub seperate Lib "s2drv32s.dll" Alias "_seperate@0" () Public Declare Sub sine Lib "s2drv32s.dll" Alias "_sine@0" () Public Declare Function sum Lib "s2dr v32s.dll" Alias "_sum@0" () As Single Public Declare Function stackdepth Lib "s2drv32s .dll" Alias "_stackdepth@0" () As Long Public Declare Sub seqplay Lib "s2drv32s.dll" Alias "_seqplay@4" (ByVal lngdbn As Long) Public Declare Sub seqrecord Lib "s2drv32s.dll" Alias "_seqrecord@4" (ByVal lngdbn As Long) Public Declare Sub trash Lib "s 2drv32s.dll" Alias "_trash@0" () Public Declare Sub totop Li b "s2drv32s.dll" Alias "_totop@4" (ByVal lngsn As Long) Public Declare Sub tone Lib "s2drv32s .dll" Alias "_tone@8" (ByVal sngf As Single, ByVal sngsr As Single) Public Declare Sub tangent Lib "s 2drv32s.dll" Alias "_tangent@0" () Public Declare Function tops ize Lib "s2drv32s.dll" Alias "_topsize@0" () As Long Public Declare Function tsize Lib "s2drv32s.dll" A lias "_tsize@4" (ByVal lngbufn As Long) As Long Public Declare Sub usercall Lib "s2drv32s.dll" Alias "_usercall@12" (ByV al lngcid As Long, ByVal sngargf As Single, ByVal lngarg24 As Long) Public Declare Function userfunc Lib "s 2drv32s.dll" Alias "_userfunc@12" (ByVal lngcid As Long, ByVal sngargf As Single, ByVal lngarg24 As Long) As Single Public Declare Sub value Lib "s2drv32s.dll" Alias "_value@4" (ByVal sngv As Single) Public Declare Function whatis Lib "s2drv32s.dll" A lias "_whatis@4" (ByVal lngind As Long) As Single Public Declare Sub xreal Lib "s2d rv32s.dll" Alias "_xreal@0" () Public Declare Sub ximag Lib "s 2drv32s.dll" Alias "_ximag@0" () Public Const AD1_CODE = 17 Public Const AD2_CODE = 20 Public Const AD3_CODE = 21 Public Const qANY = 5 Public Const ALL = 15

PAGE 161

150 Appendix A (Continued) Public Const ADC1 = 4 Public Const ADC2 = 8 Public Const ADC3 = 16 Public Const ADC4 = 32 Public Const AUTOSLEW = 0 Public Const ADCEXP = 14 Public Const ADC_BASE = 2064 Public Const ADC_IND = 1 Public Const BIQ16 = 4 Public Const BIQ32 = 5 Public Const CG1_CODE = 3 Public Const COS2 = 1 Public Const COS4 = 2 Public Const COS6 = 3 Public Const COMPUTER = 0 Public Const CONTIN_REPS = 0 Public Const COMMON = 0 Public Const COEFEXP = 9 Public Const COEF_BASE = 18928 Public Const COEF_IND = 512 Public Const CT_LEFT = 1 Public Const CT_RIGHT = 2 Public Const CT_STEREO = 3 Public Const CT_MONSTER = 4 Public Const DB4_CODE = 27 Public Const DA1_CODE = 16 Public Const DD1_CODE = 18 Public Const DA2_CODE = 19 Public Const DA3_CODE = 22 Public Const DUAL_4_1 = 1 Public Const DUALDAC = 3 Public Const DAC1 = 1 Public Const DAC2 = 2 Public Const DUALADC = 12 Public Const DAC3 = 4 Public Const DAC4 = 8 Public Const DAC5 = 16 Public Const DAC6 = 32 Public Const DAC7 = 64 Public Const DAC8 = 128 Public Const DSPIDEXP = 2 Public Const DSPINEXP = 3 Public Const DSPINLEXP = 4 Public Const DSPINREXP = 5 Public Const DSPOUTEXP = 6 Public Const DSPOUTLEXP = 7 Public Const DSPOUTREXP = 8 Public Const DELINEXP = 10 Public Const DELOUTEXP = 11 Public Const DACEXP = 13 Public Const DSPID_BASE = 0 Public Const DSPID_IND = 1 Public Const DSPINL_BASE = 18920 Public Const DSPINL_IND = 512 Public Const DSPINR_BASE = 18888

PAGE 162

151 Appendix A (Continued) Public Const DSPINR_IND = 512 Public Const DSPOUTL_BASE = 18880 Public Const DSPOUTL_IND = 512 Public Const DSPOUTR_BASE = 18884 Public Const DSPOUTR_IND = 512 Public Const DELOUT_BASE = 1024 Public Const DELOUT_IND1 = 32 Public Const DELOUT_IND2 = 1 Public Const DELIN_BASE = 1152 Public Const DELIN_IND = 1 Public Const DAC_BASE = 2048 Public Const DAC_IND = 1 Public Const DAMA_16 = 4 Public Const DAMA_F = 5 Public Const ET1_CODE = 5 Public Const EXT = 5 Public Const EXCLUSIVE = 1 Public Const EXTERNAL = 2 Public Const FALL = 2 Public Const FREE_RUN = 5 Public Const FALLING = 3 Public Const FIR16 = 1 Public Const FIR32 = 2 Public Const F_HP = 0 Public Const F_LP = 1 Public Const F_NT = 2 Public Const FP_Kp = 8 Public Const FP_Ki = 4 Public Const FP_Kd = 2 Public Const FP_Ilim = 1 Public Const FASTDAC = 16 Public Const FASTDAC3 = 0 Public Const FILE_16 = 1 Public Const FILE_F = 2 Public Const FILE_A = 3 Public Const qGAUSS = 1 Public Const GSYNC = 32764 Public Const HTI_CODE = 26 Public Const HEADSIZE = 1024 Public Const IIR32 = 3 Public Const INP1 = 1 Public Const INP2 = 2 Public Const INP3 = 3 Public Const INP4 = 4 Public Const INP5 = 5 Public Const INP6 = 6 Public Const INP7 = 7 Public Const INP8 = 8 Public Const INTERNAL = 1 Public Const IBEXP = 15 Public Const IREGEXP = 17 Public Const IB_BASE = 0 Public Const IB_IND = 1 Public Const IREG_BASE = 480 Public Const IREG_IND = 1

PAGE 163

152 Appendix A (Continued) Public Const INIT_PRIMARY = 1 Public Const INIT_SECONDARY = 2 Public Const INIT_EITHER = 3 Public Const INIT_FORCEPRIM = 4 Public Const LAST = 3 Public Const LSYNC = 32766 Public Const MC1_CODE = 28 Public Const MANUAL = 0 Public Const MUD_GAIN = 2 Public Const MUD_HP = 3 Public Const MUD_LP = 4 Public Const MUD_NT = 5 Public Const MUD_IT = 6 Public Const MUD_ALL = 15 Public Const MONO = 1 Public Const MONSTER = 3 Public Const NEG_EDGE = 2 Public Const NEG_ENABLE = 4 Public Const NONE = 5 Public Const NEG = 1 Public Const ONOFF = 0 Public Const OFF = 0 Public Const qON = 1 Public Const OUTA = 0 Public Const OUTB = 1 Public Const OUTC = 2 Public Const OUTD = 3 Public Const OBEXP = 16 Public Const OB_BASE = 0 Public Const OB_IND = 1 Public Const PA4_CODE = 1 Public Const PI1_CODE = 6 Public Const PF1_CODE = 9 Public Const PI2_CODE = 11 Public Const PM1_CODE = 15 Public Const PD1_CODE = 23 Public Const PEAK = 3 Public Const POS_EDGE = 1 Public Const POS_ENABLE = 3 Public Const PM1_STEREO = 0 Public Const PM1_MONO = 1 Public Const P_AZ = 1 Public Const P_EL = 2 Public Const P_ROLL = 3 Public Const P_X = 4 Public Const P_Y = 5 Public Const P_Z = 6 Public Const POS = 0 Public Const PC_VEL = 1# Public Const PC_ACC = 2# Public Const PC_GEAR = 3# Public Const PC_MINP = 4# Public Const PC_MAXP = 5# Public Const PC_HOME = 6# Public Const PC_REFMODE = 7#

PAGE 164

153 Appendix A (Continued) Public Const PC_SRCHVEL = 8# Public Const PC_REFPOS = 9# Public Const PC_Kp = 10# Public Const PC_Ki = 11# Public Const PC_Kd = 12# Public Const PC_Ilim = 13# Public Const QUAD_2_1 = 0 Public Const RAMP = 4 Public Const RAMP2 = 5 Public Const RAMP4 = 6 Public Const RAMP6 = 7 Public Const RISE = 1 Public Const RISING = 2 Public Const RM_MANUAL = 1# Public Const RM_REFSWITCH = 2# Public Const SW2_CODE = 2 Public Const SD1_CODE = 4 Public Const SS1_CODE = 14 Public Const qSINE = 3 Public Const SING_8_1 = 2 Public Const SN1 = 1 Public Const SN2 = 2 Public Const SN3 = 3 Public Const SN4 = 4 Public Const SN5 = 5 Public Const SN6 = 6 Public Const SN7 = 7 Public Const SN8 = 8 Public Const SN9 = 9 Public Const SN10 = 10 Public Const SN11 = 11 Public Const SN12 = 12 Public Const SN13 = 13 Public Const SN14 = 14 Public Const SN15 = 15 Public Const SN16 = 16 Public Const STEREO = 2 Public Const SYNC_ALL = 17912 Public Const STACK = 6 Public Const TG6_CODE = 10 Public Const TRIGGED_REPS = 1 Public Const TAPEXP = 12 Public Const TAP_BASE = 1280 Public Const TAP_IND1 = 32 Public Const TAP_IND2 = 1 Public Const UI1_CODE = 7 Public Const UNIFORM = 2 Public Const VALLEY = 4 Public Const VEXP = 1 Public Const WG1_CODE = 8 Public Const WG2_CODE = 12 Public Const WAVE = 4 Public Const XB1_CODE = 0 Public Const XXX_CODE = 13 Public Const XTRG1 = 1

PAGE 165

154 Appendix A (Continued) Public Const XTRG2 = 2 Public Const XCLK1 = 3 Public Const XCLK2 = 4 Public Const XMUX = 1 Public Const UB_0DB = 1 Public Const UB_6DB = 2 Public Const UB_12DB = 3 Public Const UB_18DB = 4 Public Const UB_24DB = 5 Public Const UB_100ns = 0 Public Const UB_1us = 1 Public Const UB_10us = 2 Public Const UB_100us = 3 Public Const UB_1ms = 4 Public Const UB_EXT = 7 Public Const UB_CH1 = 0 Public Const UB_CH2 = 1 Public Const UB_CH3 = 2 Public Const UB_CH4 = 3 Public Const UB_CHALL = 10 Public Const UB_START = 32767 Public Const UB_STOP = 32765 Public Const x1 = 0 Public Const x2 = 1 Public Const x4 = 2 Public Const x8 = 3 Public Const x16 = 4 Public Const x32 = 5 Public Const x64 = 6 Public Const x128 = 7 Module 3 'Variables Public AttnMult As Double Public GeoMeanAttn As Double Public GeoMeanThresh As Double Public ArithMeanThresh As Double Public bytband1Fname() As Byte Public bytband2Fname() As Byte Public SigFreq As Double Public TotalPts As Long Public SigFname As String Public SigFname1 As String Public SigFname2 As String Public SigFname3 As String Public SigFname4 As String Public SigFname5 As String Public SigFname6 As String Public SigFname7 As String Public SigFname8 As String Public SigFname9 As String Public SigFname10 As String Public SigNumber1String As String Public SigNumber2String As String

PAGE 166

155 Appendix A (Continued) Public SigNumber3String As String Public SigNumber4String As String Public SigNumber5String As String Public SigNumber6String As String Public SigNumber7String As String Public SigNumber8String As String Public SigNumber9String As String Public SigNumber10String As String Public StanDurNumString As String Public SigDurNumString As String Public Duration As String Public DurationPts As Long Public SigDurationPts As Long Public StanDurationPts As Long Public Unatten As Long Public SigNumber As Long Public SigNumberString As String Public StanDurNumber As Long Public SigDurNumber As Long Public Choice As Integer Public RightWrong As Integer Public Responses(100) As Integer Public Attn(100) As Double Public Reversals(100) As Integer Public Trial As Double Public Bumptop As Integer Public Bumpbot As Integer Public Signal As Integer Public SubID As String Public ResultsID As String Public Thresh As Integer Public Condition As String Public StartAttn As Single Public VariableAttn As Single Public FixedAttn As Single Public Ear As String Public Decision As Integer Public I As Long Public J As Integer Public NumReversals As Integer Public Lastlevel As Integer Public rcheck As Integer Public NumReversal As Integer Public ExitFlagB As Integer Public ExitFlagR As Integer Public ExitFlagE As Integer Public AttnSum As Double Public FinalAttn As Double Public WhichAttn As Double Public StdDevSum As Double Public StdDev As Double Public mclick As Integer Public RandNum As Integer Public RandArray(16) As Integer Public RandCtr As Integer

PAGE 167

156 Appendix A (Continued) Public RandNumString As String Public Srate As Single Public StanBlock As Integer Public SigBlock As Integer Public Slope As Integer Public Junk As Long Sub delay(secs!) Dim Start! Start! = Timer While (Timer < (Start! + secs!)) DoEvents Wend End Sub Function GetRandom(range%) Randomize GetRandom = Int((range%) Rnd) + 1 End Function

PAGE 168

157 Appendix A (Continued) Experiment 2(a): Discriminati on Threshold for /plI/ /lI/ FRMDETAILS Dim secs As Single Dim Start As Single Dim interval As Integer Sub CmdRun_Click() Dim DAC1 As Long Call ErrorCheck Call GetRunInfo Srate = 45.35 'NEW SAMPLING RATE = 22050 Hz VariableAttn = StartAttn Call InitAdaptive Call DecideAttn Call DecideUnatten Call GetDurationNumbers Call DecideFilename Call PD1srate(ByVal 1, ByVal Srate) Call PD1npts(ByVal 1, ByVal 20000) DAC1 = PD1export(ByVal DACEXP, 1) 'gets hardware addresses for DAC FRMINTERVAL.Show Do Call allot16(1, 20000) DAMA space for DSP(0) for standard Call allot16(2, 20000) DAMA space for DSP(1) for standard If Condition = "PLI-LI" Then Call PlayPliLi End If mclick = 0 I = GetRandom(2) Signal = I FRMINTERVAL!Text1.Text = "Interval =" & Str$(I) & St r$(Signal) & Str$(Attn(Trial)) & Str$(NumReversal) Call PD1mode(ByVal 1, ByVal DAC1) If I = 1 Then FRMINTERVAL!STANDARD.Visible = True Call delay(0.3) '0.3 was 0.5 Call play(ByVal 1) Call PD1arm(ByVal 1) Call PD1go(ByVal 1) Call delay(0.9) '0.9 was 0.6

PAGE 169

158 Appendix A (Continued) FRMINTERVAL!INTERVAL1.Visible = True Call delay(0.3) '0.3 was 0.5 Call play(ByVal 2) Call PD1arm(ByVal 1) Call PD1go(ByVal 1) Call delay(0.9) '0.9 was 0.6 FRMINTERVAL!INTERVAL2.Visible = True Call delay(0.3) '0.3 was 0.5 Call play(ByVal 1) Call PD1arm(ByVal 1) Call PD1go(ByVal 1) Call delay(0.9) '0.9 was 0.6 End If If I = 2 Then FRMINTERVAL!STANDARD.Visible = True Call delay(0.3) '0.3 was 0.5 Call play(ByVal 1) Call PD1arm(ByVal 1) Call PD1go(ByVal 1) Call delay(0.9) '0.9 was 0.6 FRMINTERVAL!INTERVAL1.Visible = True Call delay(0.3) '0.3 was 0.5 Call play(ByVal 1) Call PD1arm(ByVal 1) Call PD1go(ByVal 1) Call delay(0.9) '0.9 was 0.6 FRMINTERVAL!INTERVAL2.Visible = True Call delay(0.3) '0.3 was 0.5 Call play(ByVal 2) Call PD1arm(ByVal 1) Call PD1go(ByVal 1) Call delay(0.9) '0.9 was 0.6 'Signal = 2 End If Do Until mclick = 1 'Pause program until get a response DoEvents Loop FRMINTERVAL!STANDARD.Visible = False FRMINTERVAL!INTER VAL1.Visible = False FRMINTERVAL!INTER VAL2.Visible = False RightWrong = Signal Choice Call Levitt Call delay(0.6) '0.6 was 0.4 Trial = Trial + 1 Call trash

PAGE 170

159 Appendix A (Continued) Call ErrorCheck Loop While ExitFlagB = 0 And ExitFlagR = 0 And ExitFlagE = 0 If ExitFlagR = 1 Then Call Finishup End If End Sub Sub CmdQuit_Click() ExitFlagE = 1 Call S2close Call XBunlock(ByVal 0) Call APunlock(ByVal 0) Call trash End End Sub Sub DecideFilename() SigNumber = GetRandom(16) If SigNumber > 9 Then SigNumberString = Right$(Str$(SigNumber), 2) Else SigNumberString = Right$(Str$(SigNumber), 1) End If If CboCondition.Text = "PLI-LI" Then SigFname = "c:\TamDissertation\stimuli\PLI_50_22050.wav" StanFname = "c:\TamDisse rtation\stimuli\LI_50_22050.wav" End If End Sub Sub Form_Load() Call InitializePD1 Call ErrorCheck 'Putting items in combo boxes CboCondition.AddItem "PLI-LI" CboStartAttn.AddItem "70" CboStartAttn.AddItem "60" CboStartAttn.AddItem "50" CboStartAttn.AddItem "40" CboStartAttn.AddItem "30" CboStartAttn.AddItem "20" CboStartAttn.AddItem "10" CboFixedAttn.AddItem "70" CboFixedAttn.AddItem "60" CboFixedAttn.AddItem "50" CboFixedAttn.AddItem "40" CboFixedAttn.AddItem "30" End Sub

PAGE 171

160 Appendix A (Continued) Sub GetDurationNumbers() If CboCondition.Text = "PLI-LI" Then StanDurNumber = 50 SigDurNumber = 50 End If If StanDurNumber > 99 Then StanDurNumString = Right $(Str$(StanDurNumber), 3) Else StanDurNumString = Right $(Str$(StanDurNumber), 2) End If If SigDurNumber > 99 Then SigDurNumString = Right$(Str$(SigDurNumber), 3) Else SigDurNumString = Right$(Str$(SigDurNumber), 2) End If StanDurationPts = (StanDurNumber 1000) / Srate SigDurationPts = (SigDu rNumber 1000) / Srate End Sub Sub InitAdaptive() 'Initialize the adaptive variables Bumptop = 0 Bumpbot = 0 RightWrong = 0 Trial = 1 NumReversal = 0 Slope = 1 Decision = 1 EachAttn = 0 AttnSum = 0 AttnMult = 1 FinalAttn = 0 Signal = 0 Choice = 0 ExitFlagB = 0 ExitFlagR = 0 ExitFlagE = 0 LeftStandard = 1 RightStandard = 2 LeftSignal = 3 RightSignal = 4 For I = 0 To 100 Responses(I) = 0 Reversals(I) = 0 Next I

PAGE 172

161 Appendix A (Continued) For I = 0 To 9 RandArray(I) = 0 Next I End Sub Public Sub Levitt() If RightWrong <> 0 Then incorrect answer Responses(Trial) = RightWrong If NumReversal <= 4 Then Attn(Trial + 1) = Attn(Trial) 4 VariableAttn = VariableAttn 4 End If If NumReversal > 4 Then Attn(Trial + 1) = Attn(Trial) 2 VariableAttn = VariableAttn 2 End If Call Bumpcheck Call Reversecheck Else 'correct answer Responses(Trial) = RightWrong Lastlevel = Attn(T rial) Attn(Trial 1) If Lastlevel <> 0 Then Attn(Trial + 1) = Attn(Trial) If Lastlevel = 0 Then If NumReversal <= 4 Then Attn(Trial + 1) = Attn(Trial) + 4 VariableAttn = VariableAttn + 4 End If If NumReversal > 4 Then Attn(Trial + 1) = Attn(Trial) + 2 VariableAttn = VariableAttn + 2 End If End If Call Bumpcheck Call Reversecheck End If Call PA4atten(1, VariableAttn) Call PA4atten(2, FixedAttn) End Sub Public Sub Bumpcheck() If Attn(Trial + 1) < 0 Then Attn(Trial + 1) = 0 Bumptop = Bumptop + 1 If Bumptop > 4 Then MsgBox "Hitting Top", 48, "Discrimination Program" ExitFlagB = 1 End If End If If Attn(Trial + 1) > 99 Then Attn(Trial + 1) = 99

PAGE 173

162 Appendix A (Continued) Bumpbot = Bumpbot + 1 If Bumpbot > 4 Then MsgBox "Hitting Bottom", 48, "Discrimination Program" ExitFlagB = 1 End If End If End Sub Public Sub Reversecheck() rcheck = (Attn(Trial + 1) Attn(Trial)) Slope If rcheck < 0 Then NumReversal = NumReversal + 1 Reversals(NumReversal) = Trial Slope = -1 Slope End If If NumReversal < 8 Then ExitFlagR = 0 End If If NumReversal >= 8 Then ExitFlagR = 1 End If End Sub Public Sub Finishup() Call S2close Call XBunlock(ByVal 0) Call APunlock(ByVal 0) Call trash Unload FRMINTERVAL For I = 5 To 8 WhichAttn = Reversals(I) AttnSum = AttnSum + Attn(WhichAttn) AttnMult = AttnMult Attn(WhichAttn) Next I FinalAttn = AttnSum / 4 GeoMeanAttn = AttnMult ^ 0.25 For I = 5 To 8 WhichAttn = Reversals(I) StdDevSum = StdDevSum + (Attn(Whic hAttn) FinalAttn) (Attn(WhichAttn) FinalAttn) StdDev = Sqr(StdDevSum) / 4 Next I ArithMeanThresh = (Unatten FixedAttn) FinalAttn GeoMeanThresh = (Unatt en FixedAttn) GeoMeanAttn

PAGE 174

163 Appendix A (Continued) FrmResults.Show FrmResults!TxtResultsID.Text = SubID FrmResults!TxtResu ltsCondition.Text = Condition FrmResults!TxtResultsStartAttn.Text = StartAttn FrmResults!TxtResultsFixedAttn.Text = FixedAttn FrmResults!TxtArithMean Thresh.Text = ArithMeanThresh FrmResults!TxtGeoMeanThresh.Text = GeoMeanThresh End Sub Public Sub GetRunInfo() SubID = TxtID.Text Condition = CboCondition.Text StartAttn = Val(CboStartAttn.Text) FixedAttn = Val(CboFixedAttn.Text) SubID = SubID & Time & Date End Sub Public Sub DecideAttn() Call PA4atten(1, VariableAttn) Call PA4atten(2, FixedAttn) Attn(1) = VariableAttn End Sub Public Sub DecideUnatten() If CboCondition.Text = "PLI-LI" Then Unatten = 100.9 'calibrated on 5/03/05 Tuesday End If End Sub Public Sub PlayPliLi() 'making the signal "pli" interval bytband1Fname = StrConv(SigFna me & vbNullChar, vbFromUnicode) Call pushdisk16(bytband1Fname(0)) 'calling the file from the disk Call ErrorCheck Call block(ByVal 32, ByVal (SigDurationPts + 31)) Call extract Call swap Call drop Call dpush(20000 SigDurationPts) Call value(ByVal 0#) Call catn(2) Call qpop16(ByVal 2) Call dropall 'making the standard signal "li" bytband1Fname = StrConv(StanFname & vbNullChar, vbFromUnicode) Call pushdisk16(bytband1Fname(0)) 'calling the file from the disk Call ErrorCheck Call block(ByVal 32, ByVal (StanDurationPts + 31)) Call extract

PAGE 175

164 Appendix A (Continued) Call swap Call drop Call dpush(20000 StanDurationPts) Call value(ByVal 0#) Call catn(2) Call qpop16(ByVal 1) Call dropall End Sub FRMINTERVAL Private Sub Command1_Click() mclick = 1 ExitFlagB = 1 Unload FRMINTERVAL End Sub Private Sub HappyFace1() Image4.Visible = True Call delay(0.3) Image4.Visible = False Image5.Visible = True Call delay(0.3) Image5.Visible = False Image6.Visible = True Call delay(0.3) Image6.Visible = False End Sub Public Sub HappyFace2() Image7.Visible = True Call delay(0.3) Image7.Visible = False Image8.Visible = True Call delay(0.3) Image8.Visible = False Image9.Visible = True Call delay(0.3) Image9.Visible = False End Sub Private Sub INTERVAL1_Click() Choice = 1 mclick = 1 If Signal = 1 Then Call HappyFace1 End If If Signal = 2 Then Call HappyFace2 End If

PAGE 176

165 Appendix A (Continued) STANDARD.Visible = False INTERVAL1.Visible = False INTERVAL2.Visible = False End Sub Private Sub INTERVAL2_Click() Choice = 2 mclick = 1 If Signal = 1 Then Call HappyFace1 End If If Signal = 2 Then Call HappyFace2 End If INTERVAL1.Visible = False INTERVAL2.Visible = False STANDARD.Visible = False End Sub FRMRESULTS Private Sub CmdEnd_Click() End EndFlag = 1 End Sub Private Sub CmdRepeat_Click() ExitFlagR = 1 Unload FrmResults Call InitializePD1 End Sub Private Sub CmdSave_Click() CmdSave.Enabled = False Dim boolAdding As Boolean If (DatDiscriminationPliLi.Recordset.EOF = False A nd DatDiscriminationPliLi.Rec ordset.BOF = False) Then DatDiscriminationPliLi.Recordse t.CancelUpdate 'adEditNone DatDiscriminati onPliLi.Record set.AddNew boolAdding = (DatDiscriminati onPliLi.Recordset.EditMode = adEditAdd) Call LoadValues DatDiscriminationPliLi.Recordset.Update If boolAdding Then DatDiscriminationPliLi.Recordset.MoveLast End If CmdSave.Enabled = Not CmdSave.Enabled DatDiscriminationPliLi.Enabled = Not DatDiscriminationPliLi.EOFAction

PAGE 177

166 Appendix A (Continued) FrmResults.PrintForm Printer.EndDoc Call AddDisplay Unload FrmResults If EndFlag = 1 Then End End If Call InitializePD1 End Sub Private Sub Form_Load() LoadValues FrmResults.Show 0 End Sub Public Sub LoadValues() TxtResultsID.Text = SubID TxtResultsCondition.Text = Condition TxtResultsStartAttn.Text = StartAttn TxtResultsFixedAttn.Text = FixedAttn TxtArithMeanThresh.Text = ArithMeanThresh TxtGeoMeanThresh.Text = GeoMeanThresh End Sub Private Sub AddDisplay() Dim StrAddDisplay As String StrAddDisplay = "Results Added to Database" MsgBox StrAddDisplay End Sub MODULE 1 Sub InitializeHardware() Dim LongRet As Long LongRet = XBlock(ByVal 100, ByVal 0) 'checks to see if the XBus is locked If LongRet = 0 Then Call ErrorCheck Exit Sub End If LongRet = APlock(ByVal 100, ByVal 0) 'checks to see if AP is locked If LongRet = 0 Then Call ErrorCheck Exit Sub End If End Sub Sub ErrorCheck() 'this is a tucker routine to deliver an error message 'to the screen. These are for hardware errors Dim LongRet As Long

PAGE 178

167 Appendix A (Continued) Dim bytErrMsg(255) As Byte Dim strErrMsg As String LongRet = getS2err(bytErrMsg(0)) If LongRet > 0 Then strErrMsg = StrConv(bytErrMsg, vbUnicode) Call MsgBox(strErrMsg) End If End Sub Sub Main() End Sub Public Sub InitializePD1() Dim LongRet As Long LongRet = S2init(ByVal 0, ByVal INIT_PRIMARY, ByVal 1000) Call ErrorCheck Call InitializeHardware Call PD1clear(ByVal 1) Call PD1fixbug(ByVal 1) End Sub MODULE 2 (same as Module 2 above) MODULE 3 Public Declare Sub AD1clear Lib "s2drv32s.dll" Alias "_AD1clear@4" (ByVal lngdin As Long) Public Declare Sub AD1go Lib "s2drv32s.dll" Alias "_AD1go@4" (ByVal lngdin As Long) Public Declare Sub AD1stop Lib "s2drv32s.dll" A lias "_AD1stop@4" (ByVal lngdin As Long) Public Declare Sub AD1arm Lib "s2drv32s.dll" A lias "_AD1arm@4" (ByVal lngdin As Long) Public Declare Sub AD1mode Lib "s2drv32s.dll" Alias "_AD1mode@8" (ByVal lngdin As Long, ByVal lngmcode As Long) Public Declare Sub AD1srate Lib "s2drv32s.dll" Alias "_AD1 srate@8" (ByVal lngdin As Long, ByVal sngsrate As Single) Public Declare Function AD1speriod Lib "s2drv32s.dll" Alias "_AD1speriod@8" (ByV al lngdin As Long, ByVal sngsper As Single) As Single Public Declare Sub AD1clkin Lib "s2dr v32s.dll" Alias "_AD1clkin@8" (ByVal lngdin As Long, ByVal lngscode As Long) Public Declare Sub AD1clkout Lib "s2drv32s.dll" Alias "_AD1 clkout@8" (ByVal lngdin As Long, ByVal lngdcode As Long) Public Declare Sub AD1npts Lib "s2drv32s.dll" Alias "_AD 1npts@8" (ByVal lngdin As Long, ByVal lngnpts As Long) Public Declare Sub AD1mtrig Lib "s2drv32s.dll" Alias "_AD1mtrig@4" (ByVal lngdin As Long) Public Declare Sub AD1strig Lib "s2drv32s.dll" Alias "_AD1strig@4" (ByVal lngdin As Long) Public Declare Function AD1status Li b "s2drv32s.dll" Alias "_AD1status@4" (B yVal lngdin As Long) As Long Public Declare Sub AD1reps Lib "s2dr v32s.dll" Alias "_AD1reps@8" (ByVal lngdin As Long, ByVal lngnreps As Long) Public Declare Function AD1clip Li b "s2drv32s.dll" Alias "_AD1clip@4" (ByVal lngdin As Long) As Long Public Declare Sub AD1clipon Lib "s2drv32s.dll" Alias "_AD1clipon@4" (ByVal lngdin As Long) Public Declare Sub AD1tgo Lib "s2drv32s.dll" Alias "_AD1tgo@4" (ByVal lngdin As Long) Public Declare Sub AD2clear Lib "s2drv32s.dll" Alias "_AD2clear@4" (ByVal lngdin As Long) Public Declare Sub AD2go Lib "s2drv32s.dll" Alias "_AD2go@4" (ByVal lngdin As Long) Public Declare Sub AD2stop Lib "s2drv32s.dll" A lias "_AD2stop@4" (ByVal lngdin As Long)

PAGE 179

168 Appendix A (Continued) Public Declare Sub AD2arm Lib "s2drv32s.dll" A lias "_AD2arm@4" (ByVal lngdin As Long) Public Declare Sub AD2mode Lib "s2drv32s.dll" Alias "_AD2mode@8" (ByVal lngdin As Long, ByVal lngmcode As Long) Public Declare Sub AD2srate Lib "s2drv32s.dll" Alias "_AD2 srate@8" (ByVal lngdin As Long, ByVal sngsrate As Single) Public Declare Function AD2speriod Lib "s2drv32s.dll" Alias "_AD2speriod@8" (ByV al lngdin As Long, ByVal sngsper As Single) As Single Public Declare Sub AD2clkin Lib "s2dr v32s.dll" Alias "_AD2clkin@8" (ByVal lngdin As Long, ByVal lngscode As Long) Public Declare Sub AD2clkout Lib "s2drv32s.dll" Alias "_AD2 clkout@8" (ByVal lngdin As Long, ByVal lngdcode As Long) Public Declare Sub AD2npts Lib "s2drv32s.dll" Alias "_AD 2npts@8" (ByVal lngdin As Long, ByVal lngnpts As Long) Public Declare Sub AD2mtrig Lib "s2drv32s.dll" Alias "_AD2mtrig@4" (ByVal lngdin As Long) Public Declare Sub AD2strig Lib "s2drv32s.dll" Alias "_AD2strig@4" (ByVal lngdin As Long) Public Declare Function AD2status Li b "s2drv32s.dll" Alias "_AD2status@4" (B yVal lngdin As Long) As Long Public Declare Sub AD2reps Lib "s2dr v32s.dll" Alias "_AD2reps@8" (ByVal lngdin As Long, ByVal lngnreps As Long) Public Declare Function AD2clip Li b "s2drv32s.dll" Alias "_AD2clip@4" (ByVal lngdin As Long) As Long Public Declare Sub AD2gain Lib "s2dr v32s.dll" Alias "_AD2gain@12" (ByVal lngdin As Long, ByVal lngchan As Long, ByVal lnggain As Long) Public Declare Sub AD2sh Lib "s2drv32s.dll" Alias "_AD2sh @8" (ByVal lngdin As Long, ByVal lngoocode As Long) Public Declare Sub AD2sampsep Lib "s2drv32s.dll" Alias "_ AD2sampsep@8" (ByVal lngdin As Long, ByVal sngsep As Single) Public Declare Sub AD2xchans Lib "s2drv32s.dll" Alias "_ AD2xchans@8" (ByVal lngdin As Long, ByVal lngnchans As Long) Public Declare Sub AD2tgo Lib "s2drv32s.dll" Alias "_AD2tgo@4" (ByVal lngdin As Long) Public Declare Sub ADclear Lib "s2drv32s.dll" Alias "_ADclear@4" (ByVal lngdin As Long) Public Declare Sub ADgo Lib "s2drv32s.dll" Al ias "_ADgo@4" (ByVal lngdin As Long) Public Declare Sub ADtgo Lib "s2drv32s.dll" Al ias "_ADtgo@4" (ByVal lngdin As Long) Public Declare Sub ADstop Lib "s2drv32s.dll" Alias "_ADstop@4" (ByVal lngdin As Long) Public Declare Sub ADarm Li b "s2drv32s.dll" Alias "_ADarm@4" (ByVal lngdin As Long) Public Declare Sub ADmode Lib "s2drv32s .dll" Alias "_ADmode@8" (ByVal lngd in As Long, ByVal lngmcode As Long) Public Declare Sub ADsrate Lib "s2dr v32s.dll" Alias "_ADsrate@8" (ByVal l ngdin As Long, ByVal sngsrate As Single) Public Declare Function ADsperiod Lib "s2drv32s.dll" Alias "_ADsperiod@8" (ByV al lngdin As Long, ByVal sngsper As Single) As Single Public Declare Sub ADclkin Lib "s2drv32s.dll" Alias "_ADc lkin@8" (ByVal lngdin As Long, ByVal lngscode As Long) Public Declare Sub ADclkout Lib "s2dr v32s.dll" Alias "_ADclkout@8" (ByVal lngdin As Long, ByVal lngdcode As Long) Public Declare Sub ADnpts Lib "s2drv32s .dll" Alias "_ADnpts@8" (ByVal lngdi n As Long, ByVal lngnpts As Long) Public Declare Sub ADmtrig Li b "s2drv32s.dll" Alias "_ADmtrig@4" (ByVal lngdin As Long) Public Declare Sub ADstrig Li b "s2drv32s.dll" Alias "_ADstrig@4" (ByVal lngdin As Long) Public Declare Function ADstatus Lib "s2drv32s.dll" Alia s "_ADstatus@4" (ByVal lngdin As Long) As Long Public Declare Sub ADreps Lib "s2drv32s.dll" Alias "_ADrep s@8" (ByVal lngdin As Long, ByVal lngnreps As Long) Public Declare Function APlock Lib "s2drv32s.dll" Alias "_ APlock@8" (ByVal lngmtry As Long, ByVal lngfstart As Long) As Long Public Declare Sub APunlock Li b "s2drv32s.dll" Alias "_APunlock@ 4" (ByVal lngfend As Long) Public Declare Function APactive Lib "s2dr v32s.dll" Alias "_APactive@0" () As Long Public Declare Function APinit Lib "s 2drv32s.dll" Alias "_APinit@12" (ByVal lngdn As Long, ByVal lngimode As Long, ByVal lngapt As Long) As Long Public Declare Sub CG1go Lib "s2drv32s.dll" Alias "_CG1go@4" (ByVal lngdin As Long)

PAGE 180

169 Appendix A (Continued) Public Declare Sub CG1stop Li b "s2drv32s.dll" Alias "_CG1stop@4" (ByVal lngdin As Long) Public Declare Sub CG1reps Lib "s2dr v32s.dll" Alias "_CG1reps@8" (ByVal lngdin As Long, ByVal lngreps As Long) Public Declare Sub CG1trig Lib "s2drv32s .dll" Alias "_CG1trig@8" (ByVal lngdi n As Long, ByVal lngttype As Long) Public Declare Sub CG1period Lib "s2drv32s.dll" Alias "_ CG1period@8" (ByVal lngdin As Long, ByVal sngperiod As Single) Public Declare Sub CG1pulse Lib "s2dr v32s.dll" Alias "_CG1pulse@12" (ByVal lngdin As Long, ByVal sngon_t As Single, ByVal sngoff_t As Single) Public Declare Function CG1active Lib "s2drv32s.dll" Alia s "_CG1active@4" (ByVal lngdin As Long) As Long Public Declare Sub CG1patch Lib "s2dr v32s.dll" Alias "_CG1patch@8" (ByVal lngdin As Long, ByVal lngpcode As Long) Public Declare Sub CG1tgo Lib "s2drv32s.dll" Alias "_CG1tgo@4" (ByVal lngdin As Long) Public Declare Sub DB4clear Lib "s2drv32s.dll" Alias "_DB4clear@4" (ByVal lngdin As Long) Public Declare Function DB4setgain Lib "s2drv32s.dll" Al ias "_DB4setgain@12" (ByVal lngdin As Long, ByVal lngchan As Long, ByVal sngga in As Single) As Single Public Declare Function DB4selgain Lib "s2drv32s.dll" Al ias "_DB4selgain@12" (ByVal lngdin As Long, ByVal lngchan As Long, ByVal lnggs As Long) As Single Public Declare Function DB4setfilt Li b "s2drv32s.dll" Alias "_DB4setfilt@16" (ByVal lngdin As Long, ByVal lngchan As Long, ByVal lngftype As L ong, ByVal sngffreq As Single) As Single Public Declare Function DB4selfilt Li b "s2drv32s.dll" Alias "_DB4selfilt@16" (ByVal lngdin As Long, ByVal lngchan As Long, ByVal lngftype As Long, ByVal lngfs As Long) As Single Public Declare Sub DB4userfilt Lib "s2drv32s.dll" Alias "_ DB4userfilt@16" (ByVal lngdin As Long, ByVal lngchan As Long, ByVal lngfn As Long, ByRef sngcoef As Single) Public Declare Sub DB4setIT Lib "s2dr v32s.dll" Alias "_DB4setIT@12" (ByVal lngdin As Long, ByVal lngchan As Long, ByVal lngit As Long) Public Declare Sub DB4nchan Lib "s2dr v32s.dll" Alias "_DB4nchan@8" (ByVal lngdin As Long, ByVal lngnc As Long) Public Declare Sub DB4setTS Lib "s2drv32s.dll" Alias "_DB 4setTS@12" (ByVal lngdin As Long, ByVal sngamp As Single, ByVal sngfreq As Single) Public Declare Sub DB4onTS Lib "s2drv32s.dll" Alias "_DB4onTS@4" (ByVal lngdin As Long) Public Declare Sub DB4offTS Lib "s2drv32s.dll" Alias "_DB4offTS@4" (ByVal lngdin As Long) Public Declare Sub DB4startIM Lib "s2drv32s.dll" Alias "_DB4startIM@8" (B yVal lngdin As Long, ByVal lngchan As Long) Public Declare Sub DB4stopIM Lib "s2drv32s.dll" Alias "_DB4stopIM@4" (ByVal lngdin As Long) Public Declare Function DB4readIM Li b "s2drv32s.dll" Alias "_DB4readIM@8" (ByVal lngdin As Long, ByVal lngpc As Long) As Long Public Declare Function DB4getclip Lib "s2drv32s.dll" Alia s "_DB4getclip@4" (ByVal lngdin As Long) As Long Public Declare Function DB4getstat Lib "s2drv32s.dll" Alia s "_DB4getstat@4" (ByVal lngdin As Long) As Long Public Declare Sub DB4powdown Li b "s2drv32s.dll" Alias "_DB4powdown@4" (ByVal lngdin As Long) Public Declare Function DB4impscan Lib "s2drv32s.dll" Alias "_DB4impscan @8" (ByVal lngdin As Long, ByVal lngtochan As Long) As Long Public Declare Function DB4getgain Li b "s2drv32s.dll" Alias "_DB4getgain@ 12" (ByVal lngdin As Long, ByVal lngchan As Long, ByRef l ngsel As Long) As Single Public Declare Function DB4getfilt Li b "s2drv32s.dll" Alias "_DB4getfilt@16" (ByVal lngdin As Long, ByVal lngchan As Long, ByVal lngft As Long, ByRef lngsel As Long) As Single Public Declare Function DB4getIT Lib "s2drv32s.dll" Alias "_DB4getIT@8" (ByVal lngdin As Long, ByVal lngchan As Long) As Long Public Declare Function DB 4getchmode Lib "s2drv32s.dll" Alias "_DB4getc hmode@4" (ByVal lngdin As Long) As Long Public Declare Function DB4getmud Li b "s2drv32s.dll" Alias "_DB4getmud@4" (ByVal lngdin As Long) As Long Public Declare Function DB4getconst Lib "s2drv32s.dll" Alias "_DB4getconst@ 8" (ByVal lngcc As Long, ByVal lngsel As Long) As Long Public Declare Sub DD1clear Lib "s2drv32s.dll" Alias "_DD1clear@4" (ByVal lngdin As Long) Public Declare Sub DD1go Lib "s2drv32s.dll" Alias "_DD1go@4" (ByVal lngdin As Long)

PAGE 181

170 Appendix A (Continued) Public Declare Sub DD1stop Lib "s2drv32s.dll" A lias "_DD1stop@4" (ByVal lngdin As Long) Public Declare Sub DD1arm Lib "s2drv32s.dll" A lias "_DD1arm@4" (ByVal lngdin As Long) Public Declare Sub DD1mode Lib "s2drv32s.dll" Alias "_DD1mode@8" (ByVal lngdin As Long, ByVal lngmcode As Long) Public Declare Sub DD1srate Lib "s2drv32s.dll" Alias "_DD1 srate@8" (ByVal lngdin As Long, ByVal sngsrate As Single) Public Declare Function DD1speriod Lib "s2drv32s.dll" Alias "_DD1speriod@8" (ByV al lngdin As Long, ByVal sngsper As Single) As Single Public Declare Sub DD1clkin Lib "s2dr v32s.dll" Alias "_DD1clkin@8" (ByVal lngdin As Long, ByVal lngscode As Long) Public Declare Sub DD1clkout Lib "s2drv32s.dll" Alias "_DD1 clkout@8" (ByVal lngdin As Long, ByVal lngdcode As Long) Public Declare Sub DD1npts Lib "s2drv32s.dll" Alias "_DD 1npts@8" (ByVal lngdin As Long, ByVal lngnpts As Long) Public Declare Sub DD1mtrig Lib "s2drv32s.dll" Alias "_DD1mtrig@4" (ByVal lngdin As Long) Public Declare Sub DD1strig Lib "s2drv32s.dll" Alias "_DD1strig@4" (ByVal lngdin As Long) Public Declare Function DD1status Li b "s2drv32s.dll" Alias "_DD1status@4" (B yVal lngdin As Long) As Long Public Declare Sub DD1reps Lib "s2dr v32s.dll" Alias "_DD1reps@8" (ByVal lngdin As Long, ByVal lngnreps As Long) Public Declare Function DD1clip Li b "s2drv32s.dll" Alias "_DD1clip@4" (ByVal lngdin As Long) As Long Public Declare Sub DD1clipon Lib "s2drv32s.dll" Alias "_DD1clipon@4" (ByVal lngdin As Long) Public Declare Sub DD1echo Lib "s2drv32s.dll" Alias "_DD1echo@4" (ByVal lngdin As Long) Public Declare Sub DD1tgo Lib "s2drv32s.dll" Alias "_DD1tgo@4" (ByVal lngdin As Long) Public Declare Sub DA1clear Lib "s2drv32s.dll" Alias "_DA1clear@4" (ByVal lngdin As Long) Public Declare Sub DA1go Lib "s2drv32s.dll" Alias "_DA1go@4" (ByVal lngdin As Long) Public Declare Sub DA1stop Lib "s2drv32s.dll" A lias "_DA1stop@4" (ByVal lngdin As Long) Public Declare Sub DA1arm Lib "s2drv32s.dll" A lias "_DA1arm@4" (ByVal lngdin As Long) Public Declare Sub DA1mode Lib "s2drv32s.dll" Alias "_DA1mode@8" (ByVal lngdin As Long, ByVal lngmcode As Long) Public Declare Sub DA1srate Lib "s2drv32s.dll" Alias "_DA1 srate@8" (ByVal lngdin As Long, ByVal sngsrate As Single) Public Declare Function DA1speriod Lib "s2drv32s.dll" Alias "_DA1speriod@8" (ByV al lngdin As Long, ByVal sngsper As Single) As Single Public Declare Sub DA1clkin Lib "s2dr v32s.dll" Alias "_DA1clkin@8" (ByVal lngdin As Long, ByVal lngscode As Long) Public Declare Sub DA1clkout Lib "s2drv32s.dll" Alias "_DA1 clkout@8" (ByVal lngdin As Long, ByVal lngdcode As Long) Public Declare Sub DA1npts Lib "s2drv32s.dll" Alias "_DA 1npts@8" (ByVal lngdin As Long, ByVal lngnpts As Long) Public Declare Sub DA1mtrig Lib "s2drv32s.dll" Alias "_DA1mtrig@4" (ByVal lngdin As Long) Public Declare Sub DA1strig Lib "s2drv32s.dll" Alias "_DA1strig@4" (ByVal lngdin As Long) Public Declare Function DA1status Li b "s2drv32s.dll" Alias "_DA1status@4" (B yVal lngdin As Long) As Long Public Declare Sub DA1reps Lib "s2dr v32s.dll" Alias "_DA1reps@8" (ByVal lngdin As Long, ByVal lngnreps As Long) Public Declare Function DA1clip Li b "s2drv32s.dll" Alias "_DA1clip@4" (ByVal lngdin As Long) As Long Public Declare Sub DA1clipon Lib "s2drv32s.dll" Alias "_DA1clipon@4" (ByVal lngdin As Long) Public Declare Sub DA1tgo Lib "s2drv32s.dll" Alias "_DA1tgo@4" (ByVal lngdin As Long) Public Declare Sub DA3clear Lib "s2drv32s.dll" Alias "_DA3clear@4" (ByVal lngdin As Long) Public Declare Sub DA3go Lib "s2drv32s.dll" Alias "_DA3go@4" (ByVal lngdin As Long) Public Declare Sub DA3stop Lib "s2drv32s.dll" A lias "_DA3stop@4" (ByVal lngdin As Long) Public Declare Sub DA3arm Lib "s2drv32s.dll" A lias "_DA3arm@4" (ByVal lngdin As Long) Public Declare Sub DA3mode Lib "s2drv32s.dll" Alias "_DA3mode@8" (ByVal lngdin As Long, ByVal lngcmask As Long)

PAGE 182

171 Appendix A (Continued) Public Declare Sub DA3srate Lib "s2drv32s.dll" Alias "_DA3 srate@8" (ByVal lngdin As Long, ByVal sngsrate As Single) Public Declare Function DA3speriod Lib "s2drv32s.dll" Alias "_DA3speriod@8" (ByV al lngdin As Long, ByVal sngsper As Single) As Single Public Declare Sub DA3clkin Lib "s2dr v32s.dll" Alias "_DA3clkin@8" (ByVal lngdin As Long, ByVal lngscode As Long) Public Declare Sub DA3clkout Lib "s2drv32s.dll" Alias "_DA3 clkout@8" (ByVal lngdin As Long, ByVal lngdcode As Long) Public Declare Sub DA3npts Lib "s2drv32s.dll" Alias "_DA 3npts@8" (ByVal lngdin As Long, ByVal lngnpts As Long) Public Declare Sub DA3mtrig Lib "s2drv32s.dll" Alias "_DA3mtrig@4" (ByVal lngdin As Long) Public Declare Sub DA3strig Lib "s2drv32s.dll" Alias "_DA3strig@4" (ByVal lngdin As Long) Public Declare Function DA3status Li b "s2drv32s.dll" Alias "_DA3status@4" (B yVal lngdin As Long) As Long Public Declare Sub DA3reps Lib "s2dr v32s.dll" Alias "_DA3reps@8" (ByVal lngdin As Long, ByVal lngnreps As Long) Public Declare Function DA3clip Li b "s2drv32s.dll" Alias "_DA3clip@4" (ByVal lngdin As Long) As Long Public Declare Sub DA3clipon Lib "s2drv32s.dll" Alias "_DA3clipon@4" (ByVal lngdin As Long) Public Declare Sub DA3tgo Lib "s2drv32s.dll" Alias "_DA3tgo@4" (ByVal lngdin As Long) Public Declare Sub DA3setslew Lib "s2drv32s.dll" Alias "_DA3 setslew@8" (ByVal lngdin As Long, ByVal lngslcode As Long) Public Declare Sub DA3zero Lib "s2drv32s.dll" A lias "_DA3zero@4" (ByVal lngdin As Long) Public Declare Sub DAclear Lib "s2drv32s.dll" Alias "_DAclear@4" (ByVal lngdin As Long) Public Declare Sub DAgo Lib "s2drv32s.dll" Al ias "_DAgo@4" (ByVal lngdin As Long) Public Declare Sub DAtgo Lib "s2drv32s.dll" Al ias "_DAtgo@4" (ByVal lngdin As Long) Public Declare Sub DAstop Lib "s2drv32s.dll" Alias "_DAstop@4" (ByVal lngdin As Long) Public Declare Sub DAarm Li b "s2drv32s.dll" Alias "_DAarm@4" (ByVal lngdin As Long) Public Declare Sub DAmode Lib "s2drv32s .dll" Alias "_DAmode@8" (ByVal lngd in As Long, ByVal lngmcode As Long) Public Declare Sub DAsrate Lib "s2dr v32s.dll" Alias "_DAsrate@8" (ByVal l ngdin As Long, ByVal sngsrate As Single) Public Declare Function DAsperiod Lib "s2drv32s.dll" Alias "_DAsperiod@8" (ByV al lngdin As Long, ByVal sngsper As Single) As Single Public Declare Sub DAclkin Lib "s2drv32s.dll" Alias "_DAc lkin@8" (ByVal lngdin As Long, ByVal lngscode As Long) Public Declare Sub DAclkout Lib "s2dr v32s.dll" Alias "_DAclkout@8" (ByVal lngdin As Long, ByVal lngdcode As Long) Public Declare Sub DAnpts Lib "s2drv32s .dll" Alias "_DAnpts@8" (ByVal lngdi n As Long, ByVal lngnpts As Long) Public Declare Sub DAmtrig Li b "s2drv32s.dll" Alias "_DAmtrig@4" (ByVal lngdin As Long) Public Declare Sub DAstrig Li b "s2drv32s.dll" Alias "_DAstrig@4" (ByVal lngdin As Long) Public Declare Function DAstatus Lib "s2drv32s.dll" Alia s "_DAstatus@4" (ByVal lngdin As Long) As Long Public Declare Sub DAreps Lib "s2drv32s.dll" Alias "_DArep s@8" (ByVal lngdin As Long, ByVal lngnreps As Long) Public Declare Sub ET1clear Lib "s2drv32s.dll" A lias "_ET1clear@4" (ByVal lngdin As Long) Public Declare Sub ET1mult Li b "s2drv32s.dll" Alias "_ET1mult@4" (ByVal lngdin As Long) Public Declare Sub ET1compare Lib "s2drv32s.dll" A lias "_ET1compare@4" (ByVal lngdin As Long) Public Declare Sub ET1evcount Lib "s2drv32s.dll" Alias "_ET1evcount@4" (ByVal lngdin As Long) Public Declare Sub ET1go Lib "s2drv32s.dll" Alias "_ET1go@4" (ByVal lngdin As Long) Public Declare Sub ET1stop Lib "s2drv32s.dll" A lias "_ET1stop@4" (ByVal lngdin As Long) Public Declare Function ET1ac tive Lib "s2drv32s.dll" Alias "_ET1active@ 4" (ByVal lngdin As Long) As Long Public Declare Sub ET1blocks Lib "s 2drv32s.dll" Alias "_ET1blocks@8" (ByVal lngdin As Long, ByVal lngnblocks As Long) Public Declare Sub ET1xlogic Lib "s2dr v32s.dll" Alias "_ET1xlogic@8" (ByVal lngdin As Long, ByVal lnglmask As Long) Public Declare Function ET1report Lib "s2drv32s.dll" Al ias "_ET1report@4" (ByVal lngdin As Long) As Long Public Declare Function ET1read32 Lib "s2drv32s.dll" Alia s "_ET1read32@4" (ByVal lngdin As Long) As Long

PAGE 183

172 Appendix A (Continued) Public Declare Function ET1read16 Lib "s2drv32s.dll" Alia s "_ET1read16@4" (ByVal lngdin As Long) As Long Public Declare Sub ET1drop Lib "s2drv32s.dll" Alias "_ET1drop@4" (ByVal lngdin As Long) Public Declare Sub HTIclear Li b "s2drv32s.dll" Alias "_HTIclear@4" (ByVal lngdin As Long) Public Declare Sub HTIgo Lib "s2drv32s.dll" Al ias "_HTIgo@4" (ByVal lngdin As Long) Public Declare Sub HTIstop Lib "s2drv32s.dll" Alias "_HTIstop@4" (ByVal lngdin As Long) Public Declare Sub HTIreadAER Lib "s2drv32s.dll" Alias "_ HTIreadAER@16" (ByVal lngd in As Long, ByRef sngaz As Single, ByRef sngel As Single, ByRef sngroll As Single) Public Declare Sub HTIreadXYZ Lib "s 2drv32s.dll" Alias "_HTIreadXYZ@16" (B yVal lngdin As Long, ByRef sngx As Single, ByRef sngy As Si ngle, ByRef sngz As Single) Public Declare Sub HTIwriteraw Lib "s2drv32s.dll" Alia s "_HTIwriteraw@8" (ByVal lngdin As Long, ByRef bytcmdstr As Byte) Public Declare Sub HTIsetraw Lib "s 2drv32s.dll" Alias "_HTIsetraw@10" (ByV al lngdin As Long, ByVal lngnbytes As Long, ByVal bytc1 As Byte, ByVal bytc2 As Byte) Public Declare Sub HTIreadraw Lib "s2drv32s.dll" Alias "_HTIreadraw@12" (ByVal lngdin As Long, ByVal lngmaxchars As Long, ByRef bytbuf As Byte) Public Declare Sub HTIboresight Lib "s2drv32s.dll" Alias "_HTIboresi ght@4" (ByVal lngdin As Long) Public Declare Sub HTIreset Lib "s2drv32s.dll" A lias "_HTIreset@4" (ByVal lngdin As Long) Public Declare Sub HTIshowparam Li b "s2drv32s.dll" Alias "_HTIshowparam@ 8" (ByVal lngdin As Long, ByVal lngpid As Long) Public Declare Function HTIreadone Lib "s2drv32s.dll" Alias "_HTIreadone @8" (ByVal lngdin As Long, ByVal lngpid As Long) As Single Public Declare Sub HTIfastAER Lib "s2drv32s.dll" Alias "_ HTIfastAER@16" (ByVal lngdin As Long, ByRef lngaz As Long, ByRef lngel As Long, ByRef lngroll As Long) Public Declare Sub HTIfastXYZ Lib "s2dr v32s.dll" Alias "_HTIfastXYZ@16" (ByVal lngdin As Long, ByRef lngx As Long, ByRef lngy As Long, ByRef lngz As Long) Public Declare Function HTIgetecode Lib "s2drv32s.dll" Alias "_HTIgetecode@4 (ByVal lngdin As Long) As Long Public Declare Sub HTIisISO Lib "s2drv32s.dll" Alias "_HTIisI SO@4" (ByVal lngdin As Long) Public Declare Function LoadHRTFFile Lib "s2drv32s.dll" Alias "_LoadHRTFFile@8 (ByRef hrtf As Variant, ByRef fname As Byte) As Long Public Declare Sub MC1clear Lib "s2drv32s.dll" Alias "_MC1cle ar@4" (ByVal lngdin As Long) Public Declare Sub MC1pos Lib "s2drv32s .dll" Alias "_MC1pos@8" (ByVal lngdin As Long, ByVal lngpos As Long) Public Declare Sub MC1vel Lib "s2drv32s.d ll" Alias "_MC1vel@12" (ByVal lngdin As Long, ByVal lngvel As Long, ByVal lngperm As Long) Public Declare Sub MC1acc Lib "s2drv32s .dll" Alias "_MC1acc@12" (ByVal lngdi n As Long, ByVal lngacc As Long, ByVal lngperm As Long) Public Declare Sub MC1move Li b "s2drv32s.dll" Alias "_MC1move @4" (ByVal lngdin As Long) Public Declare Sub MC1syncmove Lib "s2drv32s.dll" Alias "_MC1syncmove@4" (ByVal lngdin As Long) Public Declare Sub MC1gear Lib "s2dr v32s.dll" Alias "_MC1gear@8" (ByVal lngdin As Long, ByVal snggratio As Single) Public Declare Sub MC1home Lib "s2drv32s.dll" Alias "_MC1home@8" (ByV al lngdin As Long, ByVal lnghome As Long) Public Declare Sub MC1boundry Lib "s2drv32s.dll" Alia s "_MC1boundry@12" (ByVal lngdin As Long, ByVal lngminp As Long, ByVal lngmaxp As Long) Public Declare Sub MC1reference Lib "s2drv32s.dll" Alia s "_MC1reference@16" (ByVal lngdin As Long, ByVal lngrefmode As Long, ByVal lngsrchvel As Long, ByVal lngrefpos As Long) Public Declare Sub MC1filter Lib "s2dr v32s.dll" Alias "_MC1filter@12" (ByVal lngdin As Long, ByVal lngpar As Long, ByVal lngv As Long) Public Declare Function MC1status Li b "s2drv32s.dll" Alias "_MC1status@4" (ByVal lngdin As Long) As Long Public Declare Function MC1curpos Li b "s2drv32s.dll" Alias "_MC1curpos@4" (ByVal lngdin As Long) As Long Public Declare Function MC1curvel Lib "s2drv32s.dll" Alia s "_MC1curvel@4" (ByVal lngdin As Long) As Long Public Declare Sub MC1go Lib "s2drv32s.dll" Alias "_MC1go@4" (ByVal lngdin As Long) Public Declare Sub MC1stop Lib "s2drv32s.dll" Alias "_MC1stop@4" (ByVal lngdin As Long) Public Declare Sub MC1kill Li b "s2drv32s.dll" Alias "_MC1kill@4" (ByVal lngdin As Long) Public Declare Sub MC1zero Lib "s2drv32s.dll" Alias "_MC1zero@4" (ByVal lngdin As Long)

PAGE 184

173 Appendix A (Continued) Public Declare Sub MC1gohome Lib "s2drv32s.dll" A lias "_MC1gohome@4" (ByVal lngdin As Long) Public Declare Sub MC1goref Lib "s2drv32s.dll" Alias "_MC1goref@4" (ByVal lngdin As Long) Public Declare Function MC1getparam Lib "s2drv32s.dll" Alias "_MC1getparam@8" (ByVal lngdin As Long, ByVal lngparcode As Long) As Long Public Declare Sub PA4atten Lib "s2dr v32s.dll" Alias "_PA4atten@8" (ByVal lngdin As Long, ByVal sngatten As Single) Public Declare Sub PA4setup Lib "s2dr v32s.dll" Alias "_PA4setup@12" (ByVal lngdin As Long, ByVal sngbase As Single, ByVal sngstep As Single) Public Declare Sub PA4mute Li b "s2drv32s.dll" Alias "_PA4mute@ 4" (ByVal lngdin As Long) Public Declare Sub PA4nomute Lib "s2drv32s.dll" A lias "_PA4nomute@4" (ByVal lngdin As Long) Public Declare Sub PA4ac Lib "s2drv32s.dll" Al ias "_PA4ac@4" (ByVal lngdin As Long) Public Declare Sub PA4dc Li b "s2drv32s.dll" Alias "_PA4dc@4" (ByVal lngdin As Long) Public Declare Sub PA4man Li b "s2drv32s.dll" Alias "_PA4man@4" (ByVal lngdin As Long) Public Declare Sub PA4auto Lib "s2drv32s.dll" A lias "_PA4auto@4" (ByVal lngdin As Long) Public Declare Function PA4read Li b "s2drv32s.dll" Alias "_PA4read@4" (ByVal lngdin As Long) As Single Public Declare Sub PI2clear Lib "s2drv32s.dll" Alias "_PI2cl ear@4" (ByVal lngdin As Long) Public Declare Sub PI2outs Lib "s2drv32s.dll" Alias "_PI 2outs@8" (ByVal lngdin As Long, ByVal lngomask As Long) Public Declare Sub PI2logic Lib "s2drv32s.dll" Alias "_PI 2logic@12" (ByVal lngdin As Long, ByVal lnglogout As Long, ByVal lnglogin As Long) Public Declare Sub PI2write Lib "s2dr v32s.dll" Alias "_PI2write@8" (ByVal ln gdin As Long, ByVal lngbitcode As Long) Public Declare Function PI2read Lib "s2drv32s.dll" A lias "_PI2read@4" (ByVal lngdin As Long) As Long Public Declare Sub PI2debounce Lib "s2drv32s.dll" Alia s "_PI2debounce@8" (ByVal lngdin As Long, ByVal lngdbtime As Long) Public Declare Sub PI2autotime Lib "s 2drv32s.dll" Alias "_PI2autotime@12" (ByV al lngdin As Long, ByVal lngbitn As Long, ByVal lngdur As Long) Public Declare Sub PI2setbit Lib "s2dr v32s.dll" Alias "_PI2setbit@8" (ByVal lngdin As Long, ByVal lngbitmask As Long) Public Declare Sub PI2clrbit Lib "s2dr v32s.dll" Alias "_PI2clrbit@8" (ByVal lngdin As Long, ByVal lngbitmask As Long) Public Declare Sub PI2zer otime Lib "s2drv32s.dll" Alias "_PI2zero time@8" (ByVal lngdin As Long, ByVal lngbitmask As Long) Public Declare Function PI2ge ttime Lib "s2drv32s.dll" Alias "_PI2gettime@8" (ByVal lngdin As Long, ByVal lngbitn As Long) As Long Public Declare Sub PI2latch Lib "s2dr v32s.dll" Alias "_PI2latch@8" (ByVal lngdin As Long, ByVal lnglmask As Long) Public Declare Sub PI2map Lib "s2drv32s .dll" Alias "_PI2map@12" (ByVal lngdi n As Long, ByVal lngbitn As Long, ByVal lngmmask As Long) Public Declare Sub PI2outsX Lib "s 2drv32s.dll" Alias "_PI2outsX@8" (ByVal lngdin As Long, ByVal lngpnum As Long) Public Declare Sub PI2writeX Lib "s 2drv32s.dll" Alias "_PI2writeX@12" (ByV al lngdin As Long, ByVal lngpnum As Long, ByVal lngval As Long) Public Declare Function PI2readX Lib "s2drv32s.dll" Alias "_PI2readX@8" (ByVal lngdin As Long, ByVal lngpnum As Long) As Long Public Declare Sub PI2toggle Lib "s2drv32s.dll" Alias "_PI 2toggle@8" (ByVal lngdin As Long, ByVal lngtmask As Long) Public Declare Sub PF1type Lib "s2drv32s.dll" Alias "_PF1 type@12" (ByVal lngdin As Long, ByVal lngtype As Long, ByVal lngntaps As Long) Public Declare Sub PF1begin Lib "s2drv32s.dll" Alias "_PF1begin@4" (ByVal lngdin As Long) Public Declare Sub PF1bypass Lib "s2drv32s.dll" Alias "_PF1bypass@4" (ByVal lngdin As Long) Public Declare Sub PF1nopass Li b "s2drv32s.dll" Alias "_PF1nopass@ 4" (ByVal lngdin As Long) Public Declare Sub PF1b16 Lib "s2drv32s.d ll" Alias "_PF1b16@8" (ByVal lngdin As Long, ByVal lngbcoe As Long) Public Declare Sub PF1a16 Lib "s2drv32s.dll" Alias "_PF1a 16@8" (ByVal lngdin As Long, ByVal lngacoe As Long)

PAGE 185

174 Public Declare Sub PF1b32 Lib "s2drv32s.d ll" Alias "_PF1b32@8" (ByVal lngdin As Long, ByVal lngbcoe As Long) Public Declare Sub PF1a32 Lib "s2drv32s.dll" Alias "_PF1a 32@8" (ByVal lngdin As Long, ByVal lngacoe As Long) Public Declare Sub PF1freq Lib "s2drv32s.dll" Alias "_PF1fre q@12" (ByVal lngdin As Long, ByVal lnglpfreq As Long, ByVal lnghpfreq As Long) Public Declare Sub PF1gain Lib "s2drv32s .dll" Alias "_PF1gain@12" (ByVal lngdin As Long, ByVal lnglpgain As Long, ByVal lnghpgain As Long) Public Declare Sub PF1fir16 Lib "s2drv32s.dll" Alias "_PF1 fir16@12" (ByVal lngdin As Long, ByRef sngbcoes As Single, ByVal lngntaps As Long) Public Declare Sub PF1fir32 Lib "s2drv32s.dll" Alias "_PF1 fir32@12" (ByVal lngdin As Long, ByRef sngbcoes As Single, ByVal lngntaps As Long) Public Declare Sub PF1iir32 Lib "s2drv32s.dll" Alias "_PF1 iir32@16" (ByVal lngdin As Long, ByRef sngbcoes As Single, ByRef sngacoes As Si ngle, ByVal lngntaps As Long) Public Declare Sub PF1biq16 Lib "s2dr v32s.dll" Alias "_PF1biq16@16" (ByVal lngdin As Long, ByRef sngbcoes As Single, ByRef sngacoes As Si ngle, ByVal lngnbiqs As Long) Public Declare Sub PF1biq32 Lib "s2dr v32s.dll" Alias "_PF1biq32@16" (ByVal lngdin As Long, ByRef sngbcoes As Single, ByRef sngacoes As Si ngle, ByVal lngnbiqs As Long) Public Declare Sub PM1clear Lib "s2drv32s.dll" Alias "_PM1clear@4" (ByVal lngdin As Long) Public Declare Sub PM1config Lib "s 2drv32s.dll" Alias "_PM1config@8" (ByV al lngdin As Long, ByVal lngconfig As Long) Public Declare Sub PM1mode Lib "s2drv32s.dll" Alias "_PM1mode@8" (ByV al lngdin As Long, ByVal lngcmode As Long) Public Declare Sub PM1spkon Lib "s2dr v32s.dll" Alias "_PM1spkon@8" (ByVal lngdin As Long, ByVal lngsn As Long) Public Declare Sub PM1spkoff Lib "s2dr v32s.dll" Alias "_PM1spkoff@8" (ByVal lngdin As Long, ByVal lngsn As Long) Public Declare Sub PD1clear Lib "s2drv32s.dll" Alias "_PD1clear@4" (ByVal lngdin As Long) Public Declare Sub PD1go Lib "s2drv32s.dll" Alias "_PD1go@4" (ByVal lngdin As Long) Public Declare Sub PD1stop Li b "s2drv32s.dll" Alias "_PD1stop@ 4" (ByVal lngdin As Long) Public Declare Sub PD1arm Li b "s2drv32s.dll" Alias "_PD1arm@4" (ByVal lngdin As Long) Public Declare Sub PD1nstrms Lib "s 2drv32s.dll" Alias "_PD1nstrms@12" (ByV al lngdin As Long, ByVal lngnDAC As Long, ByVal lngnADC As Long) Public Declare Sub PD1srate Lib "s2dr v32s.dll" Alias "_PD1srate@8" (ByVal ln gdin As Long, ByVal sngsrate As Single) Public Declare Function PD1speriod Lib "s2drv32s.dll" Al ias "_PD1speriod@8" (ByVal lngdin As Long, ByVal sngsper As Single) As Single Public Declare Sub PD1clkin Lib "s2drv32s.dll" Alias "_PD 1clkin@8" (ByVal lngdin As Long, ByVal lngscode As Long) Public Declare Sub PD1clkout Lib "s2dr v32s.dll" Alias "_PD1clkout@8" (ByVal lngdin As Long, ByVal lngdcode As Long) Public Declare Sub PD1npts Lib "s2drv32s.d ll" Alias "_PD1npts@8" (ByVal lngdin As Long, ByVal lngnpts As Long) Public Declare Sub PD1mtrig Lib "s2drv32s.dll" Alias "_PD1mtr ig@4" (ByVal lngdin As Long) Public Declare Sub PD1strig Li b "s2drv32s.dll" Alias "_PD1strig@4" (ByVal lngdin As Long) Public Declare Function PD1status Li b "s2drv32s.dll" Alias "_PD1status@4" (ByVal lngdin As Long) As Long Public Declare Sub PD1reps Lib "s2drv32s.dll" Alias "_PD 1reps@8" (ByVal lngdin As Long, ByVal lngnreps As Long) Public Declare Sub PD1tgo Lib "s2drv32s.dll" Alias "_PD1tgo@4" (ByVal lngdin As Long) Public Declare Sub PD1zero Li b "s2drv32s.dll" Alias "_PD1zero@4" (ByVal lngdin As Long) Public Declare Sub PD1xcmd Lib "s2dr v32s.dll" Alias "_PD1xcmd@16" (ByVal lngdin As Long, ByRef intv As Integer, ByVal lngn As Long, ByRef bytcaller As Byte) Public Declare Sub PD1xdata Lib "s2dr v32s.dll" Alias "_PD1xdata@8" (ByVal lngdin As Long, ByVal lngdata_id As Long) Public Declare Sub PD1xboot Li b "s2drv32s.dll" Alias "_PD1xboot@4" (ByVal lngdin As Long) Public Declare Function PD 1checkDSPS Lib "s2drv32s.dll" Alias "_PD1ch eckDSPS@4" (ByVal lngdin As Long) As Long Public Declare Function PD1what Lib "s2drv32s.dll" Alias "_PD1what@16" (ByVal lngdin As Long, ByVal lngdcode As Long, ByVal lngdnum As Long, By Ref bytcaller As Byte) As Long Public Declare Sub PD1mode Lib "s2drv32s.dll" Alias "_PD1mode@8" (ByV al lngdin As Long, ByVal lngmode As Long)

PAGE 186

175 Appendix A (Continued) Public Declare Function PD1export Lib "s2drv32s.dll" Alia s "_PD1export@8" (ByVal lngvarcode As Long, ByRef lngindicies As Long) As Long Public Declare Sub PD1resetRTE Li b "s2drv32s.dll" Alias "_PD1resetRT E@4" (ByVal lngdin As Long) Public Declare Sub PD1nstrmsRTE Lib "s2drv32s.dll" Alia s "_PD1nstrmsRTE@12" (ByVal lngdin As Long, ByVal lngnIC As Long, ByVal lngnOG As Long) Public Declare Sub PD1flushRTE Lib "s2drv32s.dll" Al ias "_PD1flushRTE@4" (ByVal lngdin As Long) Public Declare Sub PD1clrIO Lib "s2drv32s.dll" Alias "_PD1clrIO@4" (ByVal lngdin As Long) Public Declare Sub PD1setIO Lib "s2drv32s.dll" Alias "_PD 1setIO@20" (ByVal lngdin As Long, ByVal sngdt1 As Single, ByVal sngdt2 As Singl e, ByVal sngat1 As Single, ByVal sngat2 As Single) Public Declare Sub PD1clrDEL Lib "s2drv32s.dll" Alias "_ PD1clrDEL@20" (ByVal lngdin As Long, ByVal lngch1 As Long, ByVal lngch2 As Long, ByVal lngch3 As Long, ByVal lngch4 As Long) Public Declare Sub PD1setDEL Lib "s 2drv32s.dll" Alias "_PD1setDEL@12" (ByV al lngdin As Long, ByVal lngtap As Long, ByVal lngdly As Long) Public Declare Sub PD1latchDEL Li b "s2drv32s.dll" Alias "_PD1latchD EL@4" (ByVal lngdin As Long) Public Declare Sub PD1flushDEL Lib "s2drv32s.dll" Al ias "_PD1flushDEL@4" (ByVal lngdin As Long) Public Declare Sub PD1interpDEL Lib "s2drv32s.dll" Alia s "_PD1interpDEL@8" (ByVal lngdin As Long, ByVal lngifact As Long) Public Declare Sub PD1clrsched Lib "s2drv32s.dll" A lias "_PD1clrsched@4" (ByVal lngdin As Long) Public Declare Sub PD1addsimp Lib "s 2drv32s.dll" Alias "_PD1addsimp@12" (ByV al lngdin As Long, ByVal lngsrc As Long, ByVal lngdes As Long) Public Declare Sub PD1addmult Lib "s 2drv32s.dll" Alias "_PD1addmult@20" (ByV al lngdin As Long, ByRef lngsrc As Long, ByRef sngsf As Single, ByVal lngnsrcs As Long, By Val lngdes As Long) Public Declare Sub PD1specIB Lib "s 2drv32s.dll" Alias "_PD1specIB@12" (ByVal lngdin As Long, ByVal lngIBnum As Long, ByVal lngdesaddr As Long) Public Declare Sub PD1specOB Lib "s2drv32s.dll" Alias "_PD1specOB@12" (ByVal lngdin As Long, ByVal lngOBnum As Long, ByVal lngsrcaddr As Long) Public Declare Sub PD1idleDSP Lib "s2drv32s.dll" Alia s "_PD1idleDSP@8" (ByVal lngdin As Long, ByVal lngdmask As Long) Public Declare Sub PD1resetDSP Lib "s2drv32s.dll" Alias "_PD1resetDSP@8" (ByVal lngdin As Long, ByVal lngdmask As Long) Public Declare Sub PD1bypassDSP Lib "s2drv32s.dll" Alia s "_PD1bypassDSP@8" (ByVal lngdin As Long, ByVal lngdmask As Long) Public Declare Sub PD1lockDSP Li b "s2drv32s.dll" Alias "_PD1lockDSP@8" (ByVal lngdin As Long, ByVal lngdmask As Long) Public Declare Sub PD1interpDSP Lib "s2drv32s.dll" Alia s "_PD1interpDSP@12" (ByVal lngdin As Long, ByVal lngifact As Long, ByVal lngdmask As Long) Public Declare Sub PD1bootDSP Lib "s2drv32s.dll" Alias "_PD1bootDSP@12" (ByVal lngdin As Long, ByVal lngdmask As Long, ByRef bytfname As Byte) Public Declare Sub PD1syncall Li b "s2drv32s.dll" Alias "_PD1syncal l@4" (ByVal lngdin As Long) Public Declare Function PD1whatDEL Lib "s2drv32s.dll" Alias "_PD1whatD EL@4" (ByVal lngdin As Long) As Long Public Declare Function PD1whatIO Li b "s2drv32s.dll" Alias "_PD1whatIO@4" (ByVal lngdin As Long) As Long Public Declare Function PD1whatDSP Lib "s2drv32s.dll" Alias "_PD1whatDSP @8" (ByVal lngdin As Long, ByVal lngdn As Long) As Long Public Declare Function PreLoadRaw Lib "s2drv32s.dll" Alias "_PreLoadRaw@3 6" (ByVal lngdin As Long, ByVal lngdspn As Long, ByVal lngopmode As L ong, ByVal lngstype As Long, ByRef by tsrc_lm As Byte, ByRef bytsrc_r As Byte, ByVal sngsf_lm As Single, ByVal sngsf_r As Single, ByVal lnglock As Long) As Long Public Declare Function PreLoadHRTF Lib "s2drv32s.dll" Alias "_PreLoadHRTF@36" (ByVal lngdin As Long, ByVal lngdspn As Long, ByVal lngctype As Long, ByRef bytfname As Byte, By Val sngaz As Single, ByVal sngel As Single, ByVal sngsf_l As Single, ByVal sngsf_r As Single, ByVal lnglock As Long) As Long Public Declare Sub PushHRTF Lib "s2dr v32s.dll" Alias "_PushHRTF@20" (ByRef hrtf As Variant, ByVal faz As Single, ByVal fel As Single, ByVal lrs As Long, ByVal DBN As Long) Public Declare Sub PD1fixbug Li b "s2drv32s.dll" Alias "_PD1fixbug@4" (ByVal lngdin As Long) Public Declare Sub SW2on Lib "s2drv32s.dll" Alias "_SW2on@4" (ByVal lngdin As Long)

PAGE 187

176 Appendix A (Continued) Public Declare Sub SW2off Lib "s2drv32s.dll" Alias "_SW2off@4" (ByVal lngdin As Long) Public Declare Sub SW2ton Li b "s2drv32s.dll" Alias "_SW2ton@ 4" (ByVal lngdin As Long) Public Declare Sub SW2toff Li b "s2drv32s.dll" Alias "_SW2toff@4" (ByVal lngdin As Long) Public Declare Sub SW2rftime Lib "s 2drv32s.dll" Alias "_SW2rftime@8" (ByVal lngdin As Long, ByVal sngrftime As Single) Public Declare Sub SW2shape Lib "s2drv32s.dll" Alias "_SW2shape@8" (ByV al lngdin As Long, ByVal lngshcode As Long) Public Declare Sub SW2trig Lib "s2drv32s .dll" Alias "_SW2trig@8" (ByVal ln gdin As Long, ByVal lngtcode As Long) Public Declare Sub SW2dur Lib "s2drv32s .dll" Alias "_SW2dur@8" (ByVal lngdi n As Long, ByVal lngdur As Long) Public Declare Function SW2status Li b "s2drv32s.dll" Alias "_SW2status@4" (ByVal lngdin As Long) As Long Public Declare Sub SW2clear Lib "s2drv32s.dll" Alias "_SW2cle ar@4" (ByVal lngdin As Long) Public Declare Sub SD1go Lib "s2drv32s.dll" Alias "_SD1go@4" (ByVal lngdin As Long) Public Declare Sub SD1stop Li b "s2drv32s.dll" Alias "_SD1stop@ 4" (ByVal lngdin As Long) Public Declare Sub SD1use_enable Lib "s2drv32s.dll" Alias "_SD1use_enable@4" (ByVal lngdin As Long) Public Declare Sub SD1no_enable Li b "s2drv32s.dll" Alias "_SD1no_enable@ 4" (ByVal lngdin As Long) Public Declare Sub SD1hoop Lib "s2drv32s.dll" Alias "_ SD1hoop@28" (ByVal lngdin As Long, ByVal lngnum As Long, ByVal lngslope As Long, ByVal sngdly As Single, ByVal sngwidth As Single, ByVal sngupper As Single, ByVal snglower As Single) Public Declare Sub SD1numhoops Lib "s2drv32s.dll" Alia s "_SD1numhoops@8" (ByVal lngdin As Long, ByVal lngnh As Long) Public Declare Function SD1count Li b "s2drv32s.dll" Alias "_SD1count@4" (B yVal lngdin As Long) As Long Public Declare Sub SD1up Lib "s2drv32s.dll" Alias "_SD1up@ 8" (ByVal lngdin As Long, ByRef bytcbuf As Byte) Public Declare Sub SD1down Lib "s2dr v32s.dll" Alias "_SD1down@8" (ByVal lngdin As Long, ByRef bytcbuf As Byte) Public Declare Sub SS1clear Lib "s2drv32s.dll" A lias "_SS1clear@4" (ByVal lngdin As Long) Public Declare Sub SS1gainon Li b "s2drv32s.dll" Alias "_SS1gainon@ 4" (ByVal lngdin As Long) Public Declare Sub SS1gainoff Lib "s2drv32s.dll" Alias "_SS1gainoff@4" (ByVal lngdin As Long) Public Declare Sub SS1mode Lib "s2dr v32s.dll" Alias "_SS1mode@8" (ByVal ln gdin As Long, ByVal lngmcode As Long) Public Declare Sub SS1select Lib "s2dr v32s.dll" Alias "_SS1select@12" (ByVal lngdin As Long, ByVal lngchan As Long, ByVal lnginpn As Long) Public Declare Function S2in it Lib "s2drv32s.dll" Alias "_ S2init@12" (ByVal lngdn As Long, ByVal lngmode As Long, ByVal lngapt As Long) As Long Public Declare Sub S2close Lib "s 2drv32s.dll" Alias "_S2close@0" () Public Declare Sub TG6clear Lib "s2drv32s.dll" Alias "_TG6clear@4" (ByVal lngdin As Long) Public Declare Sub TG6arm Lib "s2dr v32s.dll" Alias "_TG6arm@8" (ByVal ln gdin As Long, ByVal lngsnum As Long) Public Declare Sub TG6go Lib "s2drv32s.dll" Alias "_TG6go@4" (ByVal lngdin As Long) Public Declare Sub TG6tgo Li b "s2drv32s.dll" Alias "_TG6tgo@4" (ByVal lngdin As Long) Public Declare Sub TG6stop Li b "s2drv32s.dll" Alias "_TG6stop@ 4" (ByVal lngdin As Long) Public Declare Sub TG6baserate Li b "s2drv32s.dll" Alias "_TG6baserate@8 (ByVal lngdin As Long, ByVal lngbrcode As Long) Public Declare Sub TG6new Lib "s2dr v32s.dll" Alias "_TG6new@16" (ByVal lngdin As Long, ByVal lngsnum As Long, ByVal lnglgth As Long, ByVal lngdmask As Long) Public Declare Sub TG6high Lib "s2drv32s .dll" Alias "_TG6high@20" (ByVal lngdin As Long, ByVal lngsnum As Long, ByVal lng_beg As Long, ByVal lng_ end As Long, ByVal lnghmask As Long) Public Declare Sub TG6low Lib "s2dr v32s.dll" Alias "_TG6low@20" (ByVal lngdin As Long, ByVal lngsnum As Long, ByVal lng_beg As Long, ByVal lng_ end As Long, ByVal lnglmask As Long) Public Declare Sub TG6value Lib "s2dr v32s.dll" Alias "_TG6value@20" (ByVal lngdin As Long, ByVal lngsnum As Long, ByVal lng_beg As Long, ByVal l ng_end As Long, ByVal lngval As Long) Public Declare Sub TG6dup Lib "s2drv32s .dll" Alias "_TG6dup@28" (ByVal lngd in As Long, ByVal lngsnum As Long, ByVal lngs_beg As Long, ByVal lngs_end As L ong, ByVal lngd_beg As Long, ByVal lngndups As Long, ByVal lngdmask As Long)

PAGE 188

177 Appendix A (Continued) Public Declare Sub TG6reps Lib "s2dr v32s.dll" Alias "_TG6reps@12" (ByVal lngdin As Long, ByVal lngrmode As Long, ByVal lngrcount As Long) Public Declare Function TG6status Li b "s2drv32s.dll" Alias "_TG6status@4" (ByVal lngdin As Long) As Long Public Declare Sub WG1on Lib "s2drv32s.dll" Alias "_WG1on@4" (ByVal lngdin As Long) Public Declare Sub WG1off Lib "s2drv32s.dll" Alias "_WG1off@4" (ByVal lngdin As Long) Public Declare Sub WG1clear Lib "s2drv32s.dll" Alias "_WG1cle ar@4" (ByVal lngdin As Long) Public Declare Sub WG1amp Lib "s2drv32s.dll" Alias "_ WG1amp@8" (ByVal lngdin As Long, ByVal sngamp As Single) Public Declare Sub WG1freq Lib "s2drv32s.dll" Alias "_WG 1freq@8" (ByVal lngdin As Long, ByVal sngfreq As Single) Public Declare Sub WG1swrt Lib "s2dr v32s.dll" Alias "_WG1swrt@8" (ByVal lngdin As Long, ByVal sngswrt As Single) Public Declare Sub WG1phase Lib "s2drv32s.dll" Alias "_ WG1phase@8" (ByVal lngdin As Long, ByVal sngphase As Single) Public Declare Sub WG1dc Lib "s2drv32s .dll" Alias "_WG1dc@8" (ByVal lngdin As Long, ByVal sngdc As Single) Public Declare Sub WG1shape Lib "s 2drv32s.dll" Alias "_WG1shape@8" (ByVal lngdin As Long, ByVal lngscon As Long) Public Declare Sub WG1dur Lib "s2dr v32s.dll" Alias "_WG1dur@8" (ByVal lngdin As Long, ByVal sngdur As Single) Public Declare Sub WG1rf Lib "s2drv32s.dll" Alias "_WG1 rf@8" (ByVal lngdin As Long, ByVal sngrf As Single) Public Declare Sub WG1trig Lib "s2drv32s .dll" Alias "_WG1trig@8" (ByVal ln gdin As Long, ByVal lngtcode As Long) Public Declare Sub WG1seed Lib "s2drv32s.dll" Alias "_WG1seed@8" (ByV al lngdin As Long, ByVal lngseed As Long) Public Declare Sub WG1delta Lib "s2drv32s.dll" Alias "_WG1delta@8" (ByV al lngdin As Long, ByVal lngdelta As Long) Public Declare Sub WG1wave Lib "s2drv32s.dll" Alias "_WG1wave@12" (ByV al lngdin As Long, ByRef intwave As Integer, ByVal lngnpts As Long) Public Declare Function WG1status Li b "s2drv32s.dll" Alias "_WG1status@4" (ByVal lngdin As Long) As Long Public Declare Sub WG1ton Lib "s2drv32s.dll" A lias "_WG1ton@4" (ByVal lngdin As Long) Public Declare Sub WG2on Lib "s2drv32s.dll" Alias "_WG2on@4" (ByVal lngdin As Long) Public Declare Sub WG2off Lib "s2drv32s.dll" Alias "_WG2off@4" (ByVal lngdin As Long) Public Declare Sub WG2clear Lib "s2drv32s.dll" Alias "_WG2cle ar@4" (ByVal lngdin As Long) Public Declare Sub WG2amp Lib "s2drv32s.dll" Alias "_ WG2amp@8" (ByVal lngdin As Long, ByVal sngamp As Single) Public Declare Sub WG2freq Lib "s2drv32s.dll" Alias "_WG 2freq@8" (ByVal lngdin As Long, ByVal sngfreq As Single) Public Declare Sub WG2swrt Lib "s2dr v32s.dll" Alias "_WG2swrt@8" (ByVal lngdin As Long, ByVal sngswrt As Single) Public Declare Sub WG2phase Lib "s2drv32s.dll" Alias "_ WG2phase@8" (ByVal lngdin As Long, ByVal sngphase As Single) Public Declare Sub WG2dc Lib "s2drv32s .dll" Alias "_WG2dc@8" (ByVal lngdin As Long, ByVal sngdc As Single) Public Declare Sub WG2shape Lib "s 2drv32s.dll" Alias "_WG2shape@8" (ByVal lngdin As Long, ByVal lngscon As Long) Public Declare Sub WG2dur Lib "s2dr v32s.dll" Alias "_WG2dur@8" (ByVal lngdin As Long, ByVal sngdur As Single) Public Declare Sub WG2rf Lib "s2drv32s.dll" Alias "_WG2 rf@8" (ByVal lngdin As Long, ByVal sngrf As Single) Public Declare Sub WG2trig Lib "s2drv32s .dll" Alias "_WG2trig@8" (ByVal ln gdin As Long, ByVal lngtcode As Long) Public Declare Sub WG2seed Lib "s2drv32s.dll" Alias "_WG2seed@8" (ByV al lngdin As Long, ByVal lngseed As Long) Public Declare Sub WG2delta Lib "s2drv32s.dll" Alias "_WG2delta@8" (ByV al lngdin As Long, ByVal lngdelta As Long)

PAGE 189

178 Appendix A (Continued) Public Declare Sub WG2wave Lib "s2drv32s.dll" Alias "_WG2wave@12" (ByV al lngdin As Long, ByRef intwave As Integer, ByVal lngnpts As Long) Public Declare Function WG2status Li b "s2drv32s.dll" Alias "_WG2status@4" (ByVal lngdin As Long) As Long Public Declare Sub WG2ton Lib "s2drv32s.dll" A lias "_WG2ton@4" (ByVal lngdin As Long) Public Declare Function XB1init Lib "s2drv32s.dll" Alia s "_XB1init@4" (ByVal l ngmode As Long) As Long Public Declare Sub XB1close Lib "s 2drv32s.dll" Alias "_XB1close@0" () Public Declare Sub XB1flush Lib "s2drv32s.dll" Alias "_XB1flush@0" () Public Declare Sub XB1rawout Lib "s2drv32s.dll" Alias "_XB1rawout@4" (ByVal lngv As Long) Public Declare Function XB1rawin Li b "s2drv32s.dll" Alias "_XB1rawin@4" (B yVal lngwait As Long) As Long Public Declare Function XB1device Li b "s2drv32s.dll" Alias "_XB1device@8" (ByVal lngdevcode As Long, ByVal lngdn As Long) As Long Public Declare Function XB1getdevice Lib "s2drv32s.dll" Alias "_XB1getdevice@16" (ByVal lngrn As Long, ByVal lngpn As Long, ByRef bytdtxt As Byte, ByRef lngrdin As Long) As Long Public Declare Sub XB1gtrig Lib "s 2drv32s.dll" Alias "_XB1gtrig@0" () Public Declare Sub XB1ltrig Lib "s2drv32s.dll" Alias "_XB1ltrig@4" (ByVal lngrn As Long) Public Declare Function XB1version Lib "s2drv32s.dll" Alia s "_XB1version@8" (ByVal lngdevcode As Long, ByVal lngdn As Long) As Long Public Declare Function XBlock Lib "s2drv32s.dll" Alias "_ XBlock@8" (ByVal lngmtry As Long, ByVal lngfstart As Long) As Long Public Declare Sub XBunlock Li b "s2drv32s.dll" Alias "_XBunlock@ 4" (ByVal lngfend As Long) Public Declare Function UB_allotf Lib "s2drv32s.dll" Al ias "__allotf@4" (ByVal lngnpts As Long) As Long Public Declare Function UB_allot16 Lib "s2drv32s.dll" Al ias "__allot16@4" (ByVal lngnpts As Long) As Long Public Declare Sub UB_iir Lib "s2drv32s.dll" Alias "__iir@0" () Public Declare Sub UB_fir Lib "s2drv32s.dll" Alias "__fir@0" () Public Declare Sub allotf Lib "s2drv32s .dll" Alias "_allotf@8" (ByVal lngbid As Long, ByVal lngnpts As Long) Public Declare Sub allot16 Lib "s2drv32s .dll" Alias "_allot16@8" (ByVal l ngbid As Long, ByVal lngnpts As Long) Public Declare Sub alogten Lib "s 2drv32s.dll" Alias "_alogten@0" () Public Declare Sub aloge Lib "s2drv32s.dll" Alias "_aloge@0" () Public Declare Sub add Lib "s 2drv32s.dll" Alias "_add@0" () Public Declare Sub absval Lib "s2drv32s.dll" Alias "_absval@0" () Public Declare Sub acosine Lib "s 2drv32s.dll" Alias "_acosine@0" () Public Declare Sub asine Lib "s 2drv32s.dll" Alias "_asine@0" () Public Declare Sub atangent Lib "s2drv32s.dll" Alias "_atangent@0" () Public Declare Sub atantwo Lib "s 2drv32s.dll" Alias "_atantwo@0" () Public Declare Function average Lib "s2drv32s .dll" Alias "_average@0" () As Single Public Declare Sub block Lib "s2drv32s.dll" Alias "_bloc k@8" (ByVal lngsp As Long, ByVal lngep As Long) Public Declare Sub cat Lib "s 2drv32s.dll" Alias "_cat@0" () Public Declare Sub catn Li b "s2drv32s.dll" Alias "_catn@4" (ByVal lngn As Long) Public Declare Sub cmult Lib "s 2drv32s.dll" Alias "_cmult@0" () Public Declare Sub cadd Lib "s 2drv32s.dll" Alias "_cadd@0" () Public Declare Sub cinv Lib "s 2drv32s.dll" Alias "_cinv@0" () Public Declare Sub cfft Lib "s 2drv32s.dll" Alias "_cfft@0" () Public Declare Sub cift Lib "s2drv32s.dll" Alias "_cift@0" () Public Declare Sub cosine Lib "s2drv32s.dll" Alias "_cosine@0" () Public Declare Sub chgplay Lib "s2drv32s.dll" Alias "_chgplay@4" (ByVal lngdbn As Long) Public Declare Sub cumsum Lib "s2drv32s.dll" Alias "_cumsum@0" () Public Declare Sub dpush Lib "s2drv32s.dll" Al ias "_dpush@4" (ByVal lngnpts As Long) Public Declare Sub drop Lib "s2drv32s.dll" Alias "_drop@0" () Public Declare Sub dropall Lib "s2drv32s.dll" Alias "_dropall@0" () Public Declare Sub dupn Lib "s2drv32s.dll" Alias "_dupn@4" (ByVal lngn As Long) Public Declare Sub dama2disk16 Lib "s2drv32s.dll" Alia s "_dama2disk16@12" (ByVal lngbid As Long, ByRef bytfname As Byte, ByVal lngcatflag As Long) Public Declare Sub disk2dama16 Lib "s2drv32s.dll" Alia s "_disk2dama16@12" (ByVal lngbid As Long, ByRef bytfname As Byte, ByVal lngseekpos As Long)

PAGE 190

179 Appendix A (Continued) Public Declare Sub deallot Lib "s2drv32s.dll" Al ias "_deallot@4" (ByVal lngbid As Long) Public Declare Sub divide Lib "s2drv32s.dll" Alias "_divide@0" () Public Declare Sub dplay Lib "s2drv32s.dll" Alias "_dpl ay@8" (ByVal lngdbn1 As Long, ByVal lngdbn2 As Long) Public Declare Sub drecord Lib "s2drv32s.dll" Alias _drecord@8" (ByVal lngdbn1 As Long, ByVal lngdbn2 As Long) Public Declare Sub decimate Li b "s2drv32s.dll" Alias "_decimate @4" (ByVal lngfact As Long) Public Declare Sub extract Lib "s2drv32s.dll" Alias "_extract@0" () Public Declare Sub fill Lib "s2drv32s.d ll" Alias "_fill@8" (ByVal sngstart As Single, ByVal sngstep As Single) Public Declare Sub flat Lib "s2drv32s.dll" Alias "_flat@0" () Public Declare Function freew ords Lib "s2drv32s.dll" Alias "_freewords@0" () As Long Public Declare Sub fir Lib "s2drv32s.dll" Alias "_fir@0" () Public Declare Sub fastrecord Lib "s2drv32s.dll" Alias "_fastrecord@4" (ByVal lngdbn As Long) Public Declare Sub foldnadd Lib "s2drv32s.dll" A lias "_foldnadd@4" (ByVal lngartflag As Long) Public Declare Function getS2err Lib "s2drv32s.dll" Alias "_getS2err@4" (ByRef byterr As Byte) As Long Public Declare Function getS2primary Lib "s2dr v32s.dll" Alias "_getS2primary@0" () As Long Public Declare Function getAPlockstatus Lib "s2d rv32s.dll" Alias "_getAPlockstatus@0" () As Long Public Declare Function getXBlockstatus Lib "s2d rv32s.dll" Alias "_getXBlockstatus@0" () As Long Public Declare Function getaddr Lib "s2drv32s.dll" A lias "_getaddr@4" (ByVal lngbid As Long) As Long Public Declare Sub gauss Lib "s 2drv32s.dll" Alias "_gauss@0" () Public Declare Function getnarts Lib "s2dr v32s.dll" Alias "_getnarts@0" () As Long Public Declare Sub hann Lib "s 2drv32s.dll" Alias "_hann@0" () Public Declare Sub hamm Lib "s2drv32s.dll" Alias "_hamm@0" () Public Declare Function hiblock Lib "s2dr v32s.dll" Alias "_hiblock@0" () As Long Public Declare Sub inv Lib "s 2drv32s.dll" Alias "_inv@0" () Public Declare Sub iir Lib "s2drv32s.dll" Alias "_iir@0" () Public Declare Sub interpol Lib "s2drv32s.dll" Alias "_interpol@4" (ByV al lngfact As Long) Public Declare Sub logten Lib "s2drv32s.dll" Alias "_logten@0" () Public Declare Sub loge Lib "s 2drv32s.dll" Alias "_loge@0" () Public Declare Sub logn Lib "s2drv32s.dll" Al ias "_logn@4" (ByVal sngbase As Single) Public Declare Function lowblock Lib "s2dr v32s.dll" Alias "_lowblock@0" () As Long Public Declare Sub makedama16 Lib "s2drv32s.dll" Alias "_makedama16@12" (ByVal lngbid As Long, ByVal lngind As Long, ByVal lngv As Long) Public Declare Sub makedamaf Lib "s2drv32s.dll" Alias "_ makedamaf@12" (ByVal lngbid As Long, ByVal lngind As Long, ByVal sngv As Single) Public Declare Sub make Lib "s2drv32s.dll" Alias "_ma ke@8" (ByVal lngind As Long, ByVal sngv As Single) Public Declare Sub mult Lib "s2drv32s.dll" Alias "_mult@0" () Public Declare Sub maxlim Li b "s2drv32s.dll" Alias "_maxlim@4 (ByVal sngmax As Single) Public Declare Sub minlim Li b "s2drv32s.dll" Alias "_minlim@4 (ByVal sngmin As Single) Public Declare Sub maglim Li b "s2drv32s.dll" Alias "_maglim@4 (ByVal sngmax As Single) Public Declare Function maxval Lib "s2drv32s .dll" Alias "_maxval@0" () As Single Public Declare Function minval Lib "s2dr v32s.dll" Alias "_minval@0" () As Single Public Declare Function maxmag Lib "s2dr v32s.dll" Alias "_maxmag@0" () As Single Public Declare Function maxval_ Lib "s2dr v32s.dll" Alias "_maxval_@0" () As Long Public Declare Function minval_ Lib "s2dr v32s.dll" Alias "_minval_@0" () As Long Public Declare Function maxmag_ Lib "s2dr v32s.dll" Alias "_maxmag_@0" () As Long Public Declare Sub mrecord Lib "s2drv32s.dll" Alias "_mrecord@4" (ByVal lngdbn As Long) Public Declare Sub mplay Lib "s2drv32s.dll" Alias "_mplay@4" (ByVal lngdbn As Long) Public Declare Sub noblock Lib "s 2drv32s.dll" Alias "_noblock@0" () Public Declare Sub optest Lib "s 2drv32s.dll" Alias "_optest@0" () Public Declare Sub push16 Lib "s2drv32s.d ll" Alias "_push16@8" (ByRef intbuf As Integer, ByVal lngnpts As Long) Public Declare Sub pushf Lib "s2drv32s .dll" Alias "_pushf@8" (ByRef sngbuf As Single, ByVal lngnpts As Long) Public Declare Sub pop16 Lib "s2drv32s.dll" Alia s "_pop16@4" (ByRef intbuf As Integer) Public Declare Sub popf Lib "s2drv32s.dll" Alias "_popf@4" (ByRef sngbuf As Single) Public Declare Sub popdisk16 Lib "s2drv32s.dll" Alias "_popdisk16@4" (ByRef bytfname As Byte)

PAGE 191

180 Appendix A (Continued) Public Declare Sub popdiskf Lib "s2drv32s.dll" A lias "_popdiskf@4" (ByRef bytfname As Byte) Public Declare Sub popdiska Lib "s2drv32s.dll" A lias "_popdiska@4" (ByRef bytfname As Byte) Public Declare Sub pushdisk16 Lib "s2drv32s.dll" A lias "_pushdisk16@4" (ByRef bytfname As Byte) Public Declare Sub pushdiskf Lib "s2drv32s.dll" A lias "_pushdiskf@4" (ByRef bytfname As Byte) Public Declare Sub pushdiska Lib "s2drv32s.dll" Alias "_pushdiska@4" (ByRef bytfname As Byte) Public Declare Sub parse Lib "s2drv32s.dll" Alias "_parse@4" (ByRef byts As Byte) Public Declare Sub polar Lib "s2drv32s.dll" Alias "_polar@0" () Public Declare Sub power Lib "s2drv32s.dll" Alias "_power@4" (ByVal sngpw As Single) Public Declare Sub play Lib "s2drv32s.dll" Alias "_play@4" (ByVal lngdbn As Long) Public Declare Function playseg Lib "s2drv32s.dll" Alia s "_playseg@4" (ByVal lngchan As Long) As Long Public Declare Function playcount Li b "s2drv32s.dll" Alias "_playcount@4" (ByVal lngchan As Long) As Long Public Declare Sub pfireone Lib "s2drv32s.dll" Alias "_pfireone@4" (ByVal lngdbn As Long) Public Declare Sub pfireall Lib "s 2drv32s.dll" Alias "_pfireall@0" () Public Declare Function ppausestat Li b "s2drv32s.dll" Alias "_ppausestat@4" (ByVal lngdbn As Long) As Long Public Declare Sub plotmap Lib "s2dr v32s.dll" Alias "_plotmap@16" (ByVal lngxx1 As Long, ByVal lngyy1 As Long, ByVal lngxx2 As Long, ByVal lngyy2 As Long) Public Declare Sub plotwith Lib "s2dr v32s.dll" Alias "_plotwith@24" (ByVal lngxx1 As Long, ByVal lngyy1 As Long, ByVal lngxx2 As Long, ByVal lngyy2 As Long, ByVal sngymin As Single, ByVal sngymax As Single) Public Declare Sub plotwithCS Lib "s 2drv32s.dll" Alias "_plotwithCS@24" (ByVal lngxx1 As Long, ByVal lngyy1 As Long, ByVal lngxx2 As Long, ByVal lngyy2 As Long, ByVal sngymin As Single, ByVal sngymax As Single) Public Declare Sub qdup Lib "s2drv32s.dll" Alias "_qdup@0" () Public Declare Sub qpopf Lib "s2drv32s.dll" Alias "_qpopf@4" (ByVal lngbid As Long) Public Declare Sub qpushf Li b "s2drv32s.dll" Alias "_qpushf@4" (ByVal lngbid As Long) Public Declare Sub qpop16 Lib "s2drv32s.dll" Alias "_qpop16@4" (ByVal lngbid As Long) Public Declare Sub qpush16 Lib "s2drv32s.dll" A lias "_qpush16@4" (ByVal lngbid As Long) Public Declare Sub qpushpart16 Lib "s2dr v32s.dll" Alias "_qpushpart16@12" (ByVal lngbid As Long, ByVal lngspos As Long, ByVal lngnpts As Long) Public Declare Sub qpushpartf Lib "s2dr v32s.dll" Alias "_qpushpartf@12" (ByVal lngbid As Long, ByVal lngspos As Long, ByVal lngnpts As Long) Public Declare Sub qpoppart16 Lib "s2drv32s.dll" Alias "_qpopp art16@8" (ByVal lngbid As Long, ByVal lngspos As Long) Public Declare Sub qpoppartf Lib "s2drv32s.dll" Alias "_qpoppa rtf@8" (ByVal lngbid As Long, ByVal lngspos As Long) Public Declare Sub qrand Lib "s 2drv32s.dll" Alias "_qrand@0" () Public Declare Sub qwind Lib "s2drv32s.dll" Alias "_qwind@ 8" (ByVal sngtrf As Singl e, ByVal sngsr As Single) Public Declare Sub reduce Lib "s 2drv32s.dll" Alias "_reduce@0" () Public Declare Sub rect Lib "s2drv32s.dll" Alias "_rect@0" () Public Declare Sub radd Lib "s2drv32s.dll" Alias "_radd@0" () Public Declare Sub rfft Lib "s2drv32s.dll" Alias "_rfft@0" () Public Declare Sub rift Lib "s 2drv32s.dll" Alias "_rift@0" () Public Declare Sub reverse Lib "s2drv32s.dll" Alias "_reverse@0" () Public Declare Sub record Lib "s2drv32s.dll" Alias "_record@4" (ByVal lngdbn As Long) Public Declare Function recseg Lib "s2drv32s.dll" A lias "_recseg@4" (ByVal lngchan As Long) As Long Public Declare Function reccount Lib "s2drv32s.dll" Alias "_reccount@4" (B yVal lngchan As Long) As Long Public Declare Sub swap Lib "s2drv32s.dll" Alias "_swap@0" () Public Declare Sub setaddr Lib "s2drv32s.dll" Alias "_seta ddr@8" (ByVal lngbid As Long, ByVal lngaddr As Long) Public Declare Sub seed Li b "s2drv32s.dll" Alias "_seed@4 (ByVal lngsval As Long) Public Declare Sub shuf Lib "s2drv32s.dll" Alias "_shuf@0" () Public Declare Sub split Lib "s 2drv32s.dll" Alias "_split@0" () Public Declare Sub qscale Lib "s2drv32s.dll" Alias "_scale@4" (ByVal sngsf As Single) Public Declare Sub shift Lib "s2drv32s.dll" Al ias "_shift@4" (ByVal sngsf As Single) Public Declare Sub subtract Lib "s2drv32s.dll" Alias "_subtract@0" () Public Declare Sub sqroot Lib "s2drv32s.dll" Alias "_sqroot@0" () Public Declare Sub square Lib "s2drv32s.dll" Alias "_square@0" ()

PAGE 192

181 Appendix A (Continued) Public Declare Sub seperate Lib "s2drv32s.dll" Alias "_seperate@0" () Public Declare Sub sine Lib "s2drv32s.dll" Alias "_sine@0" () Public Declare Function sum Lib "s2dr v32s.dll" Alias "_sum@0" () As Single Public Declare Function stackdepth Lib "s2drv32s .dll" Alias "_stackdepth@0" () As Long Public Declare Sub seqplay Lib "s2drv32s.dll" Alias "_seqplay@4" (ByVal lngdbn As Long) Public Declare Sub seqrecord Lib "s2drv32s.dll" Alias "_seqrecord@4" (ByVal lngdbn As Long) Public Declare Sub trash Lib "s 2drv32s.dll" Alias "_trash@0" () Public Declare Sub totop Li b "s2drv32s.dll" Alias "_totop@4" (ByVal lngsn As Long) Public Declare Sub tone Lib "s2drv32s .dll" Alias "_tone@8" (ByVal sngf As Single, ByVal sngsr As Single) Public Declare Sub tangent Lib "s 2drv32s.dll" Alias "_tangent@0" () Public Declare Function tops ize Lib "s2drv32s.dll" Alias "_topsize@0" () As Long Public Declare Function tsize Lib "s2drv32s.dll" A lias "_tsize@4" (ByVal lngbufn As Long) As Long Public Declare Sub usercall Lib "s2drv32s.dll" Alias "_usercall@12" (ByV al lngcid As Long, ByVal sngargf As Single, ByVal lngarg24 As Long) Public Declare Function userfunc Lib "s 2drv32s.dll" Alias "_userfunc@12" (ByVal lngcid As Long, ByVal sngargf As Single, ByVal lngarg24 As Long) As Single Public Declare Sub value Lib "s2drv32s.dll" Alias "_value@4" (ByVal sngv As Single) Public Declare Function whatis Lib "s2drv32s.dll" A lias "_whatis@4" (ByVal lngind As Long) As Single Public Declare Sub xreal Lib "s2d rv32s.dll" Alias "_xreal@0" () Public Declare Sub ximag Lib "s 2drv32s.dll" Alias "_ximag@0" () Public Const AD1_CODE = 17 Public Const AD2_CODE = 20 Public Const AD3_CODE = 21 Public Const qANY = 5 Public Const ALL = 15 Public Const ADC1 = 4 Public Const ADC2 = 8 Public Const ADC3 = 16 Public Const ADC4 = 32 Public Const AUTOSLEW = 0 Public Const ADCEXP = 14 Public Const ADC_BASE = 2064 Public Const ADC_IND = 1 Public Const BIQ16 = 4 Public Const BIQ32 = 5 Public Const CG1_CODE = 3 Public Const COS2 = 1 Public Const COS4 = 2 Public Const COS6 = 3 Public Const COMPUTER = 0 Public Const CONTIN_REPS = 0 Public Const COMMON = 0 Public Const COEFEXP = 9 Public Const COEF_BASE = 18928 Public Const COEF_IND = 512 Public Const CT_LEFT = 1 Public Const CT_RIGHT = 2 Public Const CT_STEREO = 3 Public Const CT_MONSTER = 4 Public Const DB4_CODE = 27 Public Const DA1_CODE = 16 Public Const DD1_CODE = 18 Public Const DA2_CODE = 19 Public Const DA3_CODE = 22

PAGE 193

182 Appendix A (Continued) Public Const DUAL_4_1 = 1 Public Const DUALDAC = 3 Public Const DAC1 = 1 Public Const DAC2 = 2 Public Const DUALADC = 12 Public Const DAC3 = 4 Public Const DAC4 = 8 Public Const DAC5 = 16 Public Const DAC6 = 32 Public Const DAC7 = 64 Public Const DAC8 = 128 Public Const DSPIDEXP = 2 Public Const DSPINEXP = 3 Public Const DSPINLEXP = 4 Public Const DSPINREXP = 5 Public Const DSPOUTEXP = 6 Public Const DSPOUTLEXP = 7 Public Const DSPOUTREXP = 8 Public Const DELINEXP = 10 Public Const DELOUTEXP = 11 Public Const DACEXP = 13 Public Const DSPID_BASE = 0 Public Const DSPID_IND = 1 Public Const DSPINL_BASE = 18920 Public Const DSPINL_IND = 512 Public Const DSPINR_BASE = 18888 Public Const DSPINR_IND = 512 Public Const DSPOUTL_BASE = 18880 Public Const DSPOUTL_IND = 512 Public Const DSPOUTR_BASE = 18884 Public Const DSPOUTR_IND = 512 Public Const DELOUT_BASE = 1024 Public Const DELOUT_IND1 = 32 Public Const DELOUT_IND2 = 1 Public Const DELIN_BASE = 1152 Public Const DELIN_IND = 1 Public Const DAC_BASE = 2048 Public Const DAC_IND = 1 Public Const DAMA_16 = 4 Public Const DAMA_F = 5 Public Const ET1_CODE = 5 Public Const EXT = 5 Public Const EXCLUSIVE = 1 Public Const EXTERNAL = 2 Public Const FALL = 2 Public Const FREE_RUN = 5 Public Const FALLING = 3 Public Const FIR16 = 1 Public Const FIR32 = 2 Public Const F_HP = 0 Public Const F_LP = 1 Public Const F_NT = 2 Public Const FP_Kp = 8 Public Const FP_Ki = 4

PAGE 194

183 Appendix A (Continued) Public Const FP_Kd = 2 Public Const FP_Ilim = 1 Public Const FASTDAC = 16 Public Const FASTDAC3 = 0 Public Const FILE_16 = 1 Public Const FILE_F = 2 Public Const FILE_A = 3 Public Const qGAUSS = 1 Public Const GSYNC = 32764 Public Const HTI_CODE = 26 Public Const HEADSIZE = 1024 Public Const IIR32 = 3 Public Const INP1 = 1 Public Const INP2 = 2 Public Const INP3 = 3 Public Const INP4 = 4 Public Const INP5 = 5 Public Const INP6 = 6 Public Const INP7 = 7 Public Const INP8 = 8 Public Const INTERNAL = 1 Public Const IBEXP = 15 Public Const IREGEXP = 17 Public Const IB_BASE = 0 Public Const IB_IND = 1 Public Const IREG_BASE = 480 Public Const IREG_IND = 1 Public Const INIT_PRIMARY = 1 Public Const INIT_SECONDARY = 2 Public Const INIT_EITHER = 3 Public Const INIT_FORCEPRIM = 4 Public Const LAST = 3 Public Const LSYNC = 32766 Public Const MC1_CODE = 28 Public Const MANUAL = 0 Public Const MUD_GAIN = 2 Public Const MUD_HP = 3 Public Const MUD_LP = 4 Public Const MUD_NT = 5 Public Const MUD_IT = 6 Public Const MUD_ALL = 15 Public Const MONO = 1 Public Const MONSTER = 3 Public Const NEG_EDGE = 2 Public Const NEG_ENABLE = 4 Public Const NONE = 5 Public Const NEG = 1 Public Const ONOFF = 0 Public Const OFF = 0 Public Const qON = 1 Public Const OUTA = 0 Public Const OUTB = 1 Public Const OUTC = 2 Public Const OUTD = 3

PAGE 195

184 Appendix A (Continued) Public Const OBEXP = 16 Public Const OB_BASE = 0 Public Const OB_IND = 1 Public Const PA4_CODE = 1 Public Const PI1_CODE = 6 Public Const PF1_CODE = 9 Public Const PI2_CODE = 11 Public Const PM1_CODE = 15 Public Const PD1_CODE = 23 Public Const PEAK = 3 Public Const POS_EDGE = 1 Public Const POS_ENABLE = 3 Public Const PM1_STEREO = 0 Public Const PM1_MONO = 1 Public Const P_AZ = 1 Public Const P_EL = 2 Public Const P_ROLL = 3 Public Const P_X = 4 Public Const P_Y = 5 Public Const P_Z = 6 Public Const POS = 0 Public Const PC_VEL = 1# Public Const PC_ACC = 2# Public Const PC_GEAR = 3# Public Const PC_MINP = 4# Public Const PC_MAXP = 5# Public Const PC_HOME = 6# Public Const PC_REFMODE = 7# Public Const PC_SRCHVEL = 8# Public Const PC_REFPOS = 9# Public Const PC_Kp = 10# Public Const PC_Ki = 11# Public Const PC_Kd = 12# Public Const PC_Ilim = 13# Public Const QUAD_2_1 = 0 Public Const RAMP = 4 Public Const RAMP2 = 5 Public Const RAMP4 = 6 Public Const RAMP6 = 7 Public Const RISE = 1 Public Const RISING = 2 Public Const RM_MANUAL = 1# Public Const RM_REFSWITCH = 2# Public Const SW2_CODE = 2 Public Const SD1_CODE = 4 Public Const SS1_CODE = 14 Public Const qSINE = 3 Public Const SING_8_1 = 2 Public Const SN1 = 1 Public Const SN2 = 2 Public Const SN3 = 3 Public Const SN4 = 4 Public Const SN5 = 5 Public Const SN6 = 6

PAGE 196

185 Appendix A (Continued) Public Const SN7 = 7 Public Const SN8 = 8 Public Const SN9 = 9 Public Const SN10 = 10 Public Const SN11 = 11 Public Const SN12 = 12 Public Const SN13 = 13 Public Const SN14 = 14 Public Const SN15 = 15 Public Const SN16 = 16 Public Const STEREO = 2 Public Const SYNC_ALL = 17912 Public Const STACK = 6 Public Const TG6_CODE = 10 Public Const TRIGGED_REPS = 1 Public Const TAPEXP = 12 Public Const TAP_BASE = 1280 Public Const TAP_IND1 = 32 Public Const TAP_IND2 = 1 Public Const UI1_CODE = 7 Public Const UNIFORM = 2 Public Const VALLEY = 4 Public Const VEXP = 1 Public Const WG1_CODE = 8 Public Const WG2_CODE = 12 Public Const WAVE = 4 Public Const XB1_CODE = 0 Public Const XXX_CODE = 13 Public Const XTRG1 = 1 Public Const XTRG2 = 2 Public Const XCLK1 = 3 Public Const XCLK2 = 4 Public Const XMUX = 1 Public Const UB_0DB = 1 Public Const UB_6DB = 2 Public Const UB_12DB = 3 Public Const UB_18DB = 4 Public Const UB_24DB = 5 Public Const UB_100ns = 0 Public Const UB_1us = 1 Public Const UB_10us = 2 Public Const UB_100us = 3 Public Const UB_1ms = 4 Public Const UB_EXT = 7 Public Const UB_CH1 = 0 Public Const UB_CH2 = 1 Public Const UB_CH3 = 2 Public Const UB_CH4 = 3 Public Const UB_CHALL = 10 Public Const UB_START = 32767 Public Const UB_STOP = 32765 Public Const x1 = 0

PAGE 197

186 Appendix A (Continued) Public Const x2 = 1 Public Const x4 = 2 Public Const x8 = 3 Public Const x16 = 4 Public Const x32 = 5 Public Const x64 = 6 Public Const x128 = 7

PAGE 198

187 Appendix A (Continued) Experiment 2(b): Discrimination Threshold for “split” – “slit” FRMDETAILS Dim secs As Single Dim Start As Single Dim interval As Integer Sub CmdRun_Click() Dim DAC1 As Long Call ErrorCheck Call GetRunInfo Srate = 45.35 'NEW SAMPLING RATE = 22050 Hz VariableAttn = StartAttn Call InitAdaptive Call DecideAttn Call DecideUnatten Call GetDurationNumbers Call DecideFilename Call PD1srate(ByVal 1, ByVal Srate) Call PD1npts(ByVal 1, ByVal 20000) DAC1 = PD1export(ByVal DACEXP, 1) 'gets hardware addresses for DAC FRMINTERVAL.Show Do Call allot16(1, 20000) DAMA space for DSP(0) for standard Call allot16(2, 20000) DAMA space for DSP(1) for standard If Condition = "SLIT-SPLIT" Then Call PlaySlitSplit End If mclick = 0 I = GetRandom(2) Signal = I FRMINTERVAL!Text1.Text = "Interval =" & Str$(I) & St r$(Signal) & Str$(Attn(Trial)) & Str$(NumReversal) Call PD1mode(ByVal 1, ByVal DAC1) If I = 2 Then FRMINTERVAL!INTERVAL1.Visible = True Call delay(0.3) '0.3 was 0.5 Call play(ByVal 1) Call PD1arm(ByVal 1) Call PD1go(ByVal 1)

PAGE 199

188 Appendix A (Continued) Call delay(0.9) '0.9 was 0.6 FRMINTERVAL!INTERVAL2.Visible = True Call delay(0.3) '0.3 was 0.5 Call play(ByVal 2) Call PD1arm(ByVal 1) Call PD1go(ByVal 1) Call delay(0.9) '0.9 was 0.6 'Signal = 2 End If If I = 1 Then FRMINTERVAL!INTERVAL1.Visible = True Call delay(0.3) '0.3 was 0.5 Call play(ByVal 2) Call PD1arm(ByVal 1) Call PD1go(ByVal 1) Call delay(0.9) '0.9 was 0.6 FRMINTERVAL!INTERVAL2.Visible = True Call delay(0.3) '0.3 was 0.5 Call play(ByVal 1) Call PD1arm(ByVal 1) Call PD1go(ByVal 1) Call delay(0.9) '0.9 was 0.6 'Signal = 1 End If Do Until mclick = 1 'Pause program until get a response DoEvents Loop FRMINTERVAL!INTER VAL1.Visible = False FRMINTERVAL!INTER VAL2.Visible = False RightWrong = Signal Choice Call Levitt Call delay(0.6) '0.6 was 0.4 Trial = Trial + 1 Call trash Call ErrorCheck Loop While ExitFlagB = 0 And ExitFlagR = 0 And ExitFlagE = 0 If ExitFlagR = 1 Then Call Finishup End If End Sub Sub CmdQuit_Click()

PAGE 200

189 Appendix A (Continued) ExitFlagE = 1 Call S2close Call XBunlock(ByVal 0) Call APunlock(ByVal 0) Call trash End End Sub Sub DecideFilename() SigNumber = GetRandom(16) If SigNumber > 9 Then SigNumberString = Right$(Str$(SigNumber), 2) Else SigNumberString = Right$(Str$(SigNumber), 1) End If If CboCondition.Text = "SLIT-SPLIT" Then SigFname = "c:\TamDissertation\stim uli\A25.wav" 'A25 = SPLIT110 (clearest SPLIT) StanFname = "c:\TamDissertation\stimuli\A0.wav" 'A0 = SLIT0 End If End Sub Sub Form_Load() Call InitializePD1 Call ErrorCheck 'Putting items in combo boxes CboCondition.AddItem "SLIT-SPLIT" CboStartAttn.AddItem "70" CboStartAttn.AddItem "60" CboStartAttn.AddItem "50" CboStartAttn.AddItem "40" CboStartAttn.AddItem "30" CboStartAttn.AddItem "20" CboStartAttn.AddItem "10" CboFixedAttn.AddItem "70" CboFixedAttn.AddItem "60" CboFixedAttn.AddItem "50" CboFixedAttn.AddItem "40" CboFixedAttn.AddItem "30" CboEar.AddItem "DIOTIC" End Sub Sub GetDurationNumbers() If CboCondition.Text = "SLIT-SPLIT" Then StanDurNumber = 631 'A0 = SLIT0 = 631ms SigDurNumber = 731 'A25 = SPLIT110 = 731ms End If If StanDurNumber > 99 Then

PAGE 201

190 Appendix A (Continued) StanDurNumString = Right $(Str$(StanDurNumber), 3) Else StanDurNumString = Right $(Str$(StanDurNumber), 2) End If If SigDurNumber > 99 Then SigDurNumString = Right$(Str$(SigDurNumber), 3) Else SigDurNumString = Right$(Str$(SigDurNumber), 2) End If StanDurationPts = (StanDurNumber 1000) / Srate SigDurationPts = (SigDu rNumber 1000) / Srate End Sub Sub InitAdaptive() 'Initialize the adaptive variables Bumptop = 0 Bumpbot = 0 RightWrong = 0 Trial = 1 NumReversal = 0 Slope = 1 Decision = 1 EachAttn = 0 AttnSum = 0 AttnMult = 1 FinalAttn = 0 Signal = 0 Choice = 0 ExitFlagB = 0 ExitFlagR = 0 ExitFlagE = 0 LeftStandard = 1 RightStandard = 2 LeftSignal = 3 RightSignal = 4 For I = 0 To 100 Responses(I) = 0 Reversals(I) = 0 Next I For I = 0 To 9 RandArray(I) = 0 Next I End Sub Public Sub Levitt() If RightWrong <> 0 Then incorrect answer Responses(Trial) = RightWrong If NumReversal <= 4 Then Attn(Trial + 1) = Attn(Trial) – 4

PAGE 202

191 Appendix A (Continued) VariableAttn = VariableAttn 4 End If If NumReversal > 4 Then Attn(Trial + 1) = Attn(Trial) 2 VariableAttn = VariableAttn 2 End If Call Bumpcheck Call Reversecheck Else 'correct answer Responses(Trial) = RightWrong Lastlevel = Attn(T rial) Attn(Trial 1) If Lastlevel <> 0 Then Attn(Trial + 1) = Attn(Trial) If Lastlevel = 0 Then If NumReversal <= 4 Then Attn(Trial + 1) = Attn(Trial) + 4 VariableAttn = VariableAttn + 4 End If If NumReversal > 4 Then Attn(Trial + 1) = Attn(Trial) + 2 VariableAttn = VariableAttn + 2 End If End If Call Bumpcheck Call Reversecheck End If Call PA4atten(1, VariableAttn) Call PA4atten(2, FixedAttn) End Sub Public Sub Bumpcheck() If Attn(Trial + 1) < 0 Then Attn(Trial + 1) = 0 Bumptop = Bumptop + 1 If Bumptop > 4 Then MsgBox "Hitting Top", 48, "Discrimination Program" ExitFlagB = 1 End If End If If Attn(Trial + 1) > 99 Then Attn(Trial + 1) = 99 Bumpbot = Bumpbot + 1 If Bumpbot > 4 Then MsgBox "Hitting Bottom", 48, "Discrimination Program" ExitFlagB = 1 End If End If End Sub Public Sub Reversecheck() rcheck = (Attn(Trial + 1) Attn(Trial)) Slope

PAGE 203

192 Appendix A (Continued) If rcheck < 0 Then NumReversal = NumReversal + 1 Reversals(NumReversal) = Trial Slope = -1 Slope End If If NumReversal < 8 Then ExitFlagR = 0 End If If NumReversal >= 8 Then ExitFlagR = 1 End If End Sub Public Sub Finishup() Call S2close Call XBunlock(ByVal 0) Call APunlock(ByVal 0) Call trash Unload FRMINTERVAL For I = 5 To 8 WhichAttn = Reversals(I) AttnSum = AttnSum + Attn(WhichAttn) AttnMult = AttnMult Attn(WhichAttn) Next I FinalAttn = AttnSum / 4 GeoMeanAttn = AttnMult ^ 0.25 For I = 5 To 8 WhichAttn = Reversals(I) StdDevSum = StdDevSum + (Attn(Whic hAttn) FinalAttn) (Attn(WhichAttn) FinalAttn) StdDev = Sqr(StdDevSum) / 4 Next I ArithMeanThresh = (Unatten FixedAttn) FinalAttn GeoMeanThresh = (Unatt en FixedAttn) GeoMeanAttn FrmResults.Show FrmResults!TxtResultsID.Text = SubID FrmResults!TxtResu ltsCondition.Text = Condition FrmResults!TxtResultsStartAttn.Text = StartAttn FrmResults!TxtResultsFixedAttn.Text = FixedAttn FrmResults!TxtArithMean Thresh.Text = ArithMeanThresh FrmResults!TxtGeoMeanThresh.Text = GeoMeanThresh End Sub Public Sub GetRunInfo() SubID = TxtID.Text Condition = CboCondition.Text

PAGE 204

193 Appendix A (Continued) StartAttn = Val(CboStartAttn.Text) FixedAttn = Val(CboFixedAttn.Text) Ear = CboEar.Text SubID = SubID & Time & Date End Sub Public Sub DecideAttn() Call PA4atten(1, VariableAttn) Call PA4atten(2, FixedAttn) Attn(1) = VariableAttn End Sub Public Sub DecideUnatten() If CboCondition.Text = "SLIT-SPLIT" Then Unatten = 110.9 'calibrated on 4/26/05 Tuesday End If End Sub Public Sub PlaySlitSplit() 'making the signal "split" interval bytband1Fname = StrConv(SigFna me & vbNullChar, vbFromUnicode) Call pushdisk16(bytband1Fname(0)) 'calling the file from the disk Call ErrorCheck Call block(ByVal 32, ByVal (SigDurationPts + 31)) Call extract Call swap Call drop Call dpush(20000 SigDurationPts) Call value(ByVal 0#) Call catn(2) Call qpop16(ByVal 2) Call dropall 'making the standard signal bytband1Fname = StrConv(StanFname & vbNullChar, vbFromUnicode) Call pushdisk16(bytband1Fname(0)) 'calling the file from the disk Call ErrorCheck Call block(ByVal 32, ByVal (StanDurationPts + 31)) Call extract Call swap Call drop Call dpush(20000 StanDurationPts) Call value(ByVal 0#) Call catn(2) Call qpop16(ByVal 1) Call dropall End Sub FRMINTERVAL Private Sub Command1_Click()

PAGE 205

194 Appendix A (Continued) mclick = 1 ExitFlagB = 1 Unload FRMINTERVAL End Sub Private Sub HappyFace1() For J = 1 To 2 Image1.Visible = True Call delay(0.3) Image1.Visible = False Image2.Visible = True Call delay(0.3) Image2.Visible = False Image3.Visible = True Call delay(0.3) Image3.Visible = False Next J End Sub Private Sub HappyFace2() For J = 1 To 2 Image4.Visible = True Call delay(0.3) Image4.Visible = False Image5.Visible = True Call delay(0.3) Image5.Visible = False Image6.Visible = True Call delay(0.3) Image6.Visible = False Next J End Sub Private Sub INTERVAL1_Click() Choice = 1 mclick = 1 If Signal = 1 Then Call HappyFace1 Else Call HappyFace2 End If INTERVAL1.Visible = False INTERVAL2.Visible = False End Sub Private Sub INTERVAL2_Click()

PAGE 206

195 Appendix A (Continued) Choice = 2 mclick = 1 If Signal = 2 Then Call HappyFace2 Else Call HappyFace1 End If INTERVAL1.Visible = False INTERVAL2.Visible = False End Sub FRMRESULTS Private Sub CmdEnd_Click() End EndFlag = 1 End Sub Private Sub CmdRepeat_Click() ExitFlagR = 1 Unload FrmResults Call InitializePD1 End Sub Private Sub CmdSave_Click() CmdSave.Enabled = False Dim boolAdding As Boolean If (DatDiscrimination.Record set.EOF = False And DatDiscrimina tion.Recordset.BOF = False) Then DatDiscrimination.Recordset.CancelUpdate 'adEditNone DatDiscrimination.Recordset.AddNew boolAdding = (DatDiscriminati on.Recordset.EditMode = adEditAdd) Call LoadValues DatDiscrimination.Recordset.Update If boolAdding Then DatDiscrimination.Recordset.MoveLast End If CmdSave.Enabled = Not CmdSave.Enabled DatDiscrimination.Enabled = Not DatDiscrimination.EOFAction FrmResults.PrintForm Printer.EndDoc Call AddDisplay Unload FrmResults

PAGE 207

196 Appendix A (Continued) If EndFlag = 1 Then End End If Call InitializePD1 End Sub Private Sub Form_Load() LoadValues FrmResults.Show 0 End Sub Private Sub AddDisplay() Dim StrAddDisplay As String StrAddDisplay = "Results Added to Database" MsgBox StrAddDisplay End Sub Public Sub LoadValues() TxtResultsID.Text = SubID TxtResultsStartAttn.Text = StartAttn TxtResultsFixedAttn.Text = FixedAttn TxtArithMeanThresh.Text = ArithMeanThresh TxtGeoMeanThresh.Text = GeoMeanThresh End Sub MODULE 1 Sub InitializeHardware() Dim LongRet As Long LongRet = XBlock(ByVal 100, ByVal 0) 'checks to see if the XBus is locked If LongRet = 0 Then Call ErrorCheck Exit Sub End If LongRet = APlock(ByVal 100, ByVal 0) 'checks to see if AP is locked If LongRet = 0 Then Call ErrorCheck Exit Sub End If End Sub Sub ErrorCheck() 'this is a tucker routine to deliver an error message 'to the screen. These are for hardware errors Dim LongRet As Long Dim bytErrMsg(255) As Byte Dim strErrMsg As String LongRet = getS2err(bytErrMsg(0))

PAGE 208

197 Appendix A (Continued) If LongRet > 0 Then strErrMsg = StrConv(bytErrMsg, vbUnicode) Call MsgBox(strErrMsg) End If End Sub Sub Main() End Sub Public Sub InitializePD1() Dim LongRet As Long LongRet = S2init(ByVal 0, ByVal INIT_PRIMARY, ByVal 1000) Call ErrorCheck Call InitializeHardware Call PD1clear(ByVal 1) Call PD1fixbug(ByVal 1) End Sub MODULE 2 (same as Module 2 above) MODULE 3 'Variables Public AttnMult As Double Public GeoMeanAttn As Double Public GeoMeanThresh As Double Public ArithMeanThresh As Double Public bytband1Fname() As Byte Public bytband2Fname() As Byte Public SigFreq As Double Public TotalPts As Long Public SubID As String Public ResultsID As String Public SigFname As String Public StanFname As String Public StanDurNumString As String Public SigDurNumString As String Public Duration As String Public DurationPts As Long Public SigDurationPts As Long Public StanDurationPts As Long Public Unatten As Long Public SigNumber As Long Public SigNumberString As String Public StanDurNumber As Long Public SigDurNumber As Long Public Choice As Integer Public RightWrong As Integer Public Responses(100) As Integer Public Attn(100) As Double Public Reversals(100) As Integer

PAGE 209

198 Appendix A (Continued) Public Trial As Double Public Bumptop As Integer Public Bumpbot As Integer Public Signal As Integer Public SubName As String Public Thresh As Integer Public Condition As String Public StartAttn As Single Public VariableAttn As Single Public FixedAttn As Single Public Ear As String Public Decision As Integer Public I As Long Public J As Integer Public NumReversals As Integer Public Lastlevel As Integer Public rcheck As Integer Public NumReversal As Integer Public ExitFlagB As Integer Public ExitFlagR As Integer Public ExitFlagE As Integer Public AttnSum As Double Public FinalAttn As Double Public WhichAttn As Double Public StdDevSum As Double Public StdDev As Double Public mclick As Integer Public RandNum As Integer Public RandArray(16) As Integer Public RandCtr As Integer Public RandNumString As String Public Srate As Single Public StanBlock As Integer Public SigBlock As Integer Public Slope As Integer Public Junk As Long Sub delay(secs!) Dim Start! Start! = Timer While (Timer < (Start! + secs!)) DoEvents Wend End Sub Function GetRandom(range%) Randomize GetRandom = Int((range%) Rnd) + 1 End Function

PAGE 210

199 Appendix A (Continued) Experiment 3: Frequency Resolution Task FRMDETAILS Dim secs As Single Dim Start As Single Dim interval As Integer Dim Threshold As Single Public Sub CmdRun_Click() Dim error1 As Long 'generic variable for error checks Dim data(0 To 4999) As Singl e buffer for saving data Call InitAdaptive Call GetRunInfo Call DecideAttn FRMINTERVAL.Show Call PA5x1.ConnectPA5("USB", 1) Call PA5x2.ConnectPA5("USB", 2) Call RPcoX1.ConnectRP2("USB", 1) Call RPcoX1.LoadCOF(RP2Filename) Call RPcoX1.Run If RPcoX1.GetStatus <> 7 Then MsgBox ("RP not running correctly") End If Call PA5x1.SetAtten(LEAttn) Call PA5x2.SetAtten(REAttn) Do mclick = 0 I = GetRandom(2) FRMINTERVAL!Text1.Text = "Interval =" & Str$(I) + St r$(Sweep1Min) + Str$(Swee p2Min) + Str$(Sweep3Min) + Str$(NumReversal) Signal = I If I = 1 Then FRMINTERVAL!STANDARD.Visible = True Call delay(0.3) '0.3 was 0.5 before error1 = RPcoX1.SetTagVal("Sweep1FreqMin", 310) If error1 = 0 Then MsgBox ("error reading parameter") End If error1 = RPcoX1.SetTagVal("Sweep2FreqMin", 1620) If error1 = 0 Then MsgBox ("error reading parameter") End If error1 = RPcoX1.SetTagVal("Sweep3FreqMin", 2680)

PAGE 211

200 Appendix A (Continued) If error1 = 0 Then MsgBox ("error reading parameter") End If Call RPcoX1.SoftTrg(1) Call delay(0.9) '0.9 was 0.5 before FRMINTERVAL!INTERVAL1.Visible = True Call delay(0.3) '0.3 was 0.5 before error1 = RPcoX1.SetTa gVal("Sweep1FreqMin", Sweep1Min) If error1 = 0 Then MsgBox ("error reading parameter") End If error1 = RPcoX1.SetTa gVal("Sweep2FreqMin", Sweep2Min) If error1 = 0 Then MsgBox ("error reading parameter") End If error1 = RPcoX1.SetTa gVal("Sweep3FreqMin", Sweep3Min) If error1 = 0 Then MsgBox ("error reading parameter") End If Call RPcoX1.SoftTrg(1) Call delay(0.9) '0.9 was 0.5 before FRMINTERVAL!INTERVAL2.Visible = True Call delay(0.3) '0.3 was 0.5 before error1 = RPcoX1.SetTagVal("Sweep1FreqMin", 310) If error1 = 0 Then MsgBox ("error reading parameter") End If error1 = RPcoX1.SetTagVal("Sweep2FreqMin", 1620) If error1 = 0 Then MsgBox ("error reading parameter") End If error1 = RPcoX1.SetTagVal("Sweep3FreqMin", 2680) If error1 = 0 Then MsgBox ("error reading parameter") End If Call RPcoX1.SoftTrg(1) Call delay(0.9) '0.9 was 0.5 before 'Signal = 1 Call delay(1) End If If I = 2 Then FRMINTERVAL!STANDARD.Visible = True Call delay(0.3) '0.3 was 0.5 before error1 = RPcoX1.SetTagVal("Sweep1FreqMin", 310) If error1 = 0 Then

PAGE 212

201 Appendix A (Continued) MsgBox ("error reading parameter") End If error1 = RPcoX1.SetTagVal("Sweep2FreqMin", 1620) If error1 = 0 Then MsgBox ("error reading parameter") End If error1 = RPcoX1.SetTagVal("Sweep3FreqMin", 2680) If error1 = 0 Then MsgBox ("error reading parameter") End If Call RPcoX1.SoftTrg(1) Call delay(0.9) '0.9 was 0.5 before FRMINTERVAL!INTERVAL1.Visible = True Call delay(0.3) '0.3 was 0.5 before error1 = RPcoX1.SetTagVal("Sweep1FreqMin", 310) If error1 = 0 Then MsgBox ("error reading parameter") End If error1 = RPcoX1.SetTagVal("Sweep2FreqMin", 1620) If error1 = 0 Then MsgBox ("error reading parameter") End If error1 = RPcoX1.SetTagVal("Sweep3FreqMin", 2680) If error1 = 0 Then MsgBox ("error reading parameter") End If Call RPcoX1.SoftTrg(1) Call delay(0.9) '0.9 was 0.5 before FRMINTERVAL!INTERVAL2.Visible = True Call delay(0.3) '0.3 was 0.5 before error1 = RPcoX1.SetTa gVal("Sweep1FreqMin", Sweep1Min) If error1 = 0 Then MsgBox ("error reading parameter") End If error1 = RPcoX1.SetTa gVal("Sweep2FreqMin", Sweep2Min) If error1 = 0 Then MsgBox ("error reading parameter") End If error1 = RPcoX1.SetTa gVal("Sweep3FreqMin", Sweep3Min) If error1 = 0 Then MsgBox ("error reading parameter") End If Call RPcoX1.SoftTrg(1) Call delay(0.9) '0.9 was 0.5 before

PAGE 213

202 Appendix A (Continued) 'Signal = 2 Call delay(1) End If Do Until mclick = 1 'Pause program until get a response DoEvents Loop FRMINTERVAL!STANDARD.Visible = False FRMINTERVAL!INTER VAL1.Visible = False FRMINTERVAL!INTER VAL2.Visible = False RightWrong = Signal Choice Call Levitt Call delay(0.6) '0.6 was 0.4 Trial = Trial + 1 Loop While ExitFlagB = 0 And ExitFlagR = 0 And ExitFlagE = 0 Call RPcoX1.Halt If ExitFlagR = 1 Then Call Finishup End If End Sub Sub Command1_Click() ExitFlagE = 1 End End Sub Sub Form_Load() CboThreshold.AddItem "10" CboThreshold.AddItem "20" CboThreshold.AddItem "30" CboSweep1.AddItem "270" CboSweep1.AddItem "250" CboSweep1.AddItem "210" CboSweep2.AddItem "1580" CboSweep2.AddItem "1560" CboSweep2.AddItem "1520" CboSweep3.AddItem "2640" CboSweep3.AddItem "2620" CboSweep3.AddItem "2580" End Sub Sub InitAdaptive() 'Initialize the adaptive variables Bumptop = 0 Bumpbot = 0 RightWrong = 0

PAGE 214

203 Appendix A (Continued) Trial = 1 NumReversal = 0 Slope = 1 Decision = 1 EachAttn = 0 AttnSum = 0 AttnMult = 1 FinalAttn = 0 Signal = 0 Choice = 0 ExitFlagB = 0 ExitFlagR = 0 ExitFlagE = 0 For I = 0 To 100 Responses(I) = 0 Reversals(I) = 0 Freq(I) = 0 Next I FreqSum = 0 FreqMult = 1 End Sub Public Sub Levitt() If RightWrong <> 0 Then incorrect answer Responses(Trial) = RightWrong If NumReversal <= 4 Then Freq(Trial + 1) = Freq(Trial) + 4 Sweep1Min = Sweep1Min 4 Sweep2Min = Sweep2Min 4 Sweep3Min = Sweep3Min 4 End If If NumReversal > 4 Then Freq(Trial + 1) = Freq(Trial) + 2 Sweep1Min = Sweep1Min 2 Sweep2Min = Sweep2Min 2 Sweep3Min = Sweep3Min 2 End If Call Bumpcheck Call Reversecheck Else 'correct answer Responses(Trial) = RightWrong LastFreq = Freq(Trial) Freq(Trial 1) If LastFreq <> 0 Then Freq(Trial + 1) = Freq(Trial) If LastFreq = 0 Then If NumReversal <= 4 Then Freq(Trial + 1) = Freq(Trial) 4 Sweep1Min = Sweep1Min + 4 Sweep2Min = Sweep2Min + 4 Sweep3Min = Sweep3Min + 4 End If If NumReversal > 4 Then Freq(Trial + 1) = Freq(Trial) – 2

PAGE 215

204 Appendix A (Continued) Sweep1Min = Sweep1Min + 2 Sweep2Min = Sweep2Min + 2 Sweep3Min = Sweep3Min + 2 End If End If Call Bumpcheck Call Reversecheck End If End Sub Public Sub Bumpcheck() 'Indicate excellent freq resolution If Sweep1Min > 310 Then Freq(Trial + 1) = 0 Sweep1Min = 310 Sweep2Min = 1620 Sweep3Min = 2680 Bumpbot = Bumpbot + 1 If Bumpbot > 4 Then MsgBox "Hitting Top", 48, "Tone Sweep Program" ExitFlagB = 1 End If End If 'Indicate excellent freq resolution If Sweep1Min <= 0 Then Freq(Trial + 1) = 310 Bumptop = Bumptop + 1 If Bumptop > 4 Then MsgBox "Hitting Bottom", 48, "Tone Sweep Program" ExitFlagB = 1 End If End If End Sub Public Sub Reversecheck() rcheck = (Freq(Trial + 1) Freq(Trial)) Slope If rcheck < 0 Then NumReversal = NumReversal + 1 Reversals(NumReversal) = Trial Slope = -1 Slope End If If NumReversal < 8 Then ExitFlagR = 0 End If If NumReversal >= 8 Then

PAGE 216

205 Appendix A (Continued) ExitFlagR = 1 End If End Sub Public Sub Finishup() Unload FRMINTERVAL For I = 5 To 8 WhichFreq = Reversals(I) FreqSum = FreqSum + Freq(WhichFreq) FreqMult = FreqMult Freq(WhichFreq) Next I FinalFreq = FreqSum / 4 GeoMeanFreq = FreqMult ^ 0.25 FrmResults.Show FrmResults!TxtResultsID.Text = SubID FrmResults!TxtResultsThres hold.Text = DetThreshold FrmResults!TxtResultsSw eep1.Text = IniSweep1 FrmResults!TxtResultsSw eep2.Text = IniSweep2 FrmResults!TxtResultsSw eep3.Text = IniSweep3 FrmResults!TxtResultsAttn = LEAttn FrmResults!TxtArithMean.Text = FinalFreq FrmResults!TxtGeoMean.Text = GeoMeanFreq End Sub Sub CmdQuit_Click() End End Sub Public Sub GetRunInfo() SubID = TxtID.Text Sweep1Min = Val(CboSweep1.Text) Sweep2Min = Val(CboSweep2.Text) Sweep3Min = Val(CboSweep3.Text) Threshold = Val(CboThreshold.Text) RP2Filename = "C:\TamDissertation\Copy of Tam ToneSweep Program\TamToneSweep" Freq(1) = 310 Sweep1Min SubID = SubID & Time & Date IniSweep1 = Val(CboSweep1.Text) IniSweep2 = Val(CboSweep2.Text) IniSweep3 = Val(CboSweep3.Text) DetThreshold = Val(CboThreshold.Text) End Sub Public Sub DecideAttn() Unatten = 105 'calibrated on 4/26/05 Tuesday

PAGE 217

206 Appendix A (Continued) LEAttn = Unatten (Threshold + 35) REAttn = Unatten (Threshold + 35) End Sub FRMINTERVAL Private Sub Command1_Click() mclick = 1 ExitFlagB = 1 Unload FRMINTERVAL End Sub Private Sub HappyFace1() Image4.Visible = True Call delay(0.3) Image4.Visible = False Image5.Visible = True Call delay(0.3) Image5.Visible = False Image6.Visible = True Call delay(0.3) Image6.Visible = False End Sub Public Sub HappyFace2() Image7.Visible = True Call delay(0.3) Image7.Visible = False Image8.Visible = True Call delay(0.3) Image8.Visible = False Image9.Visible = True Call delay(0.3) Image9.Visible = False End Sub Private Sub INTERVAL1_Click() Choice = 1 mclick = 1 If Signal = 1 Then Call HappyFace1 End If If Signal = 2 Then Call HappyFace2 End If STANDARD.Visible = False INTERVAL1.Visible = False INTERVAL2.Visible = False End Sub

PAGE 218

207 Appendix A (Continued) Private Sub INTERVAL2_Click() Choice = 2 mclick = 1 If Signal = 1 Then Call HappyFace1 End If If Signal = 2 Then Call HappyFace2 End If INTERVAL1.Visible = False INTERVAL2.Visible = False STANDARD.Visible = False End Sub FRMRESULTS Dim Threshold As Single Private Sub CmdEnd_Click() End EndFlag = 1 End Sub Private Sub CmdRepeat_Click() Unload FrmResults Call InitializeVariables End Sub Private Sub CmdSave_Click() CmdSave.Enabled = False Dim boolAdding As Boolean If (DatToneSweep.Recordset.EOF = False And DatToneSweep.Recordset.BOF = False) Then DatToneSweep.Recordset.Canc elUpdate 'adEditNone DatToneSweep.Recordset.AddNew boolAdding = (DatToneSweep .Recordset.EditM ode = adEditAdd) Call LoadValues DatToneSweep.Recordset.Update If boolAdding Then DatToneSweep.Recordset.MoveLast End If CmdSave.Enabled = Not CmdSave.Enabled

PAGE 219

208 Appendix A (Continued) DatToneSweep.Enabled = Not DatToneSweep.EOFAction FrmResults.PrintForm Printer.EndDoc Call AddDisplay Unload FrmResults If EndFlag = 1 Then End End If Call InitializeVariables End Sub Private Sub Form_Load() LoadValues FrmResults.Show 0 End Sub Private Sub AddDisplay() Dim StrAddDisplay As String StrAddDisplay = "Results Added to Database" MsgBox StrAddDisplay End Sub Public Sub LoadValues() TxtResultsID.Text = SubID TxtResultsThres hold.Text = DetThreshold TxtResultsAttn = LEAttn TxtResultsSweep1 = IniSweep1 TxtResultsSweep2 = IniSweep2 TxtResultsSweep3 = IniSweep3 TxtArithMean.Text = FinalFreq TxtGeoMean.Text = GeoMeanFreq End Sub Private Sub Frame1_DragDrop(Source As Control, X As Single, Y As Single) End Sub MODULE 2 (samee as Module 2 above) MODULE 3 'Variables Public WhichFreq As Double Public FreqSum As Double Public FreqMult As Double Public FinalFreq As Double Public GeoMeanFreq As Double Public ArithMean As Double

PAGE 220

209 Appendix A (Continued) Public GeoMean As Double Public Sweep1Min As Single Public Sweep2Min As Single Public Sweep3Min As Single Public IniSweep1 As Single Public IniSweep2 As Single Public IniSweep3 As Single Public RP2Filename As String Public StimulusFile As String Public Attn As Single Public REAttn As Single Public LEAttn As Single Public Threshold As Single Public DetThreshold As Single Public Choice As Integer Public RightWrong As Integer Public Responses(100) As Integer Public Freq(100) As Double Public Reversals(100) As Integer Public Trial As Double Public Bumptop As Integer Public Bumpbot As Integer Public Signal As Integer Public SubID As String Public ResultsID As String Public Session As String Public M1Dur As Double Public M2Dur As Double Public M2DurStart As Double Public ISInterval As Integer Public Number As Double Public M1GapDur As Double Public GapDur As Double Public M1M2GapDur As Double Public Decision As Integer Public I As Integer Public J As Integer Public K As Integer Public NumReversals As Integer Public LastFreq As Integer Public rcheck As Integer Public NumReversal As Integer Public alreadyused As Integer Public mclick As Integer Public GapNum As Integer Public RandNum As Integer Public GapDurArray(11) As Integer Public RandNumArray(11) As Integer Public RandCtr As Integer Public RandNumString As String Public ExitFlagB As Integer Public ExitFlagR As Integer Public ExitFlagE As Integer Public Srate As Single

PAGE 221

210 Appendix A (Continued) Public Slope As Integer Public Junk As Long Sub delay(secs!) Dim Start! Start! = Timer While (Timer < (Start! + secs!)) DoEvents Wend End Sub Function GetRandom(range%) Randomize GetRandom = Int((range%) Rnd) + 1 End Function Public Sub InitializeVariables() InstructionsFlag = "Details" ReInitializeFlag = 0 EndFlag = 0 ResultsID = "blank" Attn = 0 ArithMean = 0 GeoMean = 0 End Sub

PAGE 222

211 Appendix A (Continued) Experiment 4: Frequency Resolution Tasks FRMDETAILS Dim secs As Single Dim Start As Single Dim interval As Integer Sub CmdRun_Click() Dim DAC1 As Long Dim bytband1Fname() As Byte Dim bytband2Fname() As Byte Srate = 45.35 'sampling rate = 22050 Hz 'Variable Attn = StartAttn Call ErrorCheck Call GetRunInfo Call InitAdaptive Call DecideScaleFactor Call PD1srate(ByVal 1, ByVal Srate) Call PD1npts(ByVal 1, ByVal 20000) DAC1 = PD1export(ByVal DACEXP, 1) 'gets hardware addresses for DAC FRMINTERVAL.Show Call MakePlayDiotic End Sub Sub CmdQuit_Click() ExitFlagE = 1 Call S2close Call XBunlock(ByVal 0) Call APunlock(ByVal 0) Call trash End End Sub Sub DecideFilename() SigNumber1 = GetRandom(9) 9 is th e number of Gaussian noise sound files SigNumber2 = GetRandom(9) StanNumber1 = GetRandom(9) StanNumber2 = GetRandom(9) If Stimulus = "noise-noise" Then SigFname1 = "C:\TamDissertation\stimuli\G aussian" + SigNumber1String + ".wav" SigFname2 = "C:\TamDissertation\stimuli\G aussian" + SigNumber2String + ".wav" StanFname1 = "C:\TamDissertation\stimuli\G aussian" + StanNumber1String + ".wav" StanFname2 = "C:\TamDissertation\stimuli\G aussian" + StanNumber2String + ".wav" End If

PAGE 223

212 Appendix A (Continued) If Stimulus = "noise-composite" Then SigFname1 = "C:\TamDissertation\stimuli\G aussian" + SigNumber1String + ".wav" SigFname2 = "C:\TamDissertation\stimuli\PLIT_230_22050_29%.wav" StanFname1 = "C:\TamDissertation\stimuli\G aussian" + StanNumber1String + ".wav" StanFname2 = "C:\TamDissertation\stimuli\PLIT_230_22050_29%.wav" End If End Sub Sub Form_Load() Call InitializePD1 'Putting items in combo boxes CboStimulus.AddItem "noise-noise" CboStimulus.AddItem "noise-composite" CboAttnCond.AddItem "35 dB SL" CboStartGap.AddItem "100" CboStartGap.AddItem "80" CboStartGap.AddItem "60" CboStartGap.AddItem "40" CboStartGap.AddItem "30" CboStartGap.AddItem "20" CboStartGap.AddItem "10" CboStartGap.AddItem "5" End Sub Sub InitAdaptive() 'Initialize the adaptive variables Bumptop = 0 Bumpbot = 0 RightWrong = 0 Trial = 1 NumReversal = 0 Slope = 1 Decision = 1 GapSum = 0 GapMult = 1 GapArithMean = 0 GapGeoMean = 0 Signal = 0 Choice = 0 ExitFlagB = 0 ExitFlagR = 0 ExitFlagE = 0 For I = 0 To 100 Responses(I) = 0 Reversals(I) = 0 Next I

PAGE 224

213 Appendix A (Continued) For I = 1 To 6 RandArray(I) = 0 Next I Gapsize = ((StartGap 1000) / Srate) For I = 0 To 1 Gaps(I) = Gapsize Next I End Sub Public Sub Levitt() If RightWrong <> 0 Then incorrect answer Responses(Trial) = RightWrong Gaps(Trial + 1) = Gaps(Trial) 1.2 Gapsize = Gapsize 1.2 Call Bumpcheck Call Reversecheck Else Responses(Trial) = RightWrong Lastlevel = Gaps(T rial) Gaps(Trial 1) If Lastlevel <> 0 Then Gaps(Trial + 1) = Gaps(Trial) If Lastlevel = 0 Then Gaps(Trial + 1) = Gaps(Trial) / 1.2 Gapsize = Gapsize / 1.2 End If Call Bumpcheck Call Reversecheck End If End Sub Public Sub Bumpcheck() If Gaps(Trial + 1) > 6000 Then '(6000pts 45.35)/1000 = 272.1 ms) Bumptop = Bumptop + 1 If Bumptop > 4 Then MsgBox "Gap Size Too Large", 48, "Virtual Gap Detection" ExitFlagB = 1 End If End If If Gaps(Trial + 1) < 0 Then Gaps(Trial + 1) = 0 Bumpbot = Bumpbot + 1 If Bumpbot > 4 Then MsgBox "Gap Size Too Small", 48, "Virtual Gap Detection" ExitFlagB = 1 End If End If End Sub

PAGE 225

214 Appendix A (Continued) Public Sub Reversecheck() rcheck = (Gaps(Trial + 1) Gaps(Trial)) Slope If rcheck < 0 Then NumReversal = NumReversal + 1 Reversals(NumReversal) = Trial Slope = -1 Slope End If If NumReversal < 8 Then ExitFlagR = 0 End If If NumReversal >= 8 Then ExitFlagR = 1 End If End Sub Public Sub Finishup() Call S2close Call XBunlock(ByVal 0) Call APunlock(ByVal 0) Call trash Unload FRMINTERVAL For I = 3 To 8 J = Reversals(I) Gapms = ((Gaps(J)) Srate) / 1000 GapSum = GapSum + Gapms GapMult = GapMult Gapms Next I GapArithMean = GapSum / 6 GapGeoMean = GapMult ^ 0.167 FrmResults.Show FrmResults!TxtResultsID.Text = SubID FrmResults!TxtResults Stimulus.Text = Stimulus FrmResults!TxtResults StartGap.Text = StartGap FrmResults!TxtThreshNoise.Text = ThreshNoise FrmResults!TxtThreshComp.Text = ThreshComp FrmResults!TxtGapAr ithMean.Text = GapArithMean FrmResults!TxtGapGeoMean.Text = GapGeoMean End Sub Public Sub GetRunInfo() SubID = TxtID.Text Stimulus = CboStimulus.Text StartGap = Val(CboStartGap.Text) ThreshNoise = Val(TxtThreshNoise.Text) ThreshComp = Val(TxtThreshComp.Text)

PAGE 226

215 Appendix A (Continued) SubID = SubID & Time & Date If Stimulus = "noise-noise" Then Unatten = 102.3 'Calibrated on 4/26/05 Tuesday End If If Stimulus = "noise-composite" Then Unatten = 99.25 'Calibrated on 5/03/05 Tuesday End If End Sub Public Sub MakePlayDiotic() Do Call trash Call DecideAttn Call PA4atten(1, Attn) 'build the noise-gap-noise signals 'making the SIGNAL interval signal Call DecideFilename Call GetRandomDurationNumbers Call allot16(1, 20000) DAMA space for DSP(0) for standard Call allot16(2, 20000) DAMA space for DSP(1) for standard bytband1Fname = StrConv( SigFname1 & vbNullChar, vbFromUnicode) Call pushdisk16(bytband1Fna me(0)) 'calling the file from the disk Call ErrorCheck Call block(ByVal 32, ByVal SigBlock1) Call extract Call swap Call drop Call qwind(ByVal 0.65, ByVal Srate) ramping of 0.5 ms for non-speech stimuli Call qscale(ScalefactorNoise) Call dpush(Gapsize) 'push on pts for ga p, 1 ms = (1 x 1000)/45.35) = 22 pts; new Srate=45.35 Call value(0#) 'fill with zeros bytband2Fname = StrConv( SigFname2 & vbNullChar, vbFromUnicode) Call pushdisk16(bytband2Fna me(0)) 'calling the file from the disk Call block(ByVal 32, ByVal SigBlock2) Call extract Call swap Call drop If Stimulus = "noise-noise" Then Call qwind(ByVal 0.65, ByVal Srate) ramping needed for non-speech stimuli only Call qscale(ScalefactorComp) Call dpus h(20000 SigDurationPts) Call value(0#) Call catn(4) Call qwind(ByVal 5, ByVal Srate) Call qpop16(ByVal 1) Call dropall

PAGE 227

216 Appendix A (Continued) 'making the STANDARD interval bytband1Fname = StrConv(St anFname1 & vbNullChar, vbFromUnicode) Call pushdisk16(bytband1Fna me(0)) 'calling the file from the disk Call block(ByVal 32, ByVal StanBlock1) Call extract Call swap Call drop Call qwind(ByVal 0.65, ByVal Srate) Call qscale(ScalefactorNoise) GStanLength = 22 'push on pts for gap, 1 ms = (1 x 1000)/45.35) = 22 pts; new Srate= 45.35 Call dpush(GStanLength) Call value(0#) 'fill with zeros bytband2Fname = StrConv(St anFname2 & vbNullChar, vbFromUnicode) Call pushdisk16(bytband2Fna me(0)) 'calling the file from the disk Call block(ByVal 32, ByVal StanBlock2) Call extract Call swap Call drop If Stimulus = "noise-noise" Then Call qwind(ByVal 0.65, ByVal Srate) Call qscale(ScalefactorComp) Call dpush(20000 StanDurationPts) Call value(0#) Call catn(4) Call qwind(ByVal 5, ByVal Srate) Call qpop16(2) Call dropall mclick = 0 I = GetRandom(2) Signal = I FRMINTERVAL!Text1.Text = Str$(I) & " & Str$(Gaps(Trial)) & " & "Stn1 = & Str$(StanDurNumber1) & " & "Sig1 = & Str$(SigDurNumber1) & " & "Stn2 = & Str$(StanDurNumber2) & " & "Sig2 = & Str$(SigDurNumber2) & " & Str$(StanNumber1) & Str$(SigNumber1) & Str$(S tanNumber2) & Str$(SigNumber2) & " & Str$(NumReversal) Call PD1mode(ByVal 1, ByVal DAC1) Call ErrorCheck If I = 1 Then FRMINTERVAL!INTERVAL1.Visible = True Call delay(0.3) '0.3 was 0.5 Call play(ByVal 1) Call PD1arm(ByVal 1) Call PD1go(ByVal 1) Call delay(0.8) '0.8 was 0.5 Call ErrorCheck FRMINTERVAL!INTERVAL2.Visible = True Call delay(0.3) '0.3 was 0.5 Call play(ByVal 2)

PAGE 228

217 Appendix A (Continued) Call PD1arm(ByVal 1) Call PD1go(ByVal 1) Call delay(1) Call ErrorCheck 'Signal = 1 End If If I = 2 Then FRMINTERVAL!INTERVAL1.Visible = True Call delay(0.3) '0.3 was 0.5 Call play(ByVal 2) Call PD1arm(ByVal 1) Call PD1go(ByVal 1) Call delay(0.8) '0.8 was 0.5 FRMINTERVAL!INTERVAL2.Visible = True Call delay(0.3) '0.3 was 0.5 Call play(ByVal 1) Call PD1arm(ByVal 1) Call PD1go(ByVal 1) Call delay(1) Call ErrorCheck 'Signal = 2 End If Do Until mclick = 1 'Pause program until get a response DoEvents Call ErrorCheck Loop FRMINTERVAL!INTER VAL1.Visible = False FRMINTERVAL!INTER VAL2.Visible = False RightWrong = Signal Choice Call Levitt Call delay(0.6) '0.6 was 0.4 Trial = Trial + 1 Call trash Call ErrorCheck Loop While ExitFlagB = 0 And ExitFlagR = 0 And ExitFlagE = 0 If ExitFlagR = 1 Then Call Finishup End If End Sub Public Sub GetRandom DurationNumbers() 'read numbers into array RandArray(1) = 150 RandArray(2) = 155

PAGE 229

218 Appendix A (Continued) RandArray(3) = 160 RandArray(4) = 165 RandArray(5) = 170 RandArray(6) = 175 RandArray(7) = 180 RandArray(8) = 185 RandArray(9) = 190 RandArray(10) = 195 RandArray(11) = 200 RandNum = 11 'change no. in Modul e 3. 11 means 11 different duration StanDurNumber1 = 120 SigDurNumber1 = 120 StimNum = GetRandom(RandNum) If StimNum = 0 Then StimNum = 1 End If StanDurNumber2 = RandArray(StimNum) StimNum = GetRandom(RandNum) If StimNum = 0 Then StimNum = 1 End If SigDurNumber2 = RandArray(StimNum) StanDurationPts1 = (StanDurNumber1 1000) / Srate StanDurationPts2 = (StanDurNumber2 1000) / Srate SigDurationPts1 = (SigDurNumber1 1000) / Srate SigDurationPts2 = (SigDurNumber2 1000) / Srate SigBlock1 = SigDurationPts1 + 31 SigBlock2 = SigDurationPts2 + 31 StanBlock1 = StanDurationPts1 + 31 StanBlock2 = StanDurationPts2 + 31 SigDurationPts = SigDurationPts 1 + SigDurationPts2 + Gapsize StanDurationPts = StanDurationPts1 + StanDurationPts2 + 22 '(1 x 1000)/45.35) = 22 pts = 1 ms End Sub Public Sub DecideAttn() If Stimulus = "noise-noise" Then Attn = Unatten (ThreshNoise + 35) End If If Stimulus = "noise-composite" Then If WhichtoScaleThresh = 1 Then 'scale noise marker down (noise thresh smaller than comp thres) Attn = Unatten (ThreshComp + 35) End If

PAGE 230

219 Appendix A (Continued) If WhichtoScaleThresh = 2 Then 'scale composite marker down Attn = Unatten (ThreshNoise + 35) End If End If End Sub Sub DecideScaleFactor() If ThreshNoise >= ThreshComp Then WhichtoScaleThresh = 2 If ThreshNoise < ThreshComp Then WhichtoScaleThresh = 1 CorrectionFactorComp = 0 CorrectionFactorNoise = 0 HearingCorrectionComp = 0 HearingCorrectionNoise = 0 ScalefactorNoise = 1 ScalefactorComp = 1 If WhichtoScaleThresh = 1 Then HearingCorrectionNoise = ThreshNoise ThreshComp End If If WhichtoScaleThresh = 2 Then HearingCorrectionComp = ThreshComp ThreshNoise End If ScalefactorNoise = Exp(2.30258909 ((CorrectionFact orNoise + HearingCorrectionNoise) / 20)) ScalefactorComp = Exp(2.30258909 ((CorrectionF actorComp + HearingCorrectionComp) / 20)) If Stimulus = "noise-noise" Then ScalefactorNoise = 1 ScalefactorComp = 1 End If End Sub FRMINTERVAL Private Sub Command1_Click() mclick = 1 ExitFlagB = 1 Unload FRMINTERVAL End Sub Private Sub HappyFace1() For I = 1 To 2 Image1.Visible = True Call delay(0.3) Image1.Visible = False Image2.Visible = True Call delay(0.3) Image2.Visible = False

PAGE 231

220 Appendix A (Continued) Image3.Visible = True Call delay(0.3) Image3.Visible = False Next I End Sub Private Sub HappyFace2() For I = 1 To 2 Image4.Visible = True Call delay(0.3) Image4.Visible = False Image5.Visible = True Call delay(0.3) Image5.Visible = False Image6.Visible = True Call delay(0.3) Image6.Visible = False Next I End Sub Private Sub Form_Load() End Sub Private Sub INTERVAL1_Click() Choice = 1 mclick = 1 If Signal = 1 Then Call HappyFace1 Else Call HappyFace2 End If INTERVAL1.Visible = False INTERVAL2.Visible = False End Sub Private Sub INTERVAL2_Click() Choice = 2 mclick = 1 If Signal = 2 Then Call HappyFace2 Else Call HappyFace1 End If INTERVAL1.Visible = False INTERVAL2.Visible = False End Sub

PAGE 232

221 Appendix A (Continued) FRMRESULTS Private Sub CmdEnd_Click() End EndFlag = 1 End Sub Private Sub CmdRepeat_Click() ExitFlagR = 1 Unload FrmResults Call InitializePD1 End Sub Private Sub CmdSave_Click() CmdSave.Enabled = False Dim boolAdding As Boolean If (DatGapDetection.Recordset.EOF = False And DatGapDetection.Recordset.BOF = False) Then DatGapDetection.Recordset.CancelUpdate 'adEditNone DatGapDetection.Recordset.AddNew boolAdding = (DatGapDetecti on.Recordset.EditMode = adEditAdd) Call LoadValues DatGapDetection.Recordset.Update If boolAdding Then DatGapDetection.Recordset.MoveLast End If CmdSave.Enabled = Not CmdSave.Enabled DatGapDetection.Enabled = Not DatGapDetection.EOFAction FrmResults.PrintForm Printer.EndDoc Call AddDisplay Unload FrmResults If EndFlag = 1 Then End End If Call InitializePD1 End Sub Private Sub Form_Load() LoadValues FrmResults.Show 0 End Sub

PAGE 233

222 Appendix A (Continued) Public Sub LoadValues() TxtResultsID.Text = SubID TxtResultsStimulus.Text = Stimulus TxtResultsStartGap.Text = StartGap TxtThreshNoise.Text = ThreshNoise TxtThreshComp.Text = ThreshComp TxtGapArithMean.Text = GapArithMean TxtGapGeoMean.Text = GapGeoMean End Sub Private Sub AddDisplay() Dim StrAddDisplay As String StrAddDisplay = "Results Added to Database" MsgBox StrAddDisplay End Sub Private Sub LblStartGap_Click() End Sub MODULE 1 Sub InitializeHardware() Dim LongRet As Long LongRet = XBlock(ByVal 100, ByVal 0) 'checks to see if the XBus is locked If LongRet = 0 Then Call ErrorCheck Exit Sub End If LongRet = APlock(ByVal 100, ByVal 0) 'checks to see if AP is locked If LongRet = 0 Then Call ErrorCheck Exit Sub End If End Sub Sub ErrorCheck() 'this is a tucker routine to deliver an error message 'to the screen. These are for hardware errors Dim LongRet As Long Dim bytErrMsg(255) As Byte Dim strErrMsg As String LongRet = getS2err(bytErrMsg(0)) If LongRet > 0 Then strErrMsg = StrConv(bytErrMsg, vbUnicode) Call MsgBox(strErrMsg) End If End Sub

PAGE 234

223 Appendix A (Continued) Sub InitializePD1() Dim LongRet As Long LongRet = S2init(ByVal 0, ByVal INIT_PRIMARY, ByVal 1000) Call InitializeHardware Call ErrorCheck Call PD1clear(ByVal 1) Call PD1fixbug(ByVal 1) End Sub MODULE 2 (same as Module above) MODULE 3 'Variables Public Gapms As Double Public GapMult As Double Public GapGeoM ean As Double Public GapArith Mean As Double Public SigScaleFactor As Single Public StanScaleFactor As Single Public Unatten As Double Public SigNumber1 As Integer Public SigNumber1String As String Public SigNumber2 As Integer Public SigNumber2String As String Public StanNumber1 As Integer Public StanNumber1String As String Public StanNumber2 As Integer Public StanNumber2String As String Public bytband1Fname() As Byte Public bytband2Fname() As Byte Public StanDurationString As String Public SigDurationString As String Public Duration As String Public DurationPts As Long Public ByteFilename() As Byte Public SigFname1 As String Public SigFname2 As String Public StanFname1 As String Public StanFname2 As String Public SigDurationPts As Long Public SigDurationTotalPts As Long Public StanDurationPts As Long Public StanDurNumber1 As Long Public SigDurNumber1 As Long Public StanDurNumber2 As Long Public SigDurNumber2 As Long Public StanDurNum1String As String Public SigDurNum1String As String Public StanDurNum2String As String Public SigDurNum2String As String

PAGE 235

224 Appendix A (Continued) Public StanDurationPts1 As Long Public SigDurationPts1 As Long Public StanDurationPts2 As Long Public SigDurationPts2 As Long Public SigBlock1 As Double Public SigBlock2 As Double Public StanBlock1 As Double Public StanBlock2 As Double Public Choice As Integer Public RightWrong As Integer Public Responses(100) As Integer Public Gaps(100) As Double Public Reversals(100) As Integer Public Trial As Double Public Bumptop As Integer Public Bumpbot As Integer Public Signal As Integer Public Gapsize As Double Public PtsToPlay As Integer Public ThreshNoise As Integer Public ThreshComp As Integer Public Stimulus As String Public SubID As String Public Ear As String Public AttnCondition As String Public Attn As Single Public StartGap As Double Public Gap As Integer Public Decision As Integer Public I As Long Public J As Integer Public NumReversals As Integer Public Lastlevel As Integer Public rcheck As Integer Public NumReversal As Integer Public ExitFlagB As Integer Public ExitFlagR As Integer Public ExitFlagE As Integer Public GapSum As Double Public GapThresh As Double Public mclick As Integer Public RandNum As Integer Public RandArray(11) As Integer Public StimNum As Integer Public SigScaleArray(12) As Single Public SigRandNum As Integer Public SigScaleNum As Single Public StanScaleArray(12) As Single Public StanRandNum As Integer Public StanScaleNum As Single Public RandCtr As Integer Public RandNumString As String Public NumPartFilename(3) As String Public FilenameArray(8) As String

PAGE 236

225 Appendix A (Continued) Public CorrectionFactor As Double Public AsymScaleFactor As Double Public HearingLoss As Integer Public AsymWhichtoScale As Integer Public NoiseThresh As Integer Public CompThresh As Integer Public WhichtoScaleT hresh As Integer Public HearingCorrectionNoise As Integer Public HearingCorrect ionComp As Integer Public ScalefactorNoise As Double Public Scalefacto rComp As Double Public CorrectionFactorNoise As Integer Public CorrectionFactorComp As Integer Public Threshold As Integer Public Srate As Single Public Slope As Integer Public Junk As Long Sub delay(secs!) Dim Start! Start! = Timer While (Timer < (Start! + secs!)) DoEvents Wend End Sub Function GetRandom(range%) Randomize GetRandom = Int((range%) Rnd) + 1 End Function

PAGE 237

226 Appendix A (Continued) Experiment 5: Speech Identification Task FRMDETAILS Dim secs As Single Dim Start As Single Dim interval As Integer Sub CmdRun_Click() Dim DAC1 As Long Srate = 45.35 Call InitializeVariables Call GetRunInfo Call DecideFilename Call DecideAttn Call GetCodeNumbers Call PA4atten(1, Attn) Call PD1srate(ByVal 1, ByVal Srate) Call PD1npts(ByVal 1, ByVal 20000) DAC1 = PD1export(ByVal DACEXP, 1) 'gets hardware addresses for DAC FRMINTERVAL.Show Do Call allot16(1, 20000) 'DAMA space for DSP(0) for standard If Condition = "SLIT-SPLIT" Then Call PlaySLITSPLIT End If mclick = 0 If ExitFlag = 1 Then Call Finishup Exit Sub End If FRMINTERVAL!Text1.Text = FileName & C ode = + Str$(Code) + " & " + A0 = + Str(counters(0)) + A1 = + Str(counters(1)) + A2 = + Str(counters(2)) + A3 = + Str(counters(3)) + A4 = + Str(counters(4)) + A5 = + Str(counters(5)) + A6 = + Str(counters(6)) + A7 = + Str(counters(7)) + A8 = + Str(counters(8)) + A9 = + Str(counters(9)) + A10 = + Str(counters(10)) + A11 = + Str(counters(11)) + A12 = + Str(counters(12)) + A13 = + Str(counters(13)) + A14 = + Str(counters(14)) + A15 = + Str(counters(15)) + A16 = + Str(counters(16)) + A17 = + Str(counters(17)) + A18 = + Str(counters(18)) + A19 = + Str(counters(19)) + A20 = + Str(counters(20)) + A21 = + Str(counters(21)) + A22 = + Str(counters(22)) + A23 = + Str(counters(23)) + A24 = + Str(counters(24)) + A25 = + Str(counters(25)) + A26 = + Str(counters(26)) + A27 = + Str(counters(27)) + A28 = + Str(counters(28)) + A29 = + Str(counters(29)) + A30 = + Str(counters(30)) + A31 = + Str(counters(31)) + A32 = + Str(counters(32)) + A33 = + Str(counters(33)) + A34 = + Str(counters(34)) + A35 = + Str(counters(35)) + A36 = + Str(counters(36)) + A37 = + Str(counters(37)) + A38 = + Str(counters(38)) +

PAGE 238

227 Appendix A (Continued) A39 = + Str(counters(39)) + A40 = + Str(counters(40)) + A41 = + Str(counters(41)) FRMINTERVAL!Slit.Visible = True FRMINTERVAL!split.Visible = True Call PD1mode(ByVal 1, ByVal DAC1) Call delay(0.8) '0.8 was 0.5 before Call play(ByVal 1) Call PD1arm(ByVal 1) Call PD1go(ByVal 1) Call delay(0.6) '0.6 was 0.5 before Do Until mclick = 1 'Pause program until get a response DoEvents Loop FRMINTERVAL!Slit.Visible = False FRMINTERVAL!split.Visible = False Call delay(0.6) '0.6 was 0.4 before Trial = Trial + 1 Call trash Call ErrorCheck Loop While ExitFlag = 0 If ExitFlag = 1 Then Call Finishup End If End Sub Sub Command1_Click() 'ExitFlagE = 1 Call S2close Call XBunlock(ByVal 0) Call APunlock(ByVal 0) End End Sub Sub Form_Load() Call InitializePD1 CboCondition.AddItem "SLIT-SPLIT" 'Putting items in combo boxes End Sub Public Sub Finishup() Call S2close Call XBunlock(ByVal 0) Call APunlock(ByVal 0) Call trash

PAGE 239

228 Appendix A (Continued) Unload FRMINTERVAL FRMRESULTS.Show End Sub Public Sub GetRunInfo() SubID = TxtID.Text Condition = CboCondition.Text Threshold = Val(TxtThreshold.Text) SubID = SubID & Time & Date End Sub Public Sub DecideFilename() If Condition = "SLIT-SPLIT" Then FirstPart = "c:\TamDissertation\Stimuli\A" End If End Sub Public Sub DecideAttn() Unatten = 110 'calibrated on 5/03/05 Tuesday Attn = Unatten (Threshold + 35) End Sub Public Sub PlaySLITSPLIT() Call GetCode If (ExitFlag = 1) Then Exit Sub FileName = FirstPart + Code + ".wav" bytband1Fname = StrConv(FileName & vbNullChar, vbFromUnicode) Call pushdisk16(bytband1Fname(0)) 'calling the file from the disk Call ErrorCheck Call block(ByVal 32, ByVal (SigDurationPts + 31)) Call extract Call swap Call drop Call dpush(20000 SigDurationPts) Call value(ByVal 0#) Call catn(2) Call qpop16(ByVal 1) Call dropall End Sub Sub GetCode() Dim exitapp As Integer, count As Integer, cont As Boolean exitapp = 0

PAGE 240

229 Appendix A (Continued) For count = 0 To 41 '41 is the (number of stimulii 1) If (counters(count) = 2) Then '2 = no. of repetition exitapp = exitapp + 1 End If Next count If (exitapp = count) Then ExitFlag = 1 Exit Sub End If Dim upperbound As Integer Dim lowerbound As Integer Dim t As Integer Randomize upperbound = 42 '42 is the number of stimulii lowerbound = 1 cont = True Do Until (cont = False) t = Int(upperbound Rnd + lowerbound) If (counters(t 1) < 2) Then '2 = no. of repetition Code = CodeArray(t 1) counters(t 1) = counters(t 1) + 1 cont = False choicectr = t Else cont = True End If Loop 'SLIT: 0-13; SPLIT: 14-27; INTER: 28-41 If Code = 0 Then 'A0 = SLIT0 SigDurationPts = 13910 End If If Code = 1 Then 'A1 = SLIT10 SigDurationPts = 14130 '(640.8ms x 1000)/45.35 End If If Code = 2 Then 'A2 = SLIT20 SigDurationPts = 14351 '(650.8ms x 1000)/45.35 End If If Code = 3 Then 'A3 = SLIT30 SigDurationPts = 14571 '(660.8ms x 1000)/45.35 End If If Code = 4 Then 'A4 = SLIT40 SigDurationPts = 14792 '(670.8ms x 1000)/45.35 End If

PAGE 241

230 Appendix A (Continued) If Code = 5 Then 'A5 = SLIT50 SigDurationPts = 15012 '(680.8msx 1000)/45.35 End If If Code = 6 Then 'A6 = SLIT60 SigDurationPts = 15233 '(690.8ms x 1000)/45.35 End If If Code = 7 Then 'A7 = SLIT70 SigDurationPts = 15453 '(700.8ms x 1000)/45.35 End If If Code = 8 Then 'A8 = SLIT80 SigDurationPts = 15674 '(710.8ms x 1000)/45.35 End If If Code = 9 Then 'A9 = SLIT90 SigDurationPts = 15894 '(720.8ms x 1000)/45.35 End If If Code = 10 Then 'A10 = SLIT100 SigDurationPts = 16115 '(730.8ms x 1000)/45.35 End If If Code = 11 Then 'A11 = SLIT110 SigDurationPts = 16335 '(740.8ms x 1000)/45.35 End If If Code = 12 Then 'A12 = SLIT120 SigDurationPts = 16556 '(750.8ms x 1000)/45.35 End If If Code = 13 Then 'A13 = SLIT130 SigDurationPts = 16776 '(760.8ms x 1000)/45.35 End If 'SPLIT: 14-27 If Code = 14 Then 'A14 = SPLIT0 SigDurationPts = 13910 End If If Code = 15 Then 'A15 = SPLIT10 SigDurationPts = 14130 '(640.8ms x 1000)/45.35 End If If Code = 16 Then 'A16 = SPLIT20 SigDurationPts = 14351 '(650.8ms x 1000)/45.35 End If If Code = 17 Then 'A17 = SPLIT30 SigDurationPts = 14571 '(660.8ms x 1000)/45.35 End If

PAGE 242

231 Appendix A (Continued) If Code = 18 Then 'A18 = SPLIT40 SigDurationPts = 14792 '(670.8ms x 1000)/45.3 End If If Code = 19 Then 'A19 = SPLIT50 SigDurationPts = 15012 '(680.8msx 1000)/45.35 End If If Code = 20 Then 'A20 = SPLIT60 SigDurationPts = 15233 '(690.8ms x 1000)/45.35 End If If Code = 21 Then 'A21 = SPLIT70 SigDurationPts = 15453 '(700.8ms x 1000)/45.35 End If If Code = 22 Then 'A22 = SPLIT80 SigDurationPts = 15674 '(710.8ms x 1000)/45.35 End If If Code = 23 Then 'A23 = SPLIT90 SigDurationPts = 15894 '(720.8ms x 1000)/45.35 End If If Code = 24 Then 'A24 = SPLIT100 SigDurationPts = 16115 '(730.8ms x 1000)/45.35 End If If Code = 25 Then 'A25 = SPLIT110 SigDurationPts = 16335 '(740.8ms x 1000)/45.35 End If If Code = 26 Then 'A26 = SPLIT120 SigDurationPts = 16556 '(750.8ms x 1000)/45.35 End If If Code = 27 Then 'A27 = SPLIT130 SigDurationPts = 16776 '(760.8ms x 1000)/45.35 End If 'INTER: 28-41 If Code = 28 Then 'A28 = INTER0 SigDurationPts = 13910 End If If Code = 29 Then 'A29 = INTER10 SigDurationPts = 14130 '(640.8ms x 1000)/45.35 End If If Code = 30 Then 'A30 = INTER20 SigDurationPts = 14351 '(650.8ms x 1000)/45.35 End If

PAGE 243

232 Appendix A (Continued) If Code = 31 Then 'A31 = INTER30 SigDurationPts = 14571 '(660.8ms x 1000)/45.35 End If If Code = 32 Then 'A32 = INTER40 SigDurationPts = 14792 '(670.8ms x 1000)/45.35 End If If Code = 33 Then 'A33 = INTER50 SigDurationPts = 15012 '(680.8msx 1000)/45.35 End If If Code = 34 Then 'A34 = INTER60 SigDurationPts = 15233 '(690.8ms x 1000)/45.35 End If If Code = 35 Then 'A35 = INTER70 SigDurationPts = 15453 '(700.8ms x 1000)/45.35 End If If Code = 36 Then 'A36 = INTER80 SigDurationPts = 15674 '(710.8ms x 1000)/45.35 End If If Code = 37 Then 'A37 = INTER90 SigDurationPts = 15894 '(720.8ms x 1000)/45.35 End If If Code = 38 Then 'A38 = INTER100 SigDurationPts = 16115 '(730.8ms x 1000)/45.35 End If If Code = 39 Then 'A39 = INTER110 SigDurationPts = 16335 '(740.8ms x 1000)/45.35 End If If Code = 40 Then 'A40 = INTER120 SigDurationPts = 16556 '(750.8ms x 1000)/45.35 End If If Code = 41 Then 'A41 = INTER130 SigDurationPts = 16776 '(760.8ms x 1000)/45.35 End If 'If Duration = 0 Then SigDurationPts = 13910 '(630.8ms x 1000)/45.35 'End If 'If Duration = 10 Then SigDurationPts = 14130 '(640.8ms x 1000)/45.35 'End If

PAGE 244

233 Appendix A (Continued) 'If Duration = 20 Then SigDurationPts = 14351 '(650.8ms x 1000)/45.35 'End If 'If Duration = 30 Then SigDurationPts = 14571 '(660.8ms x 1000)/45.35 'End If 'If Duration = 40 Then SigDurationPts = 14792 '(670.8ms x 1000)/45.35 'End If 'If Duration = 50 Then SigDurationPts = 15012 '(680.8msx 1000)/45.35 'End If 'If Duration = 60 Then SigDurationPts = 15233 '(690.8ms x 1000)/45.35 'End If 'If Duration = 70 Then SigDurationPts = 15453 '(700.8ms x 1000)/45.35 'End If 'If Duration = 80 Then SigDurationPts = 15674 '(710.8ms x 1000)/45.35 'End If 'If Duration = 90 Then SigDurationPts = 15894 '(720.8ms x 1000)/45.35 'End If 'If Duration = 100 Then SigDurationPts = 16115 '(730.8ms x 1000)/45.35 'End If 'If Duration = 110 Then SigDurationPts = 16335 '(740.8ms x 1000)/45.35 'End If 'If Duration = 120 Then SigDurationPts = 16556 '(750.8ms x 1000)/45.35 'End If 'If Duration = 130 Then SigDurationPts = 16776 '(760.8ms x 1000)/45.35 'End If End Sub Sub GetCodeNumbers() CodeArray(0) = 0 'A0 = SLIT0 CodeArray(1) = 1 'A1 = SLIT10 CodeArray(2) = 2 'A2 = SLIT20

PAGE 245

234 Appendix A (Continued) CodeArray(3) = 3 'A3 = SLIT30 CodeArray(4) = 4 'A4 = SLIT40 CodeArray(5) = 5 'A5 = SLIT50 CodeArray(6) = 6 'A6 = SLIT60 CodeArray(7) = 7 'A7 = SLIT70 CodeArray(8) = 8 'A8 = SLIT80 CodeArray(9) = 9 'A9 = SLIT90 CodeArray(10) = 10 'A10 = SLIT100 CodeArray(11) = 11 'A11 = SLIT110 CodeArray(12) = 12 'A12 = SLIT120 CodeArray(13) = 13 'A13 = SLIT130 CodeArray(14) = 14 'A14 = SPLIT0 CodeArray(15) = 15 'A15 = SPLIT10 CodeArray(16) = 16 'A16 = SPLIT20 CodeArray(17) = 17 'A17 = SPLIT30 CodeArray(18) = 18 'A18 = SPLIT40 CodeArray(19) = 19 'A19 = SPLIT50 CodeArray(20) = 20 'A20 = SPLIT60 CodeArray(21) = 21 'A21 = SPLIT70 CodeArray(22) = 22 'A22 = SPLIT80 CodeArray(23) = 23 'A23 = SPLIT90 CodeArray(24) = 24 'A24 = SPLIT100 CodeArray(25) = 25 'A25 = SPLIT110 CodeArray(26) = 26 'A26 = SPLIT120 CodeArray(27) = 27 'A27 = SPLIT130 CodeArray(28) = 28 'A28 = INTER0 CodeArray(29) = 29 'A29 = INTER10 CodeArray(30) = 30 'A30 = INTER20 CodeArray(31) = 31 'A31 = INTER30 CodeArray(32) = 32 'A32 = INTER40 CodeArray(33) = 33 'A33 = INTER50 CodeArray(34) = 34 'A34 = INTER60 CodeArray(35) = 35 'A35 = INTER70 CodeArray(36) = 36 'A36 = INTER80 CodeArray(37) = 37 'A37 = INTER90 CodeArray(38) = 38 'A38 = INTER100 CodeArray(39) = 39 'A39 = INTER110 CodeArray(40) = 40 'A40 = INTER120 CodeArray(41) = 41 'A41 = INTER130 CodeNumber = 42 '42 is the number of stimulii End Sub Public Sub InitializeVariables() ExitFlag = 0 For K = 0 To 41 41 is the (number of stimulii -1) counters(K) = 0 Next K For K = 1 To 42 '42 is the number of stimulii For J = 1 To 2

PAGE 246

235 Appendix A (Continued) ResponseArray(K, J) = 0 Next J Next K SubID = "000" Condition = "000" Threshold = 0 CounterNo1 = 0 CounterNo2 = 0 CounterNoTotal = 0 End Sub FRMINTERVAL Private Sub Command1_Click() mclick = 1 Unload FRMINTERVAL End Sub Private Sub Slit_Click() Choice = 1 mclick = 1 Call Calculate Slit.Visible = False split.Visible = False End Sub Private Sub Split_Click() Choice = 2 mclick = 1 Call Calculate Slit.Visible = False split.Visible = False End Sub Public Sub Calculate() If Choice = 1 Then ResponseArray(c hoicectr, Choice) = ResponseA rray(choicectr, Choice) + 1 ElseIf Choice = 2 Then ResponseArray(c hoicectr, Choice) = ResponseA rray(choicectr, Choice) + 1 End If If Choice = 1 Then CounterNo1 = CounterNo1 + 1 ElseIf Choice = 2 Then

PAGE 247

236 Appendix A (Continued) CounterNo2 = CounterNo2 + 1 End If CounterNoTotal = CounterNo1 + CounterNo2 TxtCounter.Text = CounterNoTotal End Sub FRMRESULTS Private Sub CmdEnd_Click() End EndFlag = 1 End Sub Private Sub CmdRepeat_Click() Unload FRMRESULTS Call InitializePD1 End Sub Private Sub CmdSave_Click() CmdSave.Enabled = False Dim boolAdding As Boolean If (DatSplitResponse.Recordset.EOF = False And DatSplitResponse.Record set.BOF = False) Then DatSplitResponse.Recordset.Ca ncelUpdate 'adEditNone DatSplitResponse.Recordset.AddNew boolAdding = (DatSplitRespons e.Recordset.EditMode = adEditAdd) Call LoadValues DatSplitResponse.Recordset.Update If boolAdding Then DatSplitRes ponse.Recordset.MoveLast End If CmdSave.Enabled = Not CmdSave.Enabled DatSplitResponse.Enabled = Not DatSplitResponse.EOFAction FRMRESULTS.PrintForm Printer.EndDoc Call AddDisplay Unload FRMRESULTS Call InitializePD1 End Sub Private Sub Form_Load()

PAGE 248

237 Appendix A (Continued) LoadValues FRMRESULTS.Show 0 End Sub Sub LoadValues() TxtResultsID.Text = SubID TxtResultsAttnCond.Text = Attn TxtResultsThres hold.Text = Threshold 'TxtResultsStimCond.Text = Condition 'Percent Slit heard 'SLIT series percent slit heard TxtResultsSlitA0.Text = ResponseArray(1, 1) 'Slit0 TxtResultsSlitA1.Text = ResponseArray(2, 1) 'Slit10 TxtResultsSlitA2.Text = ResponseArray(3, 1) 'Slit20 TxtResultsSlitA3.Text = ResponseArray(4, 1) 'Slit30 TxtResultsSlitA4.Text = ResponseArray(5, 1) 'Slit40 TxtResultsSlitA5.Text = ResponseArray(6, 1) 'Slit50 TxtResultsSlitA6.Text = ResponseArray(7, 1) 'Slit60 TxtResultsSlitA7.Text = ResponseArray(8, 1) 'Slit70 TxtResultsSlitA8.Text = ResponseArray(9, 1) 'Slit80 TxtResultsSlitA9.Text = ResponseArray(10, 1) 'Slit90 TxtResultsSlitA10.Text = ResponseArray(11, 1) 'Slit100 TxtResultsSlitA11.Text = ResponseArray(12, 1) 'Slit110 TxtResultsSlitA12.Text = ResponseArray(13, 1) 'Slit120 TxtResultsSlitA13.Text = ResponseArray(14, 1) 'Slit130 'SPLIT series percent slit heard TxtResultsSlitA14.Text = ResponseArray(15, 1) 'Split0 TxtResultsSlitA15.Text = ResponseArray(16, 1) 'Split10 TxtResultsSlitA16.Text = ResponseArray(17, 1) 'Split20 TxtResultsSlitA17.Text = ResponseArray(18, 1) 'Split30 TxtResultsSlitA18.Text = ResponseArray(19, 1) 'Split40 TxtResultsSlitA19.Text = ResponseArray(20, 1) 'Split50 TxtResultsSlitA20.Text = ResponseArray(21, 1) 'Split60 TxtResultsSlitA21.Text = ResponseArray(22, 1) 'Split70 TxtResultsSlitA22.Text = ResponseArray(23, 1) 'Split80 TxtResultsSlitA23.Text = ResponseArray(24, 1) 'Split90 TxtResultsSlitA24.Text = ResponseArray(25, 1) 'Split100 TxtResultsSlitA25.Text = ResponseArray(26, 1) 'Split110 TxtResultsSlitA26.Text = ResponseArray(27, 1) 'Split120 TxtResultsSlitA27.Text = ResponseArray(28, 1) 'Split130 'INTER series percent slit heard TxtResultsSlitA28.Text = ResponseArray(29, 1) 'Inter0 TxtResultsSlitA29.Text = ResponseArray(30, 1) 'Inter10 TxtResultsSlitA30.Text = ResponseArray(31, 1) 'Inter20 TxtResultsSlitA31.Text = ResponseArray(32, 1) 'Inter30 TxtResultsSlitA32.Text = ResponseArray(33, 1) 'Inter40 TxtResultsSlitA33.Text = ResponseArray(34, 1) 'Inter50 TxtResultsSlitA34.Text = ResponseArray(35, 1) 'Inter60 TxtResultsSlitA35.Text = ResponseArray(36, 1) 'Inter70 TxtResultsSlitA36.Text = ResponseArray(37, 1) 'Inter80

PAGE 249

238 Appendix A (Continued) TxtResultsSlitA37.Text = ResponseArray(38, 1) 'Inter90 TxtResultsSlitA38.Text = ResponseArray(39, 1) 'Inter100 TxtResultsSlitA39.Text = ResponseArray(40, 1) 'Inter110 TxtResultsSlitA40.Text = ResponseArray(41, 1) 'Inter120 TxtResultsSlitA41.Text = ResponseArray(42, 1) 'Inter130 'Percent Split Heard 'SLIT series percent split heard TxtResultsSplitA0.Text = ResponseArray(1, 2) 'Slit0 TxtResultsSplitA1.Text = ResponseArray(2, 2) 'Slit10 TxtResultsSplitA2.Text = ResponseArray(3, 2) 'Slit20 TxtResultsSplitA3.Text = ResponseArray(4, 2) 'Slit30 TxtResultsSplitA4.Text = ResponseArray(5, 2) 'Slit40 TxtResultsSplitA5.Text = ResponseArray(6, 2) 'Slit50 TxtResultsSplitA6.Text = ResponseArray(7, 2) 'Slit60 TxtResultsSplitA7.Text = ResponseArray(8, 2) 'Slit70 TxtResultsSplitA8.Text = ResponseArray(9, 2) 'Slit80 TxtResultsSplitA9.Text = ResponseArray(10, 2) 'Slit90 TxtResultsSplitA10.Text = ResponseArray(11, 2) 'Slit100 TxtResultsSplitA11.Text = ResponseArray(12, 2) 'Slit110 TxtResultsSplitA12.Text = ResponseArray(13, 2) 'Slit120 TxtResultsSplitA13.Text = ResponseArray(14, 2) 'Slit130 'SPLIT series percent split heard TxtResultsSplitA14.Text = ResponseArray(15, 2) 'Split0 TxtResultsSplitA15.Text = ResponseArray(16, 2) 'Split10 TxtResultsSplitA16.Text = ResponseArray(17, 2) 'Split20 TxtResultsSplitA17.Text = ResponseArray(18, 2) 'Split30 TxtResultsSplitA18.Text = ResponseArray(19, 2) 'Split40 TxtResultsSplitA19.Text = ResponseArray(20, 2) 'Split50 TxtResultsSplitA20.Text = ResponseArray(21, 2) 'Split60 TxtResultsSplitA21.Text = ResponseArray(22, 2) 'Split70 TxtResultsSplitA22.Text = ResponseArray(23, 2) 'Split80 TxtResultsSplitA23.Text = ResponseArray(24, 2) 'Split90 TxtResultsSplitA24.Text = ResponseArray(25, 2) 'Split100 TxtResultsSplitA25.Text = ResponseArray(26, 2) 'Split110 TxtResultsSplitA26.Text = ResponseArray(27, 2) 'Split120 TxtResultsSplitA27.Text = ResponseArray(28, 2) 'Split130 'INTER series percent slit heard TxtResultsSplitA28.Text = ResponseArray(29, 2) 'Inter0 TxtResultsSplitA29.Text = ResponseArray(30, 2) 'Inter10 TxtResultsSplitA30.Text = ResponseArray(31, 2) 'Inter20 TxtResultsSplitA31.Text = ResponseArray(32, 2) 'Inter30 TxtResultsSplitA32.Text = ResponseArray(33, 2) 'Inter40 TxtResultsSplitA33.Text = ResponseArray(34, 2) 'Inter50 TxtResultsSplitA34.Text = ResponseArray(35, 2) 'Inter60 TxtResultsSplitA35.Text = ResponseArray(36, 2) 'Inter70 TxtResultsSplitA36.Text = ResponseArray(37, 2) 'Inter80 TxtResultsSplitA37.Text = ResponseArray(38, 2) 'Inter90 TxtResultsSplitA38.Text = ResponseArray(39, 2) 'Inter100 TxtResultsSplitA39.Text = ResponseArray(40, 2) 'Inter110 TxtResultsSplitA40.Text = ResponseArray(41, 2) 'Inter120 TxtResultsSplitA41.Text = ResponseArray(42, 2) 'Inter130 End Sub

PAGE 250

239 Appendix A (Continued) Private Sub AddDisplay() Dim StrAddDisplay As String StrAddDisplay = "Results Added to Database" MsgBox StrAddDisplay End Sub Private Sub LbldB_Click() End Sub Private Sub LblStartAttn_Click() End Sub MODULE 1 Sub InitializeHardware() Dim LongRet As Long LongRet = XBlock(ByVal 100, ByVal 0) 'checks to see if the XBus is locked If LongRet = 0 Then Call ErrorCheck Exit Sub End If LongRet = APlock(ByVal 100, ByVal 0) 'checks to see if AP is locked If LongRet = 0 Then Call ErrorCheck Exit Sub End If End Sub Sub ErrorCheck() 'this is a tucker routine to deliver an error message 'to the screen. These are for hardware errors Dim LongRet As Long Dim bytErrMsg(255) As Byte Dim strErrMsg As String LongRet = getS2err(bytErrMsg(0)) If LongRet > 0 Then strErrMsg = StrConv(bytErrMsg, vbUnicode) Call MsgBox(strErrMsg) End If End Sub Sub InitializePD1() Dim LongRet As Long LongRet = S2init(ByVal 0, ByVal INIT_PRIMARY, ByVal 1000) Call InitializeHardware Call ErrorCheck Call PD1clear(ByVal 1) Call PD1fixbug(ByVal 1) End Sub

PAGE 251

240 MODULE 2 (same as Module 2 above) MODULE 3 'Variables Public CounterNo1 As Integer Public CounterNo2 As Integer Public CounterNoTotal As Integer Public FirstPart As String Public Code As String Public CodeArray(42) As Integer '4 2 stands for (number of stimulii) Public CodeNumber As Integer Public counters(41) As Integer 41 stands for the (number of stimulii -1) Public choicectr As Integer Public CounterTracker As Integer Public Unatten As Double Public ResponseArray(42, 2) 42 stands for the nu mber of stimulii; 2 sta nds for no. of choices Public DurNum1String As String Public DurNum2String As String Public DurationPts As Long Public bytband1Fname() As Byte Public Band1Fname As String Public Band2Fname As String Public DurationPts1 As Long Public DurationPts2 As Long Public DurNumber1 As Long Public DurNumber2 As Long Public Choice As Integer Public RightWrong As Integer Public Responses(100) As Integer Public Gaps(100) As Double Public Reversals(100) As Integer Public Trial As Double Public Bumptop As Integer Public Bumpbot As Integer Public Signal As Integer Public Halfgap As Double Public PtsToPlay As Integer Public SubID As String Public ResultsID As String Public ResultsCondition As String Public ResultsThreshold As String Public ResultsAttnCond As String Public ResultsStimuCond As String Public Counter As Integer Public A0 As Integer Public A1 As Integer Public A2 As Integer Public A3 As Integer Public A4 As Integer Public A5 As Integer Public A6 As Integer Public A7 As Integer Public A8 As Integer Public A9 As Integer Public A10 As Integer Public A11 As Integer

PAGE 252

241 Appendix A (Continued) Public A12 As Integer Public A13 As Integer Public A14 As Integer Public A15 As Integer Public A16 As Integer Public A17 As Integer Public A18 As Integer Public A19 As Integer Public A20 As Integer Public A21 As Integer Public A22 As Integer Public A23 As Integer Public A24 As Integer Public A25 As Integer Public A26 As Integer Public A27 As Integer Public A28 As Integer Public A29 As Integer Public A30 As Integer Public A31 As Integer Public A32 As Integer Public A33 As Integer Public A34 As Integer Public A35 As Integer Public A36 As Integer Public A37 As Integer Public A38 As Integer Public A39 As Integer Public A40 As Integer Public A41 As Integer Public SigDurati onPts As Double Public FileName As String Public DurationNumber As Integer Public DurNum As Double Public ResultsSlitA0 As Double Public ResultsSlitA1 As Double Public ResultsSlitA2 As Double Public ResultsSlitA3 As Double Public ResultsSlitA4 As Double Public ResultsSlitA5 As Double Public ResultsSlitA6 As Double Public ResultsSlitA7 As Double Public ResultsSlitA8 As Double Public ResultsSlitA9 As Double Public ResultsSlitA10 As Double Public ResultsSlitA11 As Double Public ResultsSlitA12 As Double Public ResultsSlitA13 As Double Public ResultsSlitA14 As Double Public ResultsSlitA15 As Double Public ResultsSlitA16 As Double Public ResultsSlitA17 As Double Public ResultsSlitA18 As Double Public ResultsSlitA19 As Double

PAGE 253

242 Appendix A (Continued) Public ResultsSlitA20 As Double Public ResultsSlitA21 As Double Public ResultsSlitA22 As Double Public ResultsSlitA23 As Double Public ResultsSlitA24 As Double Public ResultsSlitA25 As Double Public ResultsSlitA26 As Double Public ResultsSlitA27 As Double Public ResultsSlitA28 As Double Public ResultsSlitA29 As Double Public ResultsSlitA30 As Double Public ResultsSlitA31 As Double Public ResultsSlitA32 As Double Public ResultsSlitA33 As Double Public ResultsSlitA34 As Double Public ResultsSlitA35 As Double Public ResultsSlitA36 As Double Public ResultsSlitA37 As Double Public ResultsSlitA38 As Double Public ResultsSlitA39 As Double Public ResultsSlitA40 As Double Public ResultsSlitA41 As Double Public ResultsSplitA0 As Double Public ResultsSplitA1 As Double Public ResultsSplitA2 As Double Public ResultsSplitA3 As Double Public ResultsSplitA4 As Double Public ResultsSplitA5 As Double Public ResultsSplitA6 As Double Public ResultsSplitA7 As Double Public ResultsSplitA8 As Double Public ResultsSplitA9 As Double Public ResultsSplitA10 As Double Public ResultsSplitA11 As Double Public ResultsSplitA12 As Double Public ResultsSplitA13 As Double Public ResultsSplitA14 As Double Public ResultsSplitA15 As Double Public ResultsSplitA16 As Double Public ResultsSplitA17 As Double Public ResultsSplitA18 As Double Public ResultsSplitA19 As Double Public ResultsSplitA20 As Double Public ResultsSplitA21 As Double Public ResultsSplitA22 As Double Public ResultsSplitA23 As Double Public ResultsSplitA24 As Double Public ResultsSplitA25 As Double Public ResultsSplitA26 As Double Public ResultsSplitA27 As Double Public ResultsSplitA28 As Double Public ResultsSplitA29 As Double Public ResultsSplitA30 As Double Public ResultsSplitA31 As Double

PAGE 254

243 Appendix A (Continued) Public ResultsSplitA32 As Double Public ResultsSplitA33 As Double Public ResultsSplitA34 As Double Public ResultsSplitA35 As Double Public ResultsSplitA36 As Double Public ResultsSplitA37 As Double Public ResultsSplitA38 As Double Public ResultsSplitA39 As Double Public ResultsSplitA40 As Double Public ResultsSplitA41 As Double Public Threshold As Integer Public Condition As String Public Attn As Single Public Frequency As Integer Public Decision As Integer Public i As Long Public J As Integer Public K As Integer Public NumReversals As Integer Public Lastlevel As Integer Public rcheck As Integer Public NumReversal As Integer Public ExitFlag As Integer Public mclick As Integer Public RandNum As Integer Public RandArray(16) As Integer Public RandCtr As Integer Public RandNumString As String Public Marker1Name(4) As String Public Marker2Name(4) As String Public Srate As Integer Public StanBlock As Integer Public SigBlock As Integer Public Slope As Integer Public Junk As Long Sub delay(secs!) Dim Start! Start! = Timer While (Timer < (Start! + secs!)) DoEvents Wend End Sub Function GetRandom(range%) Randomize GetRandom = Int((range%) Rnd) + 1 End Function

PAGE 255

244 Appendix B: Measurements of Formant Fre quencies of Naturally Produced “split” and “slit” Time (second) F1 (Hz) F2 (Hz) F3 (Hz) “split” transition 0.4382 First glottal pulse 0.4493 333 821 2581 0.4593 340 808 2461 0.4693 340 789 2561 0.4787 340 770 2524 0.4887 371 846 2385 0.5087 479 1201 2429 Steady State 0.5715 510 1631 2486 Time (second) F1 (Hz) F2 (Hz) F3 (Hz) “slit” transition 0.3399 291 784 2745 0.3499 318 818 2258 0.3599 326 844 3099 Steady State 0.4751 525 1622 2477

PAGE 256

245 Appendix C: Synthetic paramete rs of vocalic syllables /lI/, intermediate /plI/, and /plI/ (1) Synthesis specification for file: /lI/ SenSyn Laboratory Speech Synthesizer, Version 1.1 Maximum output signal is -7.1 dB (overload if greater than 0.0 dB) Total number of waveform samples = 2500 CURRENT CONFIGURATION: 60 parameters SYM V/C MIN VAL MAX DESCRIPTION ---------------------------------------------DU C 30 250 5000 Duration of the utterance, in msec UI C 1 5 20 Update interval for parameter reset, in msec SR C 5000 10000 20000 Output sampling rate, in samples/sec NF C 1 5 6 Number of formants in cascade branch SS C 1 2 3 Source switch (1=impulse, 2=natural, 3=LF model) RS C 1 8 8191 Random seed (initial value of random # generator) SB C 0 1 1 Same noise burst, reset RS if AF=AH=0, 0=no,1=yes CP C 0 0 1 0=Cascade, 1=Parallel tract excitation by AV OS C 0 0 20 Output selector (0=normal,1=voicing source,...) GV C 0 60 80 Overall gain scale factor for AV, in dB GH C 0 60 80 Overall gain scale factor for AH, in dB GF C 0 60 80 Overall gain scale factor for AF, in dB F0 V 0 1000 5000 Fundamental frequency, in tenths of a Hz AV V 0 60 80 Amplitude of voicing, in dB OQ v 10 50 99 Open quotient (voicing open-time/period), in % SQ v 100 200 500 Speed quotient (rise/fall time, LF model), in % TL v 0 0 41 Extra tilt of voicing spectrum, dB down @ 3 kHz FL v 0 0 100 Flutter (random fluct in f0), in % of maximum DI v 0 0 100 Diplophonia (alt periods closer), in % of max AH v 0 0 80 Amplitude of aspiration, in dB AF v 0 0 80 Amplitude of frication, in dB F1 V 180 500 1300 Frequency of 1st formant, in Hz B1 V 30 60 1000 Bandwidth of 1st formant, in Hz DF1 v 0 0 100 Change in F1 during open portion of period, in Hz DB1 v 0 0 400 Change in B1 during open portion of period, in Hz F2 V 550 1500 3000 Frequency of 2nd formant, in Hz B2 V 40 90 1000 Bandwidth of 2nd formant, in Hz F3 V 1200 2500 4800 Frequency of 3rd formant, in Hz B3 V 60 150 1000 Bandwidth of 3rd formant, in Hz F4 v 2400 3250 4990 Frequency of 4th formant, in Hz B4 v 100 200 1000 Bandwidth of 4th formant, in Hz F5 v 3000 3700 4990 Frequency of 5th formant, in Hz B5 v 100 200 1500 Bandwidth of 5th formant, in Hz F6 v 3000 4990 4990 Frequency of 6th formant, in Hz (applies if NF=6) B6 v 100 500 4000 Bandwidth of 6th formant, in Hz (applies if NF=6) FNP v 180 500 2000 Frequency of nasal pole, in Hz BNP v 40 90 1000 Bandwidth of nasal pole, in Hz FNZ v 180 500 2000 Frequency of nasal zero, in Hz BNZ v 40 90 1000 Bandwidth of nasal zero, in Hz FTP v 300 2150 3000 Frequency of tracheal pole, in Hz BTP v 40 180 1000 Bandwidth of tracheal pole, in Hz FTZ v 300 2150 3000 Frequency of tracheal zero, in Hz BTZ v 40 180 2000 Bandwidth of tracheal zero, in Hz

PAGE 257

246 Appendix C (Continued) A2F v 0 0 80 Amp of fric-excited parallel 2nd formant, in dB A3F v 0 0 80 Amp of fric-excited parallel 3rd formant, in dB A4F v 0 0 80 Amp of fric-excited parallel 4th formant, in dB A5F v 0 0 80 Amp of fric-excited parallel 5th formant, in dB A6F v 0 0 80 Amp of fric-excited parallel 6th formant, in dB AB v 0 0 80 Amp of fric-excited parallel bypass path, in dB B2F v 40 250 1000 Bw of fric-excited parallel 2nd formant, in Hz B3F v 60 300 1000 Bw of fric-excited parallel 3rd formant, in Hz B4F v 100 320 1000 Bw of fric-excited parallel 4th formant, in Hz B5F v 100 360 1500 Bw of fric-excited parallel 5th formant, in Hz B6F v 100 1500 4000 Bw of fric-excited parallel 6th formant, in Hz ANV v 0 0 80 Amp of voice-excited parallel nasal form., in dB A1V v 0 60 80 Amp of voice-excited parallel 1st formant, in dB A2V v 0 60 80 Amp of voice-excited parallel 2nd formant, in dB A3V v 0 60 80 Amp of voice-excited parallel 3rd formant, in dB A4V v 0 60 80 Amp of voice-excited parallel 4th formant, in dB ATV v 0 0 80 Amp of voice-excited par tracheal formant, in dB Varied Parameters: time F0 AV F1 B1 F2 B2 F3 B3 0 1200 50 310 300 1620 150 2680 220 5 1200 51 310 290 1620 145 2680 224 10 1200 52 310 280 1620 140 2680 228 15 1200 54 310 270 1620 135 2680 232 20 1200 55 310 260 1620 130 2680 236 25 1200 56 310 250 1620 125 2680 240 30 1200 58 310 240 1620 120 2680 244 35 1200 59 310 230 1620 115 2680 248 40 1200 60 310 220 1620 110 2680 252 45 1200 60 310 210 1620 105 2680 256 50 1200 60 310 200 1620 100 2680 260 55 1200 60 310 162 1620 100 2680 264 60 1200 60 310 125 1620 100 2680 268 65 1200 60 310 87 1620 100 2680 272 70 1200 60 310 50 1620 100 2680 276 75 1200 60 310 50 1620 100 2680 280 80 1200 60 310 50 1620 100 2680 264 85 1200 60 336 50 1654 100 2680 248 90 1200 60 363 50 1689 100 2680 233 95 1200 60 390 50 1723 100 2680 217 100 1200 60 400 50 1758 100 2680 202 105 1200 60 400 50 1792 100 2680 186 110 1200 60 400 50 1827 100 2680 171 115 1200 60 400 50 1862 100 2680 155 120 1200 60 400 50 1896 100 2680 140 125 1200 60 400 50 1931 100 2680 140 130 1200 60 400 50 1965 100 2680 140 135 1200 60 400 50 2000 100 2680 140 140 1200 60 400 50 2034 100 2680 140 145 1200 60 400 50 2034 100 2680 140 150 1200 60 400 50 2034 100 2680 140 155 1200 60 400 50 2034 100 2680 140 160 1200 60 400 50 2034 100 2680 140

PAGE 258

247 Appendix C (Continued) 165 1200 60 400 50 2034 100 2680 140 170 1200 60 400 50 2034 100 2680 140 175 1200 60 400 50 2034 100 2680 140 180 1200 60 400 50 2034 100 2680 140 185 1200 60 400 50 2034 100 2680 140 190 1200 55 400 50 2034 100 2680 140 195 1200 50 400 50 2034 100 2680 140 200 1200 45 400 50 2034 100 2680 140 205 1200 40 400 50 2034 100 2680 140 210 1200 35 400 50 2034 100 2680 140 215 1200 30 400 50 2000 100 2680 140 220 1200 25 391 50 1967 100 2680 140 225 1200 20 383 50 1933 100 2680 140 230 1200 15 375 50 1900 100 2680 140 235 1200 10 366 50 1866 100 2680 140 240 1200 5 358 50 1833 100 2680 140 245 1200 0 350 50 1800 100 2680 140

PAGE 259

248 Appendix C (Continued) (2) Synthesis specification for file: Intermediate /plI/ SenSyn Laboratory Speech Synthesizer, Version 1.1 Maximum output signal is -7.1 dB (overload if greater than 0.0 dB) Total number of waveform samples = 2500 CURRENT CONFIGURATION: 60 parameters SYM V/C MIN VAL MAX DESCRIPTION ---------------------------------------------DU C 30 250 5000 Duration of the utterance, in msec UI C 1 5 20 Update interval for parameter reset, in msec SR C 5000 10000 20000 Output sampling rate, in samples/sec NF C 1 5 6 Number of formants in cascade branch SS C 1 2 3 Source switch (1=impulse, 2=natural, 3=LF model) RS C 1 8 8191 Random seed (initial value of random # generator) SB C 0 1 1 Same noise burst, reset RS if AF=AH=0, 0=no,1=yes CP C 0 0 1 0=Cascade, 1=Parallel tract excitation by AV OS C 0 0 20 Output selector (0=normal,1=voicing source,...) GV C 0 60 80 Overall gain scale factor for AV, in dB GH C 0 60 80 Overall gain scale factor for AH, in dB GF C 0 60 80 Overall gain scale factor for AF, in dB F0 V 0 1000 5000 Fundamental frequency, in tenths of a Hz AV V 0 60 80 Amplitude of voicing, in dB OQ v 10 50 99 Open quotient (voicing open-time/period), in % SQ v 100 200 500 Speed quotient (rise/fall time, LF model), in % TL v 0 0 41 Extra tilt of voicing spectrum, dB down @ 3 kHz FL v 0 0 100 Flutter (random fluct in f0), in % of maximum DI v 0 0 100 Diplophonia (alt periods closer), in % of max AH v 0 0 80 Amplitude of aspiration, in dB AF v 0 0 80 Amplitude of frication, in dB F1 V 180 500 1300 Frequency of 1st formant, in Hz B1 V 30 60 1000 Bandwidth of 1st formant, in Hz DF1 v 0 0 100 Change in F1 during open portion of period, in Hz DB1 v 0 0 400 Change in B1 during open portion of period, in Hz F2 V 550 1500 3000 Frequency of 2nd formant, in Hz B2 V 40 90 1000 Bandwidth of 2nd formant, in Hz F3 V 1200 2500 4800 Frequency of 3rd formant, in Hz B3 V 60 150 1000 Bandwidth of 3rd formant, in Hz F4 v 2400 3250 4990 Frequency of 4th formant, in Hz B4 v 100 200 1000 Bandwidth of 4th formant, in Hz F5 v 3000 3700 4990 Frequency of 5th formant, in Hz B5 v 100 200 1500 Bandwidth of 5th formant, in Hz F6 v 3000 4990 4990 Frequency of 6th formant, in Hz (applies if NF=6) B6 v 100 500 4000 Bandwidth of 6th formant, in Hz (applies if NF=6) FNP v 180 500 2000 Frequency of nasal pole, in Hz BNP v 40 90 1000 Bandwidth of nasal pole, in Hz FNZ v 180 500 2000 Frequency of nasal zero, in Hz BNZ v 40 90 1000 Bandwidth of nasal zero, in Hz FTP v 300 2150 3000 Frequency of tracheal pole, in Hz BTP v 40 180 1000 Bandwidth of tracheal pole, in Hz FTZ v 300 2150 3000 Frequency of tracheal zero, in Hz BTZ v 40 180 2000 Bandwidth of tracheal zero, in Hz A2F v 0 0 80 Amp of fric-excited parallel 2nd formant, in dB

PAGE 260

249 Appendix C (Continued) A3F v 0 0 80 Amp of fric-excited parallel 3rd formant, in dB A4F v 0 0 80 Amp of fric-excited parallel 4th formant, in dB A5F v 0 0 80 Amp of fric-excited parallel 5th formant, in dB A6F v 0 0 80 Amp of fric-excited parallel 6th formant, in dB AB v 0 0 80 Amp of fric-excited parallel bypass path, in dB B2F v 40 250 1000 Bw of fric-excited parallel 2nd formant, in Hz B3F v 60 300 1000 Bw of fric-excited parallel 3rd formant, in Hz B4F v 100 320 1000 Bw of fric-excited parallel 4th formant, in Hz B5F v 100 360 1500 Bw of fric-excited parallel 5th formant, in Hz B6F v 100 1500 4000 Bw of fric-excited parallel 6th formant, in Hz ANV v 0 0 80 Amp of voice-excited parallel nasal form., in dB A1V v 0 60 80 Amp of voice-excited parallel 1st formant, in dB A2V v 0 60 80 Amp of voice-excited parallel 2nd formant, in dB A3V v 0 60 80 Amp of voice-excited parallel 3rd formant, in dB A4V v 0 60 80 Amp of voice-excited parallel 4th formant, in dB ATV v 0 0 80 Amp of voice-excited par tracheal formant, in dB Varied Parameters: time F0 AV F1 B1 F2 B2 F3 B3 0 1200 50 285 300 1310 150 2480 220 5 1200 51 287 290 1341 145 2500 224 10 1200 52 290 280 1372 140 2520 228 15 1200 54 292 270 1403 135 2540 232 20 1200 55 295 260 1434 130 2560 236 25 1200 56 297 250 1465 125 2580 240 30 1200 58 300 240 1496 120 2600 244 35 1200 59 303 230 1527 115 2620 248 40 1200 60 305 220 1558 110 2640 252 45 1200 60 308 210 1589 105 2660 256 50 1200 60 310 200 1620 100 2680 260 55 1200 60 310 162 1620 100 2680 264 60 1200 60 310 125 1620 100 2680 268 65 1200 60 310 87 1620 100 2680 272 70 1200 60 310 50 1620 100 2680 276 75 1200 60 310 50 1620 100 2680 280 80 1200 60 310 50 1620 100 2680 264 85 1200 60 336 50 1654 100 2680 248 90 1200 60 363 50 1689 100 2680 233 95 1200 60 390 50 1723 100 2680 217 100 1200 60 400 50 1758 100 2680 202 105 1200 60 400 50 1792 100 2680 186 110 1200 60 400 50 1827 100 2680 171 115 1200 60 400 50 1862 100 2680 155 120 1200 60 400 50 1896 100 2680 140 125 1200 60 400 50 1931 100 2680 140 130 1200 60 400 50 1965 100 2680 140 135 1200 60 400 50 2000 100 2680 140 140 1200 60 400 50 2034 100 2680 140 145 1200 60 400 50 2034 100 2680 140 150 1200 60 400 50 2034 100 2680 140 155 1200 60 400 50 2034 100 2680 140 160 1200 60 400 50 2034 100 2680 140 165 1200 60 400 50 2034 100 2680 140

PAGE 261

250 Appendix C (Continued) 170 1200 60 400 50 2034 100 2680 140 175 1200 60 400 50 2034 100 2680 140 180 1200 60 400 50 2034 100 2680 140 185 1200 60 400 50 2034 100 2680 140 190 1200 55 400 50 2034 100 2680 140 195 1200 50 400 50 2034 100 2680 140 200 1200 45 400 50 2034 100 2680 140 205 1200 40 400 50 2034 100 2680 140 210 1200 35 400 50 2034 100 2680 140 215 1200 30 400 50 2000 100 2680 140 220 1200 25 391 50 1967 100 2680 140 225 1200 20 383 50 1933 100 2680 140 230 1200 15 375 50 1900 100 2680 140 235 1200 10 366 50 1866 100 2680 140 240 1200 5 358 50 1833 100 2680 140 245 1200 0 350 50 1800 100 2680 140

PAGE 262

251 Appendix C (Continued) (3) Synthesis specification for file: /plI/ SenSyn Laboratory Speech Synthesizer, Version 1.1 Maximum output signal is -7.1 dB (overload if greater than 0.0 dB) Total number of waveform samples = 2500 CURRENT CONFIGURATION: 60 parameters SYM V/C MIN VAL MAX DESCRIPTION ---------------------------------------------DU C 30 250 5000 Duration of the utterance, in msec UI C 1 5 20 Update interval for parameter reset, in msec SR C 5000 10000 20000 Output sampling rate, in samples/sec NF C 1 5 6 Number of formants in cascade branch SS C 1 2 3 Source switch (1=impulse, 2=natural, 3=LF model) RS C 1 8 8191 Random seed (initial value of random # generator) SB C 0 1 1 Same noise burst, reset RS if AF=AH=0, 0=no,1=yes CP C 0 0 1 0=Cascade, 1=Parallel tract excitation by AV OS C 0 0 20 Output selector (0=normal,1=voicing source,...) GV C 0 60 80 Overall gain scale factor for AV, in dB GH C 0 60 80 Overall gain scale factor for AH, in dB GF C 0 60 80 Overall gain scale factor for AF, in dB F0 V 0 1000 5000 Fundamental frequency, in tenths of a Hz AV V 0 60 80 Amplitude of voicing, in dB OQ v 10 50 99 Open quotient (voicing open-time/period), in % SQ v 100 200 500 Speed quotient (rise/fall time, LF model), in % TL v 0 0 41 Extra tilt of voicing spectrum, dB down @ 3 kHz FL v 0 0 100 Flutter (random fluct in f0), in % of maximum DI v 0 0 100 Diplophonia (alt periods closer), in % of max AH v 0 0 80 Amplitude of aspiration, in dB AF v 0 0 80 Amplitude of frication, in dB F1 V 180 500 1300 Frequency of 1st formant, in Hz B1 V 30 60 1000 Bandwidth of 1st formant, in Hz DF1 v 0 0 100 Change in F1 during open portion of period, in Hz DB1 v 0 0 400 Change in B1 during open portion of period, in Hz F2 V 550 1500 3000 Frequency of 2nd formant, in Hz B2 V 40 90 1000 Bandwidth of 2nd formant, in Hz F3 V 1200 2500 4800 Frequency of 3rd formant, in Hz B3 V 60 150 1000 Bandwidth of 3rd formant, in Hz F4 v 2400 3250 4990 Frequency of 4th formant, in Hz B4 v 100 200 1000 Bandwidth of 4th formant, in Hz F5 v 3000 3700 4990 Frequency of 5th formant, in Hz B5 v 100 200 1500 Bandwidth of 5th formant, in Hz F6 v 3000 4990 4990 Frequency of 6th formant, in Hz (applies if NF=6) B6 v 100 500 4000 Bandwidth of 6th formant, in Hz (applies if NF=6) FNP v 180 500 2000 Frequency of nasal pole, in Hz BNP v 40 90 1000 Bandwidth of nasal pole, in Hz FNZ v 180 500 2000 Frequency of nasal zero, in Hz BNZ v 40 90 1000 Bandwidth of nasal zero, in Hz FTP v 300 2150 3000 Frequency of tracheal pole, in Hz BTP v 40 180 1000 Bandwidth of tracheal pole, in Hz FTZ v 300 2150 3000 Frequency of tracheal zero, in Hz BTZ v 40 180 2000 Bandwidth of tracheal zero, in Hz

PAGE 263

252 Appendix C (Continued) A2F v 0 0 80 Amp of fric-excited parallel 2nd formant, in dB A3F v 0 0 80 Amp of fric-excited parallel 3rd formant, in dB A4F v 0 0 80 Amp of fric-excited parallel 4th formant, in dB A5F v 0 0 80 Amp of fric-excited parallel 5th formant, in dB A6F v 0 0 80 Amp of fric-excited parallel 6th formant, in dB AB v 0 0 80 Amp of fric-excited parallel bypass path, in dB B2F v 40 250 1000 Bw of fric-excited parallel 2nd formant, in Hz B3F v 60 300 1000 Bw of fric-excited parallel 3rd formant, in Hz B4F v 100 320 1000 Bw of fric-excited parallel 4th formant, in Hz B5F v 100 360 1500 Bw of fric-excited parallel 5th formant, in Hz B6F v 100 1500 4000 Bw of fric-excited parallel 6th formant, in Hz ANV v 0 0 80 Amp of voice-excited parallel nasal form., in dB A1V v 0 60 80 Amp of voice-excited parallel 1st formant, in dB A2V v 0 60 80 Amp of voice-excited parallel 2nd formant, in dB A3V v 0 60 80 Amp of voice-excited parallel 3rd formant, in dB A4V v 0 60 80 Amp of voice-excited parallel 4th formant, in dB ATV v 0 0 80 Amp of voice-excited par tracheal formant, in dB Varied Parameters: time F0 AV F1 B1 F2 B2 F3 B3 0 1200 50 260 300 1000 150 2280 220 5 1200 51 265 290 1006 145 2320 224 10 1200 52 270 280 1013 140 2360 228 15 1200 54 275 270 1020 135 2400 232 20 1200 55 280 260 1027 130 2440 236 25 1200 56 285 250 1034 125 2480 240 30 1200 58 290 240 1040 120 2520 244 35 1200 59 295 230 1180 115 2560 248 40 1200 60 300 220 1320 110 2600 252 45 1200 60 305 210 1460 105 2640 256 50 1200 60 310 200 1620 100 2680 260 55 1200 60 310 162 1620 100 2680 264 60 1200 60 310 125 1620 100 2680 268 65 1200 60 310 87 1620 100 2680 272 70 1200 60 310 50 1620 100 2680 276 75 1200 60 310 50 1620 100 2680 280 80 1200 60 310 50 1620 100 2680 264 85 1200 60 336 50 1654 100 2680 248 90 1200 60 363 50 1689 100 2680 233 95 1200 60 390 50 1723 100 2680 217 100 1200 60 400 50 1758 100 2680 202 105 1200 60 400 50 1792 100 2680 186 110 1200 60 400 50 1827 100 2680 171 115 1200 60 400 50 1862 100 2680 155 120 1200 60 400 50 1896 100 2680 140 125 1200 60 400 50 1931 100 2680 140 130 1200 60 400 50 1965 100 2680 140 135 1200 60 400 50 2000 100 2680 140 140 1200 60 400 50 2034 100 2680 140 145 1200 60 400 50 2034 100 2680 140 150 1200 60 400 50 2034 100 2680 140 155 1200 60 400 50 2034 100 2680 140 160 1200 60 400 50 2034 100 2680 140

PAGE 264

253 Appendix C (Continued) 165 1200 60 400 50 2034 100 2680 140 170 1200 60 400 50 2034 100 2680 140 175 1200 60 400 50 2034 100 2680 140 180 1200 60 400 50 2034 100 2680 140 185 1200 60 400 50 2034 100 2680 140 190 1200 55 400 50 2034 100 2680 140 195 1200 50 400 50 2034 100 2680 140 200 1200 45 400 50 2034 100 2680 140 205 1200 40 400 50 2034 100 2680 140 210 1200 35 400 50 2034 100 2680 140 215 1200 30 400 50 2000 100 2680 140 220 1200 25 391 50 1967 100 2680 140 225 1200 20 383 50 1933 100 2680 140 230 1200 15 375 50 1900 100 2680 140 235 1200 10 366 50 1866 100 2680 140 240 1200 5 358 50 1833 100 2680 140 245 1200 0 350 50 1800 100 2680 140

PAGE 265

254 Appendix D: Individual Detection Threshol ds (dB SPL) for Experiments 1(a) – (d) Participant 1(a) 1(b) 1(c) 1(d) Gaussian Noise Speech-like Composite Tone Sweep Transition YNH001 5.42 16.90 5.93 24.24 YNH002 -2.08 17.60 3.77 19.03 YNH003 2.30 19.22 9.27 27.44 YNH004 2.91 17.88 5.89 20.30 YNH005 9.49 22.41 15.64 25.45 YNH006 3.63 16.81 4.88 25.29 YNH008 -4.60 9.79 2.39 23.78 YNH009 3.59 15.92 12.09 21.79 YNH010 1.04 16.13 4.32 24.60 YNH011 8.62 18.23 12.43 18.15 YNH012 -2.25 16.29 5.69 25.61 ONH001 7.13 23.91 8.47 26.91 ONH003 12.51 25.56 18.33 24.46 ONH004 3.57 15.44 3.76 18.59 ONH005 11.21 18.88 12.55 25.23 ONH006 6.91 23.07 15.28 24.47 ONH007 14.44 22.73 15.16 25.89 ONH008 3.48 17.42 4.41 27.80 ONH010 11.76 23.90 15.30 27.40 OIH001 40.60 34.60 36.24 34.53 OIH002 19.74 34.55 24.04 34.66 OIH003 11.77 19.43 15.00 23.13 OIH004 12.17 19.86 14.43 23.38 OIH005 16.89 19.23 17.32 24.42 OIH007 30.22 32.32 32.57 33.06 OIH008 16.38 23.93 19.11 24.53 OIH009 11.81 18.73 13.79 20.34 OIH010 33.96 33.59 34.91 41.60 OIH011 22.90 25.30 23.80 30.70 OIH012 27.74 33.30 34.90 34.80

PAGE 266

255 Appendix E: Individual Disc rimination Thresholds (dB SPL) for Experiments 2(a) and (b) Participant 2(a) 2(b) /plI/ /lI/ “split” “slit” YNH001 25.02 27.44 YNH002 21.94 22.97 YNH003 25.29 31.64 YNH004 21.58 22.97 YNH005 30.02 29.34 YNH006 24.77 30.81 YNH008 18.48 24.93 YNH009 21.82 28.39 YNH010 19.78 25.12 YNH011 30.81 38.68 YNH012 22.76 14.07 ONH001 28.30 41.80 ONH003 32.20 35.80 ONH004 23.80 37.90 ONH005 28.50 45.20 ONH006 27.60 35.30 ONH007 32.18 44.03 ONH008 23.53 31.76 ONH010 34.17 41.10 OIH001 60.44 67.55 OIH002 39.74 48.98 OIH003 35.44 50.21 OIH004 35.04 42.68 OIH005 40.59 62.13 OIH007 56.60 65.50 OIH008 36.58 49.30 OIH009 26.71 43.34 OIH010 55.08 67.78 OIH011 39.99 56.10 OIH012 52.36 59.56

PAGE 267

256 Appendix F: Individual Mi nimum Detectable Glide Onset Frequency (MDGli) for Experiment 3 (Frequency Resolution Task) Participant MDGli (Hz) YNH001 41.00 YNH002 25.40 YNH003 44.90 YNH004 27.20 YNH005 43.10 YNH006 25.80 YNH008 37.60 YNH009 29.60 YNH010 25.70 YNH011 26.10 YNH012 27.60 ONH001 32.10 ONH003 46.00 ONH004 34.70 ONH005 32.40 ONH006 31.00 ONH007 31.60 ONH008 36.80 ONH010 54.90 OIH001 46.60 OIH002 41.61 OIH003 34.83 OIH004 35.18 OIH005 56.74 OIH007 43.40 OIH008 38.86 OIH009 26.69 OIH010 34.54 OIH011 34.88 OIH012 38.52

PAGE 268

257 Appendix G: Individual Gap Detection Th resholds for Experiments 4(a) and (b) (Temporal Resolution Tasks) Participant 4(a) 4(b) GDTNN (ms) GDTNC (ms) YNH001 2.95 49.20 YNH002 2.75 24.44 YNH003 2.78 19.57 YNH004 2.96 58.42 YNH005 3.37 71.61 YNH006 2.76 96.00 YNH008 3.73 56.88 YNH009 4.00 89.43 YNH010 2.96 24.81 YNH011 2.20 51.37 YNH012 4.77 16.50 ONH001 3.80 33.62 ONH003 2.99 88.57 ONH004 3.60 48.14 ONH005 2.87 135.82 ONH006 3.49 144.76 ONH007 2.83 56.27 ONH008 3.59 120.91 ONH010 4.33 158.43 OIH001 4.98 110.96 OIH002 2.80 69.92 OIH003 3.10 92.37 OIH004 3.05 39.74 OIH005 4.96 137.49 OIH007 4.75 195.69 OIH008 2.47 98.38 OIH009 3.81 50.32 OIH010 3.35 106.52 OIH011 4.38 87.38 OIH012 4.16 192.01

PAGE 269

258 Appendix H: Individual Data fo r Experiment 5 (“slit – sp lit” Identification Task) Participant Slope 50% Point (ms) Trading Relationship Flat – Rising (ms) Flat Intermediate Rising Flat Intermediate Rising YNH001 0.10 0.15 0.11 70.01 53.00 39.93 30.08 YNH002 0.07 0.07 0.10 82.23 68.04 42.90 39.33 YNH003 0.11 0.19 0.16 73.01 61.00 53.00 20.01 YNH004 0.10 0.11 0.10 81.05 72.01 49.96 31.09 YNH005 0.08 0.11 0.10 76.08 64.00 53.98 22.10 YNH006 0.05 0.06 0.07 82.36 62.93 65.00 17.36 YNH008 0.10 0.09 0.13 59.99 49.94 54.00 5.99 YNH009 0.05 0.04 0.03 56.30 58.10 44.47 11.83 YNH010 0.09 0.14 0.14 87.12 59.00 37.98 49.14 YNH011 0.09 0.17 0.10 56.98 51.00 46.93 10.04 YNH012 0.12 0.12 0.05 63.00 50.99 36.99 26.01 ONH001 0.19 0.14 0.12 61.00 59.00 61.00 0.00 ONH003 0.17 0.24 0.14 70.00 60.99 48.00 22.00 ONH004 0.18 0.14 0.14 54.00 46.00 40.99 13.01 ONH005 0.22 0.28 0.11 42.99 43.98 33.91 9.09 ONH006 0.19 0.19 0.08 58.00 51.00 26.12 31.89 ONH007 0.15 0.17 0.10 53.00 55.00 45.95 7.04 ONH008 0.16 0.16 0.12 68.00 55.00 47.99 20.01 ONH010 0.13 0.12 0.09 57.00 50.99 41.88 15.12 OIH001 0.12 0.19 0.14 64.00 55.00 61.00 3.00 OIH002 0.06 0.10 0.06 68.08 53.98 51.62 16.46 OIH003 0.14 0.15 0.38 67.00 56.00 56.12 10.88 OIH004 0.15 0.16 0.12 71.00 59.00 50.99 20.01 OIH005 0.14 0.25 0.15 61.00 45.00 52.00 9.00 OIH007 0.12 0.08 0.21 61.00 55.94 58.01 2.99 OIH008 0.09 0.12 0.08 64.00 51.99 41.76 22.24 OIH009 0.20 0.15 0.11 54.00 44.00 51.98 2.01 OIH010 0.11 0.09 0.14 55.99 52.96 49.00 7.00 OIH011 0.15 0.16 0.19 61.00 52.00 47.00 14.00 OIH012 0.08 0.08 0.07 70.05 43.77 39.40 30.65

PAGE 270

About the Author Mei-Wa Tam Szeto was born in Hong K ong. She graduated Summa cum laude with a Bachelor’s of Arts Degree in Co mmunication Sciences and Disorders in 1998 from the University of South Florida (USF) where she also recei ved her Master of Science Degree in Audiology in 2001. For the past seven years, she has been employed as a clinical Audiologist by the Otolaryngology Department at USF.


xml version 1.0 encoding UTF-8 standalone no
record xmlns http:www.loc.govMARC21slim xmlns:xsi http:www.w3.org2001XMLSchema-instance xsi:schemaLocation http:www.loc.govstandardsmarcxmlschemaMARC21slim.xsd
leader nam Ka
controlfield tag 001 002006498
003 fts
005 20090611120249.0
006 m||||e|||d||||||||
007 cr mnu|||uuuuu
008 090611s2008 flu s 000 0 eng d
datafield ind1 8 ind2 024
subfield code a E14-SFE0002732
035
(OCoLC)388028488
040
FHM
c FHM
049
FHMM
090
RC423 (Online)
1 100
Szeto, Mei-Wa Tam.
0 245
Effects of age and hearing loss on perception of dynamic speech cues
h [electronic resource] /
by Mei-Wa Tam Szeto.
260
[Tampa, Fla] :
b University of South Florida,
2008.
500
Title from PDF of title page.
Document formatted into pages; contains 258 pages.
Includes vita.
502
Dissertation (Ph.D.)--University of South Florida, 2008.
504
Includes bibliographical references.
516
Text (Electronic dissertation) in PDF format.
520
ABSTRACT: Older listeners, both with and without hearing loss, often complain of difficulty understanding conversational speech. One reason for such difficulty may be a decreased ability to process the rapid changes in intensity, frequency, or temporal information that serve to differentiate speech sounds. Two important cues for the identification of stop consonants are the duration of the interruption of airflow (i.e., closure duration) and rapid spectral changes following the release of closure. Many researchers have shown that age and hearing loss affect a listener's cue weighting strategies and trading relationship between spectral and temporal cues. The study of trading relationships between speech cues enables researchers to investigate how much various listeners rely on different speech cues. Different cue weighting strategies and trading relationships have been demonstrated for individuals with hearing loss, compared to listeners with normal hearing.These differences have been attributed to the decreased ability of the individuals with hearing loss to process spectral information. While it is established that processing of temporal information deteriorates with age, it is not known whether the speech processing difficulties of older listeners are due solely to the effects of hearing loss or to separate age-related effects as well. The present study addresses this question by comparing the performance on a series of psychoacoustic and speech identification tasks of three groups of listeners (young with normal-hearing, older with normal-hearing, and older with impaired hearing) using synthetic word pairs ("slit" and "split"), in which spectral and temporal cues are altered systematically.Results of the present study suggest different cue weighting strategies and trading relationships for all three groups of listeners, with older listeners with hearing loss showing the least effect of spectral cue changes and young listeners with normal hearing showing the greatest effect of spectral cue changes. Results are consistent with previous studies showing that older listeners with and without hearing loss seem to weight spectral information less heavily than young listeners with normal hearing. Each listener group showed a different pattern of cue weighting strategies when spectral and temporal cues varied.
538
Mode of access: World Wide Web.
System requirements: World Wide Web browser and PDF reader.
590
Co-advisor: Catherine L. Rogers, Ph.D.
Co-advisor: Jennifer J. Lister, Ph.D.
653
Speech perception
Temporal cue
Spectral cue
Sensorineural hearing loss
Presbycusis
690
Dissertations, Academic
z USF
x Communication Sciences and Disorders
Doctoral.
773
t USF Electronic Theses and Dissertations.
4 856
u http://digital.lib.usf.edu/?e14.2732