二、 微软语音应用程序开发包SDK 1.1
在2004年,微软发行了 Microsoft Speech Server,还有一个免费的SDK允许你开发基于Web的运行于Speech Server上的语音程序。可以使用SDK来构建电话或只发声的应用程序-其中的计算机对用户的交互是使用电话来实现的。同时你还可以构建多模态应用程序,其中由用户选择使用语音还是传统型Web控件作为输入。
微软TTS引擎通过把单词拆分成音素来合成文本。音素是人类语言的基本单位。它们代表一组"音",正是由它们构成单词的声音。然后由该TTS引擎分析提取的音素并且把它们转换成符号用来生成数字音频语音。
你可以使用随同本文的可下载的示例应用程序(ExploringTextToSpeech.csproj)来试验微软TTS引擎可配置的方面。该多模态应用程序包含一个Web页面(见图2),你可以在其中输入一些文本。然后,可以点击一个按钮来以下面方式听取文本。
作者注:在要被播放的文本无法提前知道的情况下,使用一TTS引擎是不可避免的;然而,你可以由录制音频来得到更好的音质。当音频质量是关键的时,你可以使用微软语音应用程序软件开发工具箱(SASDK)来录制音频。例如,你可能想使用录制的音频来提示用户信息。被记录的音频可以被分解成一系列的提示,它们在运行时刻再被连接起来。
· Speak Text Normally-提供一种测试基准
· Say as an Acronym-文本"ASP"被发作"A.S.P."
· Say as Name-Mr.John Doe被发作"Mister John Doe"
· Say As Date-在这种情况中,日期格式化为:月,日,年
· Say as Web Address-在这种情况中,文本格式化为一个统一资源标识符(URI)
· Say as Digits-作为文本输入的数字被发作一系列的位
· High Pitch/Slow Rate-文本以高音调慢速发出。
· Rate Fast/Volume Loud-文本以快速高音发出。
· Low Pitch/Volume Soft-文本以低音调适中音量发出。

图2.示例应用程序-你可以使用这个程序来听一下以多种方式说出的文本。
该多模态应用程序使用一提示控件来指定将被播放给用户的音频。该提示控件包含InlineContent属性——它可以包含一个或者是Content型或者是Value型的基本Speech控件。该Content控件指定一特定的包含存储的音频记录的提示文件。该Value控件指定一个HTML Web页面中的元素。该示例应用程序使用一Value控件——它参考一个名为txtText的输入元素(在图2中的"Type some text here:"域)。下面是描述了用于一个提示的标注的HTML:
<speech:prompt id="prmText" runat="server">
<InlineContent>
<speech:Value runat="server"
TargetElement="txtText"
TargetAttribute="value">
</speech:Value>
</InlineContent>
</speech:prompt>
