首页   新闻  文摘   行业   产品  技术  厂商  标准  BBS  导航  搜索
呼叫中心 | CRM | 统一通信 | 企业通信 | VoIP | 视像通讯 | 语音应用 | 热点专题
首页>>>技术>>>语音应用>>>语音合成(TTS)  语音合成产品

基于MSTTS的网络通信应用开发

武汉大学电信学院(430072) 杨宗长 2003/08/04

  VOIP(Voice over IP,俗称IP电话)是建立在IP技术上的分组化、数字化传输技术,其基本原理是:通过语音压缩算法对话音进行压缩编码处理,然后把这些语音数据按IP等相关协议进行打包,经过IP网络把数据包传输到目的地,再把这些语音数据包串起来,经过解码解压处理后,恢复成原来的语音信号,从而达到由IP网络传送话音的目的。虽然经过几年的快速发展.然而由于种种原因,VOIP离成熟的应用还有一段不小的距离;实际上,人们在网络通信的内容还是文本为主,正如:IOCQ等.

一、MSTTS(Microsoft Text TO Speech,文本朗读)网络通信设计

  MSTTS 是基于COM(Component Object Model,组件对象模型) 规范的文本朗读技术;简单地说,它能将文本直接朗读出来.因此应用MSTTS技术 ,我们可以开发出具有语音功能的网络通信,

  本文的基本设计思路: 通信方,将通话文本信息通过网络传输到对方;对方接收到信息后,显示信息并同时通过MSTTS 播放出来。


二、MSTTS 应用程序开发.

  MSTTS基于COM 规范的文本朗读技术;COM是基于二进制标准一种软件组件通信技术,它主要的目标是为了管理日益复杂的应用程序和实现代码重用.在使用COM组件对象时,一般地使用两种方式:

  A.通过CoCreateInstance() 或CoCreateInstanceEx()实例化对象;然后调用Addref()引用 计数,使用完后,再调用Release()释放对象

  B..另外一种更简便的方法就是使用智能指针(smart pointer)。

  所有的智能指针都是基于_com_ptr_t 的模块类,_ com_ptr_t 它封装IUnknow QureyInterface ,Addref() 和 Release() 方法;它具有自动计数的机制:即在构造对象时,自动计数;在析构对象时,自动调用Release().通过 #import 指令可以入服务组件到应用程序中,并生成智能指针定义.

1.MTTS 组件的应用编程

导入MSTTS 组件

#import "C:\Winnt\Speech\VText.DLL" no_namespace // MSTTS 的安装目录

CoInitialize(NULL); //COM 初始化

ITextToSpeechPtr pSkPtr(_uuidof(TextToSpeech)); /MSTTS智能指针

ITextToSpeech *pTxtSph=pSkPtr.GetInterfacePtr();;

pTxtSph->AddRef();

1>.朗读

char buf[]=”Hello, the word!”; //文本信息

pTxtSph->Speak(buf); //朗读

2>.暂停

pTextSph->Pause();

3>.继续

pTxtSph->Resume();

4>.停止

pTxtSph->Stop();


2.网络通信应用编程

<1> 套接字

  它是网络的基本构件,是网络应用程序接口。它具有可以被命名和寻址的通信端点,使用中的每一个套接字都有其类型和一个与之相连听进程。WINDOWS SOCKET 版本支持两种套接字:流套接字(SOCK_STREAM)和数据报套接字(SOCK_DGRAM) .

<2>、WINDOWS SOCKETS 实现

  WINDOWS SOCKETS 实现是指实现了WINDOWS SOCKETS规范所描述的全部功能的一套软件。在VC++6.0 开发平台中它提供了专门的阻塞形式的CSocket 类() 和异步形式的CAsyncSocket 类,封装实现了Windows Sockets 功能..

<3>网络数据报通信的编程实现

A. 创建建套接字

CasyncSocket m_Sock;

M_Sock.Create(6000,SOCK_DGRAM);// 数据报套接字,端口6000

B. 发送文本信息

char textbuf[]=”Hello,good day!”

m_Sock.SendTo(textbuf,//发送的数据

sizeof(buf),//数据的大小

,6000,//对方的端口

“127.0.0.1”,//对方的主机名或IP 地址

0);

C. 接收文本信息

char revbuf[50];//接收缓存区

CString strHost;//保存发送方IP地址的字符串

unsigned int port;//发送方端口

int len=m_Sock.ReceiveFrom(revbuf,50,strHost,port); //接收信息

pTxtSph->Speak(revbuf); //朗读接收到的文本信息

3.程序示例

<1>用户界面(如下图)


<2>通信演示(单机的自发自收)


计算机世界网(www.ccw.com.cn)

发表评论


  ·Polycom 极致高清视频会议体验活动---免费获赠万元奖品
  ·“呼动中国”:东进技术多媒体呼叫中心招募增值渠道合作伙伴

  ·招聘:商路通 怡海软件 正音科技 上海宝东 东进通讯 亿迅(中国)

  ·《2008中国呼叫中心产业发展研究报告》正式出版 2008-8-25  
  ·最新资料:《企业呼叫中心建设指南》 《企业通信案例及方案大全》
  ·免费索取:《多媒体交换机资料》   技术前沿资料:《IP、无线和视频方案》


  ·TTS在线演示:InterPhonic 5.5系统
  ·IP分布式呼叫中心在各行业应用
  ·鼎晟DS-iTouch联络中心

            


企业会员
易宝通讯 三汇软件 陕西公众信产公司
拓敏信息 卓大兴业 正音科技
加入办法 ->





CTI论坛推荐
·鼎晟DS-iTouch联络中心
·新太科技企业呼叫中心解决方案
·上海维卡推出VN系列电话语音卡
·CTstage 5i客户联络中心-适用大规模分散网点
·三友亚星:上海红孩子电话营销和客服系统
·什么是IP分布式呼叫中心
·语音合成:InterPhonic 5.5在线演示系统
·东进技术:Seegoe Enterprise/Office呼叫中心
   
相关链接
CTI论坛周刊 融合通信专栏
行业案例汇编 免费发布新闻
管理员俱乐部 服务与营销论坛

热 点 专 栏
|业界新闻|论坛文摘|行业应用|产品展示|技术天地|厂商汇总|免责声明|咨询服务|公司简介|联系方法|广告服务|企业会员|

编辑投稿信箱      如何查找厂商联系方法

电话:010-82012787,82079677   传真:010-62041062
呼叫中心建设及运营管理咨询服务:优胜资讯(010)87768798 87768726