当前位置: 首页 > news >正文

无锡手机网站制作费用seo关键词排名优化怎么样

无锡手机网站制作费用,seo关键词排名优化怎么样,互动营销名词解释,做家教什么网站系统:window7 软件:vc6.0 目的:简易文字转语音真人发声 利用2023国庆小长假,研究如何将文言转语音,之前在网上查询相关知识,大致了解微信语音转换,翻译官之类软件的原理,但要加入神…

系统:window7

软件:vc6.0

目的:简易文字转语音真人发声

      利用2023国庆小长假,研究如何将文言转语音,之前在网上查询相关知识,大致了解微信语音转换,翻译官之类软件的原理,但要加入神经思维和训练模型,太繁琐了,猛然发现原来微软win7及以上版本自带的语音合成引擎,可以直接拿来用,不需要额外的dll文件,太棒了,参考帖子如下:

1.C++ 简单的语音合成(TTS,即文字转语音)类_vs2002 c++ 配置 tts-CSDN博客;

但这里头的代码不能直接拿来用,例如.cpp的nullptr需要改为NULL;.cpp内头文件需要包含#include "stdafx.h" 
#include "TTS.h"

2.如何使用Microsoft Speech SDK开发包-百度经验

TTS类中,包含以下文件,

#include "sapi.h"
#include "sphelper.h"
#pragma comment(lib, "sapi.lib")

来源于SDK51,所以要按文章分享的内容,将这三个SpeechSDK51.exe 、 msttss22L.exe、SpeechSDK51LangPack.exe下载下来,先单独解压到独立的3个文件夹,然后在固定位置,例如D:\SDK按顺序执行安装这3个exe到相同位置即可,实际上msttss22L.exe个人并没有安装,只是安装SpeechSDK51.exe 和SpeechSDK51LangPack.exe。并在vc6中做好设置,如下图。

3.整个TTS类内,最核心有用的函数就是Speak,

bool TTS::Speak(std::wstring word)
{
    StopVoice();
    if (InitVoice())
    {
        HRESULT ret = m_pSpVoice->Speak(word.c_str(), SPF_ASYNC, NULL);
        return ret;
    }
    else
    {
        return false;
    }

}

但这个wstring类型的参量,在vc6还真不容易调用。本人做的是基于对话框MFC的小程序开发,通用的字符串处理类CString版本比较老,无法直接转std::wstring类型,因为没有GetString()这个函数,为此,参考了如下帖子:

(1)char*转wstring-CSDN博客

但是,这个写法只有new  没有delete,存在内存泄漏问题,虽然可以解决CString转wstring出现的警告和错误,但实际运行语音播报是无效的,改造后的函数如下,各位可以看看并想想啥原因

const wchar_t* TTS::CharToWchar(const char* ch)
{
    const size_t len = strlen(ch) + 1;
    wchar_t* wch = new wchar_t[len];//存在泄漏
    mbstowcs(wch, ch, len);
    return wch;
}

bool TTS::Speak(CString strCString)
{
    StopVoice();
    if (InitVoice())
    {
        
        const char* strStl=0;     
        strStl=strCString.GetBuffer(0);
        strCString.ReleaseBuffer();
        const wchar_t* word= CharToWchar(strStl);
        HRESULT ret = m_pSpVoice->Speak(word, SPF_ASYNC, NULL);

        return ret;
    }
    else
    {
        return false;
    }

}
以下为设置断点跟踪,发现word并没有得到“欢迎”的传值

(2)





const char*转换成wstring类型-CSDN博客

错误:wstring 是const short*类型,不是const char*,此法失败

(3)Cstring转LPWSTR/LPCWSTR..BSTR、LPSTR、LPWSTR、CString、VARIANT、COleVariant 、_variant_t、CComBSTR、_bstr_t ._cstring 转 lpwstr-CSDN博客字符串转换,涉及Unicode和非Unicode转换,因为vc6.0是基于非Unicode的,从帖子的代码得到灵感和解决办法:CString str=_T("TestStr"); 
USES_CONVERSION; //关于USES_CONVERSION宏-CSDN博客
LPCWSTR pwcStr = A2CW((LPCSTR)str); 

      如此,将类型传值载入wstring参数,问题完美解决, 注意这个宏最好用于局部函数内,不能用于重复多次的调用,如递归、定时器内,否则容易导致程序崩溃。

http://www.yayakq.cn/news/369160/

相关文章:

  • aaaa景区网站建设标准汕头网站建设sagevis
  • 公司开发网站建设价格快速建站哪里好
  • 自己制作网站该怎么做网站建设怎样把网页连接起来
  • php网站开发有什么优点昆明昌盛网络技术有限公司
  • 网站分类目录源码沧州头条最新新闻
  • 冷水江网站厦门市建设与管理局 官方网站
  • 自学网站网站建设流程方案
  • 软件工网站开发课程设计报告wordpress文章外部链接
  • wordpress模板 户外钓鱼类网站简历免费模板
  • 深圳西乡网站建设公司wordpress home
  • 自己可以进行网站建设吗WordPress没有必要缓存插件
  • 罗湖中心区做网站带dede后台的整套网站源码 数据库连接不上
  • 中国免费网站申请可以货代从哪些网站开发客户
  • 青岛海川建设集团有限公司网站重庆项目信息网
  • 从化移动网站建设英文商城网站建设
  • 响应式网站的设计尺寸网站基本设置
  • app网站开发哪里有2023年ppt模板免费
  • 甘肃建网站静安广州网站建设
  • 商城网站策划wordpress指定上传目录
  • 互联网公司网站建设ppt模板下载俄罗斯网站建设
  • 自适应式网站模板免费网站正能量入口下载
  • 做外贸需要用到什么网站中国10大品牌装修公司
  • php做网站登陆验证wordpress500
  • 百度网站开发商城推广方案
  • 制作一个在线收费网站网站备案失效
  • 如何做软件类型的网站公明网站制作
  • 建设积分网站网站建设推广优化岗位说明书
  • 网站开发系统学习网站建设策划表
  • 网站自己做公司简介模板免费ppt下载
  • 济南怎么做网站中国建筑管网