Welcome 微信登录

首页 / 网页编程 / ASP.NET / 在ASP.NET程序中实现语音合成

在ASP.NET程序中实现语音合成2011-01-02 天极 朱先忠你可能已经注意到,如今语音合成越来越普遍。成百上午的电动玩具和小器具都能够以机器的声音向它们的主人讲话。不管它是一个讲话的婴儿玩偶,一个会谈话的计步器或是一新的自动电话系统,现在几乎每天都会有一种使用文本来发音的产品发行。

文本-到-语音(TTS)技术,也称为语音合成,是把输入的文本转换成音频语音的过程。这种方式会优于预先录制好的文本-它必须对要说的内容提前了解。而使用TTS,却有可能加入动态的信息,该动态的信息可以来自于一个数据库;或是用户不断重复的话。

一、TTS试验

如果你看到或听说过实际的TTS,那么你可能想下载一个免费版本的ReadPlease 2003。该产品能够读取Windows剪贴板中的文本。要使用它,你只需要简单地把一些文本粘贴到ReadPlease编辑器中(见图1)-并且假定你的PC扬声器打开了,那么你会听到文本的播放。当前,该产品仅能工作在所有的Windows桌面OS版本中,但是他们还计划发行针对Mac,Unix,Palm和Windows CE系统的版本。

ReadPlease令人感兴趣的地方在于,你可以使用ReadPlease编辑器来试验你的TTS参数选择。例如,你可以通过上下移动如图1所示的Speed滑动块控件来调整发音速度。你还可以通过点击在小脸图标下方的箭头按钮来改变所用的语音。

图1.ReadPlease 2003应用程序:这个Windows应用程序可能读任何从剪贴板中粘贴到编辑字段中的文本。

你需要什么呢?Visual Studio.NET 2003,微软语音应用程序SDK 1.1

点击"Tools"菜单,然后选择"Options"允许你进一步用该TTS编辑器进行试验,例如,你可以调整在段落之间的语音引擎的暂停时间长度。升级到ReadPlease Plus版本将可以使你存取另外的一个发音编辑器选项,它让你指定怎样读一个特别的词。ReadPlease Plus还包括一个你可以停靠在你的Windows桌面顶部的任务条。因此,你可以快速地从任何基于文件的应用程序拖动文本到任务栏上并让它读给你听。

缺省状态下,该ReadPlease应用程序使用内置的微软语音(Mark,Mike,Sam或Marilyn)。但是,你可以选择性地购买更高质量的AT&T Natural Voices,例如在AT&T Natural Voices Starter Pack中提供的语音。该Starter包包括8K版本的"Mike"和"Crystal",它们二者听起来都优于缺省的微软声音。

作者注: 术语8K意味着,该抽样频率用于创建发生在每秒8000位的WAV文件。另外一种格式是16k,它可以产生一种更清晰和更为自然的听觉效果。基本上,样本率越高,声音质量好越。